mymps微信登录用户名自动获取用户名及头像

mymps蚂蚁分类信息5.8微信登录系统会自动随机分配一个wx_前缀的用户名,用户体验非常差。
下面我们来看一下怎么解决这个BUG先看下通过access_token、openid获取用户信息有哪些参数:
爱动手的小伙伴操练起来,侧边栏目有专为土豪和懒癌准备的收费附件下载。
mymps蚂蚁分类信息微信登录用户名自动获取用户名及头像-源码社区
那么我们看到返回的有用户昵称、头像,那么问题就来了,干嘛不直接使用用户的昵称呢。
打开/include/wxlogin/wx_callback.php这里是微信的返回地址
我们看38行

$json_obj = get_wxuser();
$access_token = $json_obj['access_token'];
$openid = $json_obj['openid'];
$json_obj_more = get_wxuser_more();
$prelogo = $json_obj_more['headimgurl'];
$logo = $prelogo;


我们看这里是获取用户信息赋值,但是没有用户昵称,我们可以加一行

$nickname = $json_obj_more['nickname'];

再看76行

$userid = 'wx_'.$timestamp.rand(0,100);

这里是微信自动生成wx_前缀用户名,我们把$nickname赋值给$userid。但是我们要考虑一个问题,如果用户的昵称与现在用户库的重名,那么就会登录失败。这就要先做个查询如果没有这个用户就直接赋值,如果有就自动生成一个用户。代码如下:

if($db->getOne("SELECT COUNT(id) FROM `{$db_mymps}member` WHERE userid = '$nickname'")< 1) {
$userid =$nickname;
}else{
$userid = 'wx_'.$timestamp.rand(0,100);
}

不会修改的直接下载修改好的包:https://www.xuanjingsi.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值