const jsonApi = require('utils/jsonapi-datastore/dist/jsonapi-datastore.js') require('utils/polyfill.js') App({ onLaunch: function () { var that = this this.store = new(jsonApi.JsonApiDataStore) this.jsonModel = jsonApi.JsonApiDataStoreModel this.globalData.code = wx.getStorageSync('code') this.getUserInfo(function() { that.postEncryptedData(function(res){ that.globalData.wechatUserType = res.data.wechat_user_type }) }) this.request({ url: `${that.globalData.API_URL}/manage_features`, success: function(res) { that.globalData.featureManager = res.data } }) }, getUserInfo: function (cb) { var that = this if(this.globalData.userInfo){ typeof cb == "function" && cb(this.globalData.userInfo) }else{ wx.login({ success: function (res) { if (res.code) { that.globalData.code = res.code wx.setStorageSync('code', res.code) wx.getUserInfo({ success: function (res) { that.globalData.encrypted = {encryptedData: res.encryptedData, iv: res.iv} that.globalData.userInfo = res.userInfo typeof cb == "function" && cb(that.globalData.userInfo) } }) } else { console.log('获取用户登录态失败!' + res.errMsg) } } }) } }, request: function(obj) { var header = obj.header || {} if (!header['Content-Type']) { header['Content-Type'] = 'application/json' } if (!header['Authorization']) { header['Authorization'] = this.globalData.token } // This must be wx.request ! wx.request({ url: obj.url, data: obj.data || {}, method: obj.method || 'GET', header: header, success: function(res) { typeof obj.success == "function" && obj.success(res) }, fail: obj.fail || function() {}, complete: obj.complete || function() {} }) }, authRequest: function(obj) { var that = this if (!that.globalData.token) { var token = wx.getStorageSync('userToken') if (!token) { wx.hideToast() wx.showModal({ title: '未登录', content: '请前往 “我的” 页面绑定手机号', showCancel: false, success: function(res) { // 清除没用的token wx.removeStorage({key: 'userToken'}) that.globalData.token = undefined if (getCurrentPages().length > 1) { wx.navigateBack() } } }) return } that.globalData.token = token that.request({ url: `${that.globalData.API_URL}/sessions/login`, method: 'POST', data: {code: that.globalData.code}, success: function(res) { if (!res.data.token) { wx.hideToast() wx.showModal({ title: '未登录', content: '请前往 “我的” 页面绑定手机号', showCancel: false, success: function(res) { // 清除没用的token wx.removeStorage({key: 'userToken'}) that.globalData.token = undefined if (getCurrentPages().length > 1) { wx.navigateBack() } } }) } else { that.globalData.currentCustomer = res.data.customer that.globalData.token = res.data.token wx.setStorage({ key: 'userToken', data: res.data.token }) that.request(obj) } }, fail: function(res) {} }) } else { that.request(obj) } }, postEncryptedData: function (resolve) { this.request({ method: 'POST', url: `${this.globalData.API_URL}/sessions/wechat_user_type`, data: { code: this.globalData.code, encrypted: this.globalData.encrypted, userInfo: this.globalData.userInfo }, success: resolve, fail: function(res) {} }) }, globalData:{ wechatUserType: 'normal', featureManager: {}, userInfo: null, currentCustomer: null, // API_URL: 'http://localhost:3000', API_URL: 'https://rapi.bayekeji.com' } })