| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314 | 
							- // app.js
 
- let Nova = require("./utils/nova.js");
 
- const CONFIG = require("config.js");
 
- const request = require("./utils/request");
 
- const plugin = requirePlugin('fm-plugin')
 
- const { Parse } = plugin
 
- App({
 
-   onLaunch() {
 
-     // 展示本地存储能力
 
-     const logs = wx.getStorageSync('logs') || []
 
-     logs.unshift(Date.now())
 
-     wx.setStorageSync('logs', logs)
 
-     let extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}
 
-     if (extConfig && extConfig.company) {
 
-       this.globalData.company = extConfig.company
 
-       this.globalData.appid = extConfig.wxappid
 
-     }
 
-     let {
 
-       model,
 
-       platform,
 
-       statusBarHeight,
 
-       safeArea,
 
-       screenHeight
 
-     } = wx.getSystemInfoSync();
 
-     this.globalData.platform = platform;
 
-     this.globalData.statusBarHeight = statusBarHeight;
 
-     this.globalData.safeArea = safeArea;
 
-     this.globalData.screenHeight = screenHeight;
 
-     this.globalData.isIpx = model.includes("iPhone X");
 
-     let {
 
-       system
 
-     } = wx.getSystemInfoSync();
 
-     let headHeight;
 
-     if (/iphone\s{0,}x/i.test(model)) {
 
-       headHeight = 88;
 
-     } else if (system.indexOf("Android") !== -1) {
 
-       headHeight = 68;
 
-     } else {
 
-       headHeight = 64;
 
-     }
 
-     this.globalData.headerHeight = headHeight;
 
-   },
 
-   Nova: Nova,
 
-   Parse: Parse,
 
-   JIMData: {
 
-     convers: [],
 
-     messages: {},
 
-   },
 
-   globalData: {
 
-     userInfo: null,
 
-     theme: CONFIG.default.theme,
 
-     //腾讯地图的key
 
-     tencentKey: CONFIG.default.tencentKey,
 
-     // NovaCloud
 
-     ncloud: request,
 
-     // JMessage
 
-     jmessage: CONFIG.default.jmessage,
 
-     // We7
 
-     api: CONFIG.default.api,
 
-     approot: CONFIG.default.approot,
 
-     // Tabbar
 
-     defaultTabBar: CONFIG.default.defaultTabBar,
 
-     // checkAuth
 
-     appid: CONFIG.default.appid,
 
-     company: CONFIG.default.company,
 
-     rootPage: CONFIG.default.rootPage,
 
-     appType: CONFIG.default.appType,
 
-     //获取相关tabs的name
 
-     moduleTab:CONFIG.default.moduleTab,
 
-   },
 
-   checkAuth: plugin.checkAuth,
 
-   parseLogin(token){
 
-     return Parse.User.become(token).then(async currentUser => {
 
-       console.log(currentUser)
 
-       resolve(currentUser)
 
-     }).catch(err => {
 
-       wx.setStorageSync("sessionToken", null);
 
-       wx.showModal({
 
-         title: '提示',
 
-         content: '登录信息过期,请退出重新进入小程序',
 
-         showCancel: false,
 
-         cancelText: '取消',
 
-         cancelColor: '#000000',
 
-         confirmText: '确定',
 
-         confirmColor: '#3CC51F',
 
-         success: (result) => {
 
-           if (result.confirm) {
 
-             wx.exitMiniProgram()
 
-           }
 
-         },
 
-       });
 
-       rej(err)
 
-     })
 
-   },
 
-   // checkAuth: async function (force = true) {
 
-   //   return new Promise(async (resolve,rej)=>{
 
-   //     let that = this;
 
-   //     // 0.检测是否开启各页面强制登陆
 
-   //     let enabledOptions = wx.getStorageSync("enabledOptions");
 
-   //     if (force || (enabledOptions && enabledOptions["check-auth"])) {
 
-   //       let invite = wx.getStorageSync('invite')
 
-   //       let token = wx.getStorageSync('sessionToken')
 
-   //       if(!token){
 
-   //         token = await this.getParseToken()
 
-   //         let userInfo = wx.getStorageSync("userInfo");
 
-   //         that.globalData.userInfo = userInfo
 
-   //         if(!token){
 
-   //           wx.showModal({
 
-   //             title: '提示',
 
-   //             content: '获取登录信息失败,请删除小程序重新进入',
 
-   //             showCancel: true,
 
-   //             cancelText: '取消',
 
-   //             cancelColor: '#000000',
 
-   //             confirmText: '确定',
 
-   //             confirmColor: '#3CC51F',
 
-   //             success: (result) => {
 
-   //               if(result.confirm){
 
-   //                 wx.exitMiniProgram()
 
-   //               }
 
-   //             },
 
-   //           });
 
-   //           resolve(false)
 
-   //           return
 
-   //         }
 
-   //       }
 
-   //       Parse.User.become(token).then(async currentUser => {
 
-   //         console.log(currentUser)
 
-   //         if (invite && !currentUser.get('invite') && currentUser.id != invite && !currentUser.get('agentLevel')) {
 
-   //           //查询邀请人user,邀请人不能是自己的下级
 
-   //           let query = new Parse.Query("_User")
 
-   //           query.equalTo('objectId',invite)
 
-   //           query.select('invite')
 
-   //           let result = await query.first()
 
-   //           if (!(result && result.id && result.get("invite")?.id == currentUser.id)) {
 
-   //             console.log('上下级绑定成功');
 
-   //             currentUser.set('invite', {
 
-   //               __type: "Pointer",
 
-   //               className: "_User",
 
-   //               objectId: invite
 
-   //             })
 
-   //             currentUser.set('agent', {
 
-   //               __type: "Pointer",
 
-   //               className: "_User",
 
-   //               objectId: invite
 
-   //             })
 
-   //             await currentUser.save()
 
-   //           }
 
-   //         }
 
-   //         currentUser.get('mobile') ? wx.setStorageSync("userLogin", currentUser.id) : wx.removeStorageSync("userLogin");
 
-   //         resolve(currentUser)
 
-   //         return true
 
-   //       }).catch(err => {
 
-   //         wx.setStorageSync("sessionToken", null);
 
-   //         wx.showModal({
 
-   //           title: '提示',
 
-   //           content: '登录信息过期,请退出重新进入小程序',
 
-   //           showCancel: false,
 
-   //           cancelText: '取消',
 
-   //           cancelColor: '#000000',
 
-   //           confirmText: '确定',
 
-   //           confirmColor: '#3CC51F',
 
-   //           success: (result) => {
 
-   //             if(result.confirm){
 
-   //               wx.exitMiniProgram()
 
-   //             }
 
-   //           },
 
-   //         });
 
-   //         rej(err)
 
-   //       })
 
-   //     } else {
 
-   //       resolve(false) 
 
-   //     }
 
-   //   })
 
-   // },
 
-   // async getParseToken(){
 
-   //   return new Promise((resolve, reject) => {
 
-   //     wx.login({
 
-   //       success: function (res) {
 
-   //         if (res.code) {
 
-   //           let url = 'https://server.fmode.cn/api/wxapp/login'
 
-   //           wx.request({
 
-   //             url: url,
 
-   //             data: {
 
-   //               companyId: getApp().globalData.company,
 
-   //               code: res.code,
 
-   //               appType: getApp().globalData.appType ? getApp().globalData.appType : ''
 
-   //             },
 
-   //             async success(res) {
 
-   //               console.log(res);
 
-   //               let data = res.data
 
-   //               if(data.code == 200){
 
-   //                 wx.setStorageSync("sessionToken", data.data.token);
 
-   //                 wx.setStorageSync("userInfo", data.data?.userInfo);
 
-   //                 resolve(data.data.token)
 
-   //               }else{
 
-   //                 resolve()
 
-   //               }
 
-   //             },
 
-   //           });
 
-   //         }
 
-   //       },
 
-   //       fail: function (err) {
 
-   //         console.warn('小程序wx.login失败');
 
-   //         resolve()
 
-   //       }
 
-   //     });
 
-   //   })
 
-   // },
 
-   //获取全局定位信息
 
-   // async getLocationInfo(refrensh = false) {
 
-   //     let that = this;
 
-   //     let locationInfo = that.globalData.locationInfo;
 
-   //     if (locationInfo && !refrensh) {
 
-   //         return locationInfo;
 
-   //     } else {
 
-   //         let locationInfo = await util.getLocation();
 
-   //         that.globalData.locationInfo = locationInfo;
 
-   //         return locationInfo;
 
-   //     }
 
-   // },
 
-   onShow: function (options) {
 
-     this.autoUpdate()
 
-     let { referrerInfo } = options
 
-     if(referrerInfo?.extraData?.status && referrerInfo.extraData.status == 'success'){
 
-       getApp().globalData.merchant_trade_no = referrerInfo.extraData.req_extradata.merchant_trade_no
 
-     }
 
-   },
 
-   autoUpdate() {
 
-     let self = this
 
-     if (wx.canIUse('getUpdateManager')) {
 
-       const updateManager = wx.getUpdateManager()
 
-       //1. 检查小程序是否有新版本发布
 
-       updateManager.onCheckForUpdate(function (res) {
 
-         // 请求完新版本信息的回调
 
-         if (res.hasUpdate) {
 
-           wx.showModal({
 
-             title: '更新提示',
 
-             content: '检测到新版本,是否下载新版本并重启小程序?',
 
-             success: function (res) {
 
-               if (res.confirm) {
 
-                 //2. 用户确定下载更新小程序,小程序下载及更新静默进行
 
-                 self.downLoadAndUpdate(updateManager)
 
-               } else if (res.cancel) {
 
-                 //用户点击取消按钮的处理,强制更新
 
-                 wx.showModal({
 
-                   title: '温馨提示~',
 
-                   content: '本次版本更新涉及到新的功能添加,旧版本无法正常访问的哦~',
 
-                   showCancel: false,
 
-                   confirmText: "确定更新",
 
-                   success: function (res) {
 
-                     if (res.confirm) {
 
-                       //下载新版本,并重新应用
 
-                       self.downLoadAndUpdate(updateManager)
 
-                     }
 
-                   }
 
-                 })
 
-               }
 
-             }
 
-           })
 
-         }
 
-       })
 
-     } else {
 
-       wx.showModal({
 
-         title: '提示',
 
-         content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
 
-       })
 
-     }
 
-   },
 
-   /**
 
-    * 下载小程序新版本并重启应用
 
-    */
 
-   downLoadAndUpdate(updateManager) {
 
-     wx.showLoading();
 
-     //静默下载更新小程序新版本
 
-     updateManager.onUpdateReady(function () {
 
-       wx.hideLoading()
 
-       //新的版本已经下载好,调用 applyUpdate 应用新版本并重启
 
-       updateManager.applyUpdate()
 
-     })
 
-     updateManager.onUpdateFailed(function () {
 
-       // 新的版本下载失败
 
-       wx.showModal({
 
-         title: '已经有新版本了哟~',
 
-         content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
 
-       })
 
-     })
 
-   },
 
-   onHide: function () {
 
-     let pages = getCurrentPages()
 
-     if (pages.length > 0) {
 
-       let prevPage = pages[pages.length - 1]
 
-       if (prevPage.route === 'nova-exam/pages/live-pusher/index') {
 
-         prevPage.data.client.leave()
 
-         prevPage.stop()
 
-         prevPage.data.timer && clearInterval(prevPage.data.timer)
 
-         wx.showModal({
 
-           title: '提示',
 
-           content: '考生将应用切换至后台,请重新进入',
 
-           showCancel: false,
 
-           success: (res) => {
 
-             wx.navigateBack({
 
-               delta: 1,
 
-             })
 
-           }
 
-         });
 
-       }
 
-     }
 
-   }
 
- })
 
 
  |