调用uni.login在小程序里可以直接返回code,在app里返回的code值是未定义,在网上搜集了一下说是使用如下方法可以获得code:plus.oauth.getServices(function(services) {
console.log(312589340656548)
console.log(services)
if (services && services.length) {
for (var i = 0, len = services.length; i < len; i++) {
if (services[i].id === 'weixin') {
weixinService = services[i];
console.log('授权对象')
console.log(weixinService)
break;
}
}
if (!weixinService) {
console.log('没有微信登录授权服务');
return;
}
// http://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.authorize
weixinService.authorize(function(event) { //此处获取code的关键
console.log(event)
console.log(event.code, '这次是真的授权后返回的code')
通过调用可以获取code值但是传到后台时执行请求报40029错误,说是已经被使用两次的原因,但是程序只请求了一次,请问uniapp APP形式的微信登录是否不支持向后台请求code的形式登录?

3***@qq.com
- 发布:2020-07-11 12:18
- 更新:2021-12-06 10:39
- 阅读:5463
uniapp APP微信登录报40029和40014错误,无法获取有效code
分类:uni-app
5 个回复
Anet
请问楼主这个问题解决了吗?
uni插件牛爱花
你好了嘛 那个方法只有安卓有效 ios 不行
5***@qq.com
怎么解决呢
1***@qq.com
试一下配置onlyAuthorize 这样才能返回code
uni.login({
provider: 'weixin',
onlyAuthorize:true,//必须配置这个才会返回code
success: function (res) {
}
})
Anet
新加的属性,以前碰到这个问题的没有这个的
2021-10-20 17:20
9***@qq.com - 哈哈哈
我也是换了appid后就一直报错误40029,最后发现是忘了上传公共模板到云端了!!