jianboy 1 year ago
parent
commit
3a72f72d06
1 changed files with 97 additions and 2 deletions
  1. 97 2
      app/main.js

+ 97 - 2
app/main.js

@@ -1,11 +1,106 @@
 import Vue from 'nativescript-vue'
 import App from './components/App'
+
 import * as Sqlite from 'nativescript-sqlite';
+import RadListView from 'nativescript-ui-listview/vue';
+
+let initDb = function (db) {
+  db.execSQL('create table answer_sheet(' +
+      ' `sheetName` text, `questionaireId` int, ' +
+      ' `status` int, `startTime` int, `endTime` int, ' +
+      ' `locationLong` NUMERIC, `locationLat` NUMERIC, ' +
+      ' `answerJson` text,  `dataUploaded` int, ' +
+      ' `hasAudio` int, `audioUploaded` int, ' +
+      ' `userName` text)', function (error) {
+          if (error) {
+              console.error('create table answer_sheet failed', error);
+          } else {
+              console.log('create table answer_sheet success')
+          }
+      });
+  db.execSQL('create table questionaire (`questionaireId` int, `version` int, `status` int, `contentJson` text )',
+      function (error) {
+          if (error) {
+              console.error('create table questionaire failed', error);
+          } else {
+              console.log('create table questionaire success')
+          }
+      });
+
+  db.execSQL('create table version_info (`version_no` float, `description` text)', function (error) {
+      if (error) {
+          console.error('create table version_info failed', error);
+      } else {
+          console.log('create table version_info success')
+      }
+  })
+}
+
+
+let updateDb = function (db) {
 
-let initDb = function (db){
-  db.execSQL()
 }
 
+function getConnectionType() {
+  const connectivityModule = require("@nativescript/core/connectivity");
+  const myConnectionType = connectivityModule.getConnectionType();
+  switch (myConnectionType) {
+      case connectivityModule.connectionType.none:
+          // Denotes no Internet connection.
+          console.log('connection type', "No connection");
+          return 'None';
+          break;
+      case connectivityModule.connectionType.wifi:
+          // Denotes a WiFi connection.
+          console.log('connection type', "WiFi connection");
+          return 'WiFi';
+          break;
+      case connectivityModule.connectionType.mobile:
+          // Denotes a mobile connection, i.e. cellular network or WAN.
+          console.log('connection type', "Mobile connection");
+          return 'Mobile';
+          break;
+      case connectivityModule.connectionType.ethernet:
+          // Denotes a ethernet connection.
+          console.log('connection type', "Ethernet connection");
+          return 'Ethernet';
+          break;
+      case connectivityModule.connectionType.bluetooth:
+          // Denotes a bluetooth connection.
+          console.log('connection type', "Bluetooth connection");
+          return 'Bluetooth';
+          break;
+      default:
+          return 'unknown';
+          break;
+  }
+}
+
+Vue.use(RadListView);
+if (TNS_ENV !== 'production') {
+  Vue.use(VueDevtools)
+}
+// Prints Vue logs when --env.production is *NOT* set while building
+Vue.config.silent = (TNS_ENV === 'production')
+
+// Vue.prototype.$baseUrl = 'http://127.0.0.1:8080/api';
+// Vue.prototype.$baseUrl = 'http://192.168.1.4:8080/api';
+Vue.prototype.$baseUrl = 'http://api.scxbzw.com/api';
+
+console.log('audio path', knownFolders.documents().getFolder('audio').path);
+let dbname = 'my.db';
+let dbExist = Sqlite.exists(dbname);
+console.log('exist db?', Sqlite.exists(dbname));
+new Sqlite(dbname).then(database => {
+  Vue.prototype.$db = database;
+  console.log("db.isOpen()? ", database.isOpen() ? "Yes" : "No");
+  if (!dbExist) {
+      console.log('init db...');
+      initDb(database);
+  }
+
+  
+});
 new Vue({
   render: (h) => h(App),
 }).$start()