app.js
2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
const openIdUrl = require('./config').openIdUrl;
const appId = require('./config').appId;
const appsecret = require('./config').appsecret;
const xnService = require('./service/service.js');
App({
onLaunch: function () {
console.log('App Launch')
},
onShow: function () {
console.log('App Show')
},
onHide: function () {
console.log('App Hide')
},
globalData: {
memberInfo:'',
hasLogin: false,
openId: null,
unionId: null
},
setMemberInfo: function (data) {
this.globalData.memberInfo = data;
},
getMemberId: function () {
return this.globalData.memberInfo.memberId
},
setMemberId: function (value) {
this.globalData.memberInfo.memberId = value;
},
setGlobalData:function(key,value){
this.globalData[key] = value;
},
getGlobalData:function(key){
return this.globalData[key];
},
// lazy loading openid
getUserOpenId: function(callback) {
var self = this
if (self.globalData.openId) {
callback(null, { openId: self.globalData.openId, unionId: self.globalData.unionId } )
} else {
// 登录
wx.login({
success: function (res) {
let code = res.code;
// 获取用户信息
wx.getUserInfo({
withCredentials: true,
success: function (res2) {
let vm = {
appId: appId,
jsCode: encodeURIComponent(code),
encryptData: encodeURIComponent(res2.encryptedData),
iv: encodeURIComponent(res2.iv),
}
// 获取用户信息获取openId
wx.showToast({
title: '正在登录...',
icon: 'loading'
});
xnService.wechatSessionKeySave(vm, function (open) {
wx.hideToast();
if (open.result){
callback(null, { openId: open.openId, unionId:open.unionId} )
self.globalData.openId = open.openId
self.globalData.unionId = open.unionId
}else{
callback("解密失败!")
}
});
}
})
},
fail: function(err) {
console.log('wx.login 接口调用失败,将无法正常使用开放接口等服务', err)
callback(err)
}
})
}
}
})