详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
微信授权调用plus.oauth.getServices 的 authorize 方法时, 用户进入到微信授权页面点击允许后,返回的{"code":-2,"message":"用户取消"}
重现步骤
用户拉起进入到微信授权页面点击允许后,返回的{"code":-2,"message":"用户取消"}
[步骤]
点击用户授权 拉起微信,点击同意,返回到APP时没用返回微信用户正确的code,而是取消的code{"code":-2,"message":"用户取消"}
[结果]
点击同意返回用户取消的code{"code":-2,"message":"用户取消"}
[期望]
应该返回用户同意授权的正确code
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX
[IDE版本号]
[windows版本号]
[mac版本号]
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
h5
[运行端版本号]
2.1.3
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX
[编译模式是老模板模式还是新的自定义组件模式?]
App运行环境说明
[Android版本号]
[iOS版本号]
[手机型号]
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
plus.oauth.getServices(
function(servies) {
let s;
if(servies.length > 0) {
for(let i = 0; i < servies.length; i++) {
if(servies[i].id == 'weixin') {
s = servies[i];
break;
}
}
// that.auths = servies;
// var s = that.auths[0];
s.authorize(
function(e) {
that.getAuth(e.code);
},
function(e) {
that.recordLog(2, e);
},
{ scope: 'snsapi_userinfo', state: '123' }
);
} else {
}
},
function(e) {
that.recordLog(1, e);
console.log('获取服务列表失败:' + JSON.stringify(e));
}
);
联系方式
[QQ]504894084
0 个回复