人人商城修改小程序授權為新版接口


人人商城小程序用戶授權登錄失敗,getUserProfile小程序登錄接口升級

怎么修改呢?

1,修改pages\auth\index.wxml

立即登錄按鈕改為

?
1
2
3
< button bindtap = "getUserProfile" class = "authBtn" lang = "zh_CN" >
立即登錄
</ button >

from clipboard

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( "獲取用戶信息失敗!" );
             }
         })
     },

如圖,新舊代碼對比
from clipboard

3,修改登錄接口文件addons\ewei_shopv2\plugin\app\core\mobile\wxapp.php

由於getUserProfile本身就是不返回openid的,需要openid用login接口

對應上面js的代碼就是

from clipboard

接口文件第93行加上代碼

$data['openId'] = $_GPC['openId'];

如圖

from clipboard


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM