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

9 回复

相同问题:另见https://ask.dcloud.net.cn/question/190840

更多关于uni-app 从微信浏览器中唤醒APP获取extinfo参数在ios上是加密状态 安卓无问题 已严重影响线上运行 官方未提供解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html


同问

回复 sssuxin: 更新到最新版本的编辑器就好了,不是正式版

回复 传播星球: 意思是得升级SDK是吧?

回复 sssuxin: 不是重新下载一个hbuilderx,下载alpha最新版

回复 传播星球: 好的,感谢回答

升级HBuilderX版本就行?我现在是 4.15 版本 也是同样的问题

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 编码。
  • 例如:
    {"key1":"value1","key2":"value2"}
    
    需要先进行 URL 编码,然后再传递给微信。

4. 调试 extinfo 参数

  • 在 APP 启动时,打印 extinfo 参数的值,检查是否在 iOS 上被加密或无法解析。
  • 如果是加密状态,可以尝试将 extinfo 参数进行 Base64 解码或其他解密操作。

5. 使用 uni-app 的官方插件

  • uni-app 提供了 uni.shareuni.requireWeChat 等插件,可以尝试使用这些插件来获取 extinfo 参数,看看是否能解决问题。
  • 例如:
    uni.share({
        provider: 'weixin',
        type: 0,
        scene: 'WXSceneSession',
        summary: '分享内容',
        success: function(res) {
            console.log('分享成功', res);
        },
        fail: function(err) {
            console.log('分享失败', err);
        }
    });
回到顶部