小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 当前 Bug 的表现(可附上截图)
有些苹果机型无法唤醒授权弹窗 点击登录按钮无效
有两个都使用了iPhone7P的用户 一个微信版本为7.0.4点击授权按钮无反应,无法唤醒,另一个微信版本为7.0.3可以正常唤醒弹窗并授权
我在其他的帖子中看到有的开发者提出了同样的问题 但没有一个解决方案 官方能否提供一下可能出现错误的原因或解决方案。
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
1.先确认button的绑定事件有没有生效,没有生效的情况下,问题有几点导致:
a.页面代码错误,这个时候就要仔细阅读官方文档,或者查看官方demo
b.页面绑定的方法内部逻辑是否出错,可以仔细用控制台和debuger检查
c.在一个小程序内如果有很多个button 获取用户信息的组件,也会出现点击无响应的bug,目前不清楚是什么原因,如果有人发 现,请在评论下方留言
2.在确认button的绑定事件生效的情况下,那就要查看在向服务器端传递参数时有没有遗漏,或者编码错误。在服务端确认已经接=收到加密的微信用户后。
3.服务端接收到加密的微信用户信息后,用微信小程序提供的SDK进行解密(SDK小程序官网自行下载,用详细接入文档)。解密完成后获得可以用来保存到数据库的数组,检查字段和表字段的格式是否一致,字符长度等等;
4.在保存的数据库的过程,有一个比较隐秘的问题,插一句->我这里是mysql数据库。微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情。一开始我以为纯文本格式完整保存微信用户昵称(emoji表情),看了很多文章才发现,文本和表情的编码不一样:
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
I've had this problem recently
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
登录逻辑是这样的 我会根据后台返回的用户状态来决定是否展示授权弹窗
代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)这个类型的代码片段
https://developers.weixin.qq.com/s/1rbOs7mQ7r9l
我这边测试是没任何问题的 但就是会偶现这种问题
这两天我们小程序也偶尔出现,用户反馈不弹出授权框,回调函数也没有回调记录
<form bindsubmit="loginPageSendFormId"
report-submit="true">
<button class="font-16 bold text-align login-page__btn"
open-type="getUserInfo"
catch:getuserinfo="globalLoginGetUserInfo"
form-type="submit">
立即体验
</button>
</form>
/**
* 获取用户 授权
* @param e
*/
globalLoginGetUserInfo({detail}) {
let self = this;
showToast('loading', '正在授权');
// 没有查到ok
if (detail.errMsg.search(/ok/ig) === -1) {
showToast('error', '授权失败');
// 失败
console.log('授权失败');
threadErrLog.add('userLogin', detail);
self.userLogin();
return;
}
console.log('授权成功,但不意味着登陆成功哦!', detail);
// 发给后端解码,换取id,以后每次请求需要带着id
self.getUserInfoFromDB(detail);
},
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
1.先确认button的绑定事件有没有生效,没有生效的情况下,问题有几点导致:
a.页面代码错误,这个时候就要仔细阅读官方文档,或者查看官方demo
b.页面绑定的方法内部逻辑是否出错,可以仔细用控制台和debuger检查
c.在一个小程序内如果有很多个button 获取用户信息的组件,也会出现点击无响应的bug,目前不清楚是什么原因,如果有人发 现,请在评论下方留言
2.在确认button的绑定事件生效的情况下,那就要查看在向服务器端传递参数时有没有遗漏,或者编码错误。在服务端确认已经接=收到加密的微信用户后。
3.服务端接收到加密的微信用户信息后,用微信小程序提供的SDK进行解密(SDK小程序官网自行下载,用详细接入文档)。解密完成后获得可以用来保存到数据库的数组,检查字段和表字段的格式是否一致,字符长度等等;
4.在保存的数据库的过程,有一个比较隐秘的问题,插一句->我这里是mysql数据库。微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情。一开始我以为纯文本格式完整保存微信用户昵称(emoji表情),看了很多文章才发现,文本和表情的编码不一样:
I've had this problem recently
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
登录逻辑是这样的 我会根据后台返回的用户状态来决定是否展示授权弹窗
代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)这个类型的代码片段
https://developers.weixin.qq.com/s/1rbOs7mQ7r9l
我这边测试是没任何问题的 但就是会偶现这种问题
这两天我们小程序也偶尔出现,用户反馈不弹出授权框,回调函数也没有回调记录
<form bindsubmit="loginPageSendFormId"
report-submit="true">
<button class="font-16 bold text-align login-page__btn"
open-type="getUserInfo"
catch:getuserinfo="globalLoginGetUserInfo"
form-type="submit">
立即体验
</button>
</form>
/**
* 获取用户 授权
* @param e
*/
globalLoginGetUserInfo({detail}) {
let self = this;
showToast('loading', '正在授权');
// 没有查到ok
if (detail.errMsg.search(/ok/ig) === -1) {
showToast('error', '授权失败');
// 失败
console.log('授权失败');
threadErrLog.add('userLogin', detail);
self.userLogin();
return;
}
console.log('授权成功,但不意味着登陆成功哦!', detail);
// 发给后端解码,换取id,以后每次请求需要带着id
self.getUserInfoFromDB(detail);
},