人人商城小程序昵称变成了“微信用户”头像也不显示?getUserInfo换成getUserProfile

Posted 北方的刀郎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人人商城小程序昵称变成了“微信用户”头像也不显示?getUserInfo换成getUserProfile相关的知识,希望对你有一定的参考价值。

小程序调试时,突然发现获取到的用户昵称变成“微信用户”和头像也非用户微信头像了,原因是微信小程序更新了接口wx.getUserProfile之后导致的

2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与获取用户个人信息(头像、昵称、性别与地区),将直接获取匿名数据(包括userInfo与encryptedData中的用户个人信息),获取加密后的openID与unionID数据的能力不做调整。此前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。

官方文档https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801

人人商城小程序用户授权登录失败,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

其他不用动。

功能是实现了,不知道有没有其他问题。

参考

https://zhuanlan.zhihu.com/p/362032946

https://blog.csdn.net/weixin_45483107/article/details/115798042

https://blog.csdn.net/weixin_49295874/article/details/115618856?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242

3

3

版权声明:本站原创文章,允许自由转载。

以上是关于人人商城小程序昵称变成了“微信用户”头像也不显示?getUserInfo换成getUserProfile的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序获取用户信息昵称头像重新授权

小程序获取不到用户头像和昵称返回微信用户问题解决,即小程序授权获取用户头像规则调整的最新解决方案

uniapp 微信小程序授权登录getUserInfo获取不到用户的昵称和头像

记录一次微信小程序getUserProfile的踩坑经历

记录一次微信小程序getUserProfile的踩坑经历

记录一次微信小程序getUserProfile的踩坑经历