uni-app 从微信浏览器中唤醒APP获取extinfo参数在ios上是加密状态 安卓无问题 已严重影响线上运行 官方未提供解决方案
uni-app 从微信浏览器中唤醒APP获取extinfo参数在ios上是加密状态 安卓无问题 已严重影响线上运行 官方未提供解决方案
项目属性 | 值 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Mac |
PC开发环境操作系统版本号 | m2 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 3.99 |
手机系统 | iOS |
手机系统版本号 | iOS 15 |
手机厂商 | 苹果 |
手机机型 | 全部 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
操作步骤:
- 正常操作
预期结果:
- 获取到的数据跟安卓一样
实际结果:
- 数据是加密状态
bug描述:
使用微信开放标签wx-open-launch-app从微信浏览器唤起app是通过extinfo传递参数,ios获取到的数据是加密的,安卓没问题,这个问题不止我一个人提,已经提了好多天了,官方看到了也假装没看到,不作为???
加密:
//platformId=wechat?_wechat_sdk_erased_paste_board_data=1&_wechat_sdk_biz_data=YnBsaXN0MDDcAQIDBAUGBwgJCgsMDQ4PDg4QERITFBUWXXJldHVybkZyb21BcHBab2JqZWN0VHlwZVZvcGVuSURfEBJtdXNpY1ZpZGVvRHVyYXRpb25fEBNtdXNpY1ZpZGVvSXNzdWVEYXRhWGxhbmd1YWdlXXdlY2hhdFZlcnNpb25WcmVzdWx0Wm1lc3NhZ2VFeHRcaXNBdXRvUmVzZW5kV2NvdW50cnlXY29tbWFuZFEwUTBfEBxveTVuejZPUmt1dnJXNW1hdXdaeURzalJCMU9rVXpoX0NOEhgAMSlRMV8QZ3BhZ2VzQi9ob21lcGFnZS9ob21lcGFnZT9pZD0xMjQwNjQmZnJvbV91c2VyX2lkPTE0MDYmc291cmNlPWFwcF91c2VyJnVzZXJfaWQ9MTI0MDY0JmNoYW5uZWw9d2VjaGF0X2NoYXQIUFQyMDQwAAgAIQAvADoAQQBWAGwAdQCDAIoAlQCiAKoAsgC0ALYA1QDbAOAA4gFMAU0BTgAAAAAAAAIBAAAAAAAAABcAAAAAAAAAAAAAAAAAAAFT&
_wechat_sdk_biz_data_len=556
更多关于uni-app 从微信浏览器中唤醒APP获取extinfo参数在ios上是加密状态 安卓无问题 已严重影响线上运行 官方未提供解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html
相同问题:另见https://ask.dcloud.net.cn/question/190840
更多关于uni-app 从微信浏览器中唤醒APP获取extinfo参数在ios上是加密状态 安卓无问题 已严重影响线上运行 官方未提供解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1111111
同问
回复 sssuxin: 更新到最新版本的编辑器就好了,不是正式版
回复 传播星球: 意思是得升级SDK是吧?
回复 sssuxin: 不是重新下载一个hbuilderx,下载alpha最新版
回复 传播星球: 好的,感谢回答
在 uni-app
中,从微信浏览器中唤醒 APP 并获取 extinfo
参数时,iOS 上出现加密状态的问题,而安卓正常,这可能是由于 iOS 系统在微信浏览器中对 extinfo
参数的处理方式与安卓不同,导致参数被加密或无法正确解析。
这个问题确实会影响线上运行,尤其是依赖 extinfo
参数的业务逻辑。以下是一些可能的解决方案和排查步骤:
1. 检查微信开放平台的配置
- 确保在微信开放平台中已经正确配置了 iOS 和安卓的 Universal Link 和 App Links。
- 确保
extinfo
参数的格式和内容符合微信的要求。
2. 检查 iOS 的 Universal Link 配置
- 在 iOS 上,微信使用的是 Universal Link 来唤醒 APP。确保你的 APP 已经正确配置了 Universal Link。
- 检查
Associated Domains
是否在 Xcode 中正确配置,并且apple-app-site-association
文件已经正确部署到服务器。
3. 检查 extinfo
参数的格式
- 确保
extinfo
参数是一个 JSON 字符串,并且在传递给微信时已经进行了 URL 编码。 - 例如:
需要先进行 URL 编码,然后再传递给微信。{"key1":"value1","key2":"value2"}
4. 调试 extinfo
参数
- 在 APP 启动时,打印
extinfo
参数的值,检查是否在 iOS 上被加密或无法解析。 - 如果是加密状态,可以尝试将
extinfo
参数进行 Base64 解码或其他解密操作。
5. 使用 uni-app
的官方插件
uni-app
提供了uni.share
和uni.requireWeChat
等插件,可以尝试使用这些插件来获取extinfo
参数,看看是否能解决问题。- 例如:
uni.share({ provider: 'weixin', type: 0, scene: 'WXSceneSession', summary: '分享内容', success: function(res) { console.log('分享成功', res); }, fail: function(err) { console.log('分享失败', err); } });