uni-app 3.3.13 云打包时微博登陆/分享首次失败第二次成功
uni-app 3.3.13 云打包时微博登陆/分享首次失败第二次成功
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | 12.2.1 | HBuilderX |
操作步骤:
- 3.3.13 云打包,ios 真机测试微博登陆和分享
预期结果:
- 3.3.13 云打包,ios 真机测试微博首次成功
实际结果:
- 3.3.13 云打包,ios 真机测试微博首次失败
bug描述:
3.3.13 云打包,微博登陆/分享第一次失败,第二次成功
第一次登陆/分享的时候,微博界面显示app应用信息没有识别到,并且回调的时候,进入 Safari 页面,没有正常拉起
https://www.huabbao.com/weibosdk/response?checkLink=https%3A%2F%2Fopen.weibo.com%2Fweibosdk&id=AAA9D41D-70D9-4436-A3D5-D5F0F0FF9D03&checkStatus=1
第二次登陆/分享的时候就正常了
视频见附件
检查你的微博开放平台的回调页配置是否正确
还有 微博的通用链接 配置是否正确
您好 这个问题解决了吗?
我也遇到相同问题了,第一拉起直接打开了safari, 访问了一个Universal links + /weibosdk/response的地址 现在唯一不懂得就是分享回调地址redirect_uri到底有什么用 又该填写什么 全网都没有找到任何有效信息
回复 1***@qq.com: 那个是微博的参数 有的业务需要指定的回调页吧
您好 这个问题解决了吗?
在使用 uni-app 3.3.13 进行云打包时,如果遇到微博登录/分享首次失败,第二次成功的情况,可能的原因包括以下几个方面:
1. 初始化问题
-
原因:微博 SDK 可能没有在应用启动时正确初始化,导致第一次调用时失败。
-
解决方案:确保在应用启动时正确初始化微博 SDK。可以在
App.vue
的onLaunch
生命周期中进行初始化。onLaunch: function() { uni.initWeiboSDK({ appKey: '你的微博AppKey', scope: 'all', redirectURI: '你的回调地址' }); }
2. 网络延迟或超时
-
原因:第一次调用时可能由于网络延迟或超时导致失败。
-
解决方案:增加重试机制,或者在调用微博登录/分享前检查网络状态。
uni.getNetworkType({ success: function (res) { if (res.networkType === 'none') { uni.showToast({ title: '网络不可用', icon: 'none' }); } else { // 调用微博登录/分享 } } });
3. SDK 缓存问题
-
原因:微博 SDK 可能在第一次调用时没有正确缓存某些信息,导致失败。
-
解决方案:在调用微博登录/分享前,尝试先调用一次 SDK 的其他方法,确保 SDK 已经正确加载。
uni.checkWeiboInstall({ success: function (res) { if (res.installed) { // 调用微博登录/分享 } else { uni.showToast({ title: '未安装微博客户端', icon: 'none' }); } } });
4. 权限问题
-
原因:第一次调用时可能由于权限问题导致失败。
-
解决方案:确保在调用微博登录/分享前,已经获取了必要的权限。
uni.authorize({ scope: 'scope.userInfo', success: function () { // 调用微博登录/分享 }, fail: function () { uni.showToast({ title: '授权失败', icon: 'none' }); } });
5. SDK 版本问题
- 原因:使用的微博 SDK 版本可能存在兼容性问题。
- 解决方案:尝试更新到最新版本的微博 SDK,或者使用 uni-app 提供的最新插件。
6. 云打包配置问题
- 原因:云打包时可能某些配置没有正确设置,导致第一次调用失败。
- 解决方案:检查云打包的配置文件,确保所有必要的配置项都已正确设置。
7. 日志分析
-
原因:具体原因可能需要通过日志分析来确定。
-
解决方案:在开发模式下启用详细日志,查看第一次调用时的错误信息,根据错误信息进行针对性解决。
uni.setEnableDebug({ enableDebug: true });