2017-09-04 4 views
1

Ich habe ein Problem in meinem Phonegap .apk nach dem Build auf ihrer Website, mein Problem ist axios funktioniert nicht, aber in meinem Desktop Phonegap App funktioniert es gut. Ich weiß nicht, was ist/sind die Probleme, denen ich begegnet bin, ist dies wegen meiner axios?Axios funktioniert nicht auf Android nach Phonegap Build

Technologies: Axios , VueJS , Phonegap

meine hier index.js wie folgt aussehen:

Vue.directive('focus', { 
 
    inserted: function(el) { 
 
     return el.focus(); 
 
    } 
 
}); 
 

 
var apiURL = 'http://stishs-grade-and-progress-report-monitoring-system.cf/', 
 
    tokenString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; 
 

 
var Authentication = Vue.component('sti-main', { 
 
    data() { 
 
     return { 
 
      username: '', 
 
      password: '', 
 
      error: { 
 
       flag: false, 
 
       message: '' 
 
      } 
 
     } 
 
    }, 
 
    template: ` 
 
     <main> 
 
      <form class="sti-form-auth" v-on:submit.prevent="signInProceed(username, password)"> 
 
      <div class="sti-logo"> 
 
      <img src="img/sti-logo-250.png" alt="STI Grading and Progress Report Monitoring System Logo"> 
 
      </div> 
 
      <h1 class="sti-form-title">STI Grading and Progress Report Monitoring System</h1> 
 
      <div class="sti-addon sti-form-control"> 
 
      <input type="text" class="sti-block" placeholder="Username" v-on:keydown="hideNotif" v-model.trim="username" v-focus ref="Username"> 
 
      <i class="ion ion-android-person"></i> 
 
      </div> 
 
      <div class="sti-addon sti-form-control"> 
 
      <input type="password" class="sti-block" placeholder="Password" v-on:keydown="hideNotif" v-model.trim="password" ref="Password"> 
 
      <i class="ion ion-android-lock"></i> 
 
      </div> 
 
      <div class="sti-form-control"> 
 
      <button class="sti-block sti-button-blue">Sign in</button> 
 
      </div> 
 
      </form> 
 
      <div v-show="error.flag" class="sti-error-message"> 
 
      <p class="sti-error-title"><i class="ion ion-alert-circled sti-right-5"></i>Error Found!</p> 
 
      <p>{{ error.message }}</p> 
 
      </div> 
 
      <div class="sti-footer-auth"> 
 
      <p class="sti-center">Copyright &copy; 2017 STI Grading and Progress Report Monitoring System. All Rights Reserved.</p> 
 
      </div> 
 
     </main> 
 
    `, 
 
    created: function() { 
 
     var authToken = localStorage.getItem('stishTokenAPI') 
 
     if(authToken != null && authToken.split('&')[2] == 3) { 
 
      var authData = `method=check&0=${authToken.split('&')[0]}&1=${authToken.split('&')[1]}` 
 
      return axios.post(`${apiURL}sti-api/authentication.php`, authData).then(function(response) { 
 
       var authenticated = response.data 
 
       if(authenticated.count == 1 && authenticated.type_id == 3) { 
 
        return window.location.href = './student.html' 
 
       } 
 
       return window.location.href = './index.html' 
 
      }); 
 
     } 
 
    }, 
 
    methods: { 
 
     hideNotif: function() { 
 
      return this.error.flag ? this.error.flag = false : true 
 
     }, 
 
     generateToken: function(generateToken = '') { 
 
      for(var i = 0; i < tokenString.length; i++) { 
 
       generateToken += tokenString[Math.floor(Math.random() * (tokenString.length - 1)) + 1]; 
 
      } 
 
      return generateToken; 
 
     }, 
 
     signInProceed: function(user, pass) { 
 
      var vm = this 
 
      if(user == '' || pass == '') { 
 
       var errorType = user == '' ? 'Username' : 'Password' 
 
       vm.$refs[errorType].focus() 
 
       vm.error.message = `- Missing credential. ${errorType} is required!.` 
 
       vm.error.flag = true 
 
       return 
 
      } 
 
      var authToken = vm.generateToken() 
 
      var parameter = `method=auth&username=${vm.username}&password=${vm.password}&token=${authToken}` 
 
      return axios.post(`${apiURL}sti-api/authentication.php`, parameter).then(function(response) { 
 
       var account = response.data 
 
       if(account.success && account.details.type_id == 3) { 
 
        localStorage.setItem('stishTokenAPI', `${authToken}&${account.details.account_id}&${account.details.type_id}`) 
 
        return window.location.href = './student.html' 
 
       } 
 
       vm.error.message = `- ${account.message}` 
 
       return vm.error.flag = true 
 
      }); 
 
     } 
 
    } 
 
}); 
 

 
new Vue({ 
 
    el: '#auth' 
 
});

meine hier index.html

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <meta charset="utf-8"> 
 
     <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 
 
     <title>STI Grading and Progress Report Monitoring System</title> 
 
     <link rel=stylesheet href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> 
 
     <link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,500,600"> 
 
     <link rel="stylesheet" href="css/app.css"> 
 
    </head> 
 
    <body> 
 
     <main id="auth"> 
 
      <sti-main></sti-main> 
 
     </main> 
 
     <script type="text/javascript" src="cordova.js"></script> 
 
     <script type="text/javascript" src="js/axios.min.js"></script> 
 
     <script type="text/javascript" src="js/vue.min.js"></script> 
 
     <script type="text/javascript" src="js/index.js"></script> 
 
    </body> 
 
</html>

Hier ist mein config.xml

<?xml version='1.0' encoding='utf-8'?> 
 
<widget id="com.phonegap.helloworld" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"> 
 
    <name>sti-mobile-app</name> 
 
    <description> 
 
     A blank PhoneGap app. 
 
    </description> 
 
    <author email="[email protected]" href="http://phonegap.com"> 
 
     PhoneGap Team 
 
    </author> 
 
    <content src="index.html" /> 
 
    <allow-navigation href="*" /> 
 
    <allow-intent href="*" /> 
 
    <access origin="*" /> 
 
</widget>

+0

Hallo John, für Android/PhoneGap Apps müssen Sie das Betriebssystem mitteilen, welche Domains Sie zugreifen möchten. Vielleicht ist das so? Hier ist ein Cordova-Plugin, das verwandt ist: https://www.npmjs.com/package/cordova-plugin-whitelist – exclsr

+0

@exclsr Bitte überprüfen Sie meine 'config.xml', wenn es ein Problem gibt oder wenn es einen fehlenden Teil gibt. –

+1

@exclsr Bitte geben Sie Ihren Kommentar als Antwort. Ich habe mein Problem mit Ihrem Vorschlag behoben. Es hilft sehr. –

Antwort

Verwandte Themen