人人商城小程序用戶授權登錄失敗,getUserProfile小程序登錄接口升級
怎么修改呢?
1,修改pages\auth\index.wxml
立即登錄按鈕改為
1
2
3
|
<
button
bindtap
=
"getUserProfile"
class
=
"authBtn"
lang
=
"zh_CN"
>
立即登錄
</
button
>
|
2,修改pages\auth\index.js
第62行添加代碼
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
|
getUserProfile(){
wx.getUserProfile({
desc:
'用於完善會員資料'
,
// 聲明獲取用戶個人信息后的用途,后續會展示在彈窗中,請謹慎填寫
success: (res) => {
// console.log("獲取用戶信息成功", res);
// return;
wx.showLoading({
title:
"加載中"
}), wx.login({
success:
function
(t) {
// console.log(t);
// return;
n.post(
"wxapp/login"
, {
code: t.code
},
function
(t) {
// console.log(t.openid);
// return;
t.error ? n.alert(
"獲取用戶登錄態失敗:"
+ t.message) : n.get(
"wxapp/auth"
, {
data: res.encryptedData,
iv: res.iv,
sessionKey: t.session_key,
openId:t.openid
},
function
(n) {
1 == n.isblack && wx.showModal({
title:
"無法訪問"
,
content:
"您在商城的黑名單中,無權訪問!"
,
success:
function
(n) {
n.confirm && e.close(), n.cancel && e.close();
}
}), res.userInfo.openid = n.openId, res.userInfo.id = n.id, res.userInfo.uniacid = n.uniacid,
e.setCache(
"userinfo"
, res.userInfo), e.setCache(
"userinfo_openid"
, res.userInfo.openid),
e.setCache(
"userinfo_id"
, n.id), e.getSet(), wx.navigateBack({
changed: !0
});
});
});
},
fail:
function
() {
n.alert(
"獲取用戶信息失敗!"
);
},
complete:
function
() {
wx.hideLoading();
}
});
},
fail: res => {
// console.log("獲取用戶信息失敗", res)
n.alert(
"獲取用戶信息失敗!"
);
}
})
},
|
如圖,新舊代碼對比
3,修改登錄接口文件addons\ewei_shopv2\plugin\app\core\mobile\wxapp.php
由於getUserProfile本身就是不返回openid的,需要openid用login接口
對應上面js的代碼就是
接口文件第93行加上代碼
$data['openId'] = $_GPC['openId'];
如圖