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);
}


版权声明

1、本类目资源来自互联网收集,本站不保证资源的完整性及可运行性,资源仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

2、本资源为虚拟可复制性,下单后不予退款,谢谢您的支持!

3、关于本站资源版权的免责说明(下载本站资源即表示你已经阅读)。

4、对于不当转载或引用本网站内容而引起的民事纷争、行政处理或其他损失,本网站不承担责任。

5、对不遵守本声明或其他违法、恶意使用本网站内容者,本网站保留追究其法律责任的权利。

唯一网址: http://www.ymwo.cn/17_131.html

标 签: 微信 自动 获取 头像 蚂蚁

上一篇: Mymps error: Duplicate entry ‘32767’ for key ‘PRIMARY’ 报错修复教程

下一篇: mymps蚂蚁分类信息如何配置邮箱服务器方法教程

用户评论 (0)

暂无评论

昵 称
验证码 如果您无法识别验证码,请点图片更换

嘿,我来帮您!