uni.login({
provider: 'univerify',
univerifyStyle,
success: async (res) => {
// 登录成功
console.log(res);
let { errMsg, authResult } = res;
if (errMsg.includes('fail')) {
// uni.showModal({
// title: '提示',
// content: '一键登录失败,请重试',
// showCancel: false,
// });
uni.$u.toast('登录失败请重试');
uni.closeAuthView();
return;
} else {
let res = await getPhoneNumber({
authResult: {
appid: this.appid,
...authResult
},
address: this.address
});
console.log(res);
if (res) {
this.$refreshUserInfo();
}
}
},
fail: (res) => {
// 登录失败
console.log(res.errCode);
console.log(res.errMsg);
uni.hideLoading();
switch (res.errCode) {
case 30001:
uni.showToast({
title: '请打开流量重试',
icon: 'none',
mask: true
});
break;
case 30002:
uni.closeAuthView();
this.$nav('/pages/login/login-code');
break;
case 30003:
this.$preLogin();
break;
default:
uni.showToast({
title: '登录失败请重试',
icon: 'none',
mask: true
});
uni.closeAuthView();
}
},
}); - 发布:2023-03-29 10:04
- 更新:2023-04-25 10:31
- 阅读:723
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 13.2
HBuilderX类型: 正式
HBuilderX版本号: 3.7.9
手机系统: iOS
手机系统版本号: iOS 16
手机厂商: 苹果
手机机型: 12 pro max
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
调用uni.login出现报错
调用uni.login出现报错
预期结果:
正常一键登录
正常一键登录
实际结果:
login:fail 当前应用AppId尚未开通uni一键登录,开通指南:https://ask.dcloud.net.cn/article/37965,https://ask.dcloud.net.cn/article/282
login:fail 当前应用AppId尚未开通uni一键登录,开通指南:https://ask.dcloud.net.cn/article/37965,https://ask.dcloud.net.cn/article/282
bug描述:
已经开通一键登录,开发者后台显示状态正常
但是使用uni.login方法登录,提示未开通一键登录
在解决之前重新打了很多次自定义基座, 该试的都试了其实都没能解决
问题起因是我更换了keystore证书
所以sha1,md5, sha256都变了以后就删除了一键登录配置重新申请
通过审核后发现调用一直失败
看了论坛上的一些回复尝试把appId更换了新的, 再次重新提交了申请
新的appId审核通过后, 开始报此appId未开通一键登录
但我确认后台新的appId是已经通过审核的了
所以这个时候就猜测uni这边读取的一件登录配置是最开始的配置
然后后来进了官方的一键认证官方问题解决群 官方的人员帮忙查询了下也印证了这个问题
就一直是读取的旧的appId配置
最后我这边什么也没修改就好了 应该是官方人员在后台帮我同步了新的appId配置到应用上, 就解决了
再遇到这些问题建的话议先找dcloud的官方微信群
以上是这次问题的过程 希望能给后来的兄弟们提供一些参考
帅的邪门儿 (作者)
重新打包过,我现在是一个正常版,一个老年版,两个项目,两个appid,都开通了一键登录,但是用的是一个原生的安装包,在内部用plus的install方法安装了wgt资源包进行版本切换。原生安装包中是否有appid相关的东西,这种操作可行吗?
2023-03-29 10:53
DCloud_云服务_moyang
回复 帅的邪门儿: 打包时会将开发者中心appid对应的【一键登录应用ID】打到包里,请求一键登录时会有相关校验
2023-03-29 11:21
帅的邪门儿 (作者)
回复 DCloud_云服务_moyang: 那我上面说这种办法,两个版本的资源包,公用一个原生安装包,是不可以的,对吧
2023-03-29 11:29
DCloud_云服务_moyang
回复 帅的邪门儿: 不行,实际打包的还是一个appid
2023-03-29 14:06
奥利奥饼干
回复 DCloud_云服务_moyang: 一样的问题, 我是换了证书更新了应用信息 然后把一键登录的应用删了重新提交审核的然后一直不能用, 又把appId换了 重新提交审核 然后报appId未开通了 这个要怎么排查啊 大佬
2023-04-24 13:47
DCloud_云服务_moyang
回复 i***@126.com: 私发appid
2023-04-24 13:57