authorize-comp.js
3.01 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
let app = getApp();
Component({
properties: {
// 这里定义了innerText属性,属性值可以在组件使用时指定
innerText: {
type: String,
value: 'default value',
},
// 用户拒绝授权后是否后退页面
cancelBack: {
type: Boolean,
value: false,
},
// 用户拒绝授权后描述
cancelDesc: {
type: String,
value: "同意授权才能获得更多体验哦~",
},
evttype: {
type: String,
value: '',
},
},
data: {
// 这里是一些组件内部数据
someData: {}
},
methods: {
// 这里是一个自定义方法
customMethod() {
this.triggerEvent('evtcomp', {
name: "_evt_custom"
})
},
// 隐藏蒙层
hideMask() {
this.triggerEvent('evtcomp', {
name: "_evt_hide_mask",
});
},
// 授权成功事件
authComplete() {
this.triggerEvent('evtcomp', {
name: "_evt_auth_complete",
data: {
evttype: this.properties.evttype
}
});
},
// 点击暂不授权按钮
cancelAuth(e) {
console.log("this.properties.evttype:", this.properties.evttype);
this.hideMask();
// this.triggerEvent('evtcomp', {
// name: "_evt_auth_cancel"
// });
// if (this.properties.cancelBack) {
// wx.navigateBack({
// delta: 1
// });
// }
},
// 点击确认授权按钮
bindGetUserInfo(e) {
wx.showLoading();
this.getUserInfo(e.detail);
},
// 授权操作
getUserInfo(e) {
let _this = this;
if (e.encryptedData && e.iv) {
// 同意授权
app.post({
url: app.api.register,
sid: false,
data: {
encryptedData: e.encryptedData,
iv: e.iv,
code: app.store.getItem("wxcode"),
tlMemberCode: app.globalData.tlMemberCode
}
}).then((res2) => {
wx.hideLoading();
if (res2 && res2.sessionId) {
app.store.setItem('sessionId', res2.sessionId);
}
_this.hideMask();
_this.authComplete();
_this.initPage();
}).catch((err) => {})
} else {
// 取消授权
if (_this.properties.cancelBack) {
wx.navigateBack({
delta: 1
});
} else {
if (_this.properties.cancelDesc) {
wx.showToast({
title: _this.properties.cancelDesc,
icon: "none"
})
}
}
}
},
/**
* 尝试重拉信息
*/
initPage() {
let pages = getCurrentPages();
let view = pages[pages.length - 1];
console.log("@authorize-comp view:", view);
if (view) {
try {
view.hideMask();
console.log("@authorize-comp || hideMask");
} catch (error) {}
try {
view.initData();
console.log("@authorize-comp || initData");
} catch (error) {}
}
}
}
})