uni-app 不同版本编辑器下云打包 uts插件的安全图片出现异常

uni-app 不同版本编辑器下云打包 uts插件的安全图片出现异常

信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 11
HBuilderX 正式
HBuilderX版本号 4.29
手机系统 Android
手机系统版本号 Android 15
手机厂商 小米
手机机型 小米14
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • 安卓
    • 4.29版本下,我编写阿里百川sdk的uts插件,安全图片存在但是sdk报错202(图片存在但是签名信息不正确)
    • 4.24版本下,安全图片存在且sdk初始化正常
  • 苹果
    • 4.29版本下,我编写阿里百川sdk的uts插件,安全图片存在但是sdk报错202(图片存在但是bundle id信息和生成图片提供的id不正确)
    • 4.24版本下,安全图片存在但是sdk报错202(图片存在但是签名信息不正确)

预期结果:

  • 不管版本情况下,所有版本都可以将图片打包到自定义基座,并且不会出现图片信息被修改的问题。

实际结果:

  • 在安卓的4.29版本,图片打包到自定义基座,但是信息被修改导致sdk初始化报错。
  • 在ios的4.24版本,图片打包到自定义基座,但是信息被修改导致sdk初始化报错。
  • 在ios的4.29版本,图片打包到自定义基座,但是信息被修改导致sdk初始化报错。

bug描述:

  • 在4.24和4.29版本的编辑器中云打包,我写uts插件出现4.29版本下不能用;4.24可以用。
7 回复

云端打包环境已更新为gradle8.5/8.11.1,为了加速资源加载及安全性,默认会开启资源文件名称混淆。 如果使用的插件无法兼容资源文件名称混淆,可以手动配置enableResourceOptimizations关闭资源文件混淆。 参考文档:https://doc.dcloud.net.cn/uni-app-x/collocation/manifest.html#enableresourceoptimizations 在manifest.json的 “app-plus” -> “distribute” -> “android” 下配置: “enableResourceOptimizations” : false


苹果端呢,苹果端所有版本都报错

回复 kaleidosJohna: 如果是“图片存在但是bundle id信息和生成图片提供的id不正确”说明你配置的苹果包名不正确。

回复 DCloud_App_Array: 是一样的测了好多遍

回复 DCloud_App_Array: 可以远程帮忙看看吗

回复 kaleidosJohna: 这类单个插件的问题,很大概率是插件代码逻辑的问题。请通过“付费技术咨询”获取一对一的技术指导。

在uni-app开发中,使用云打包功能时可能会遇到uts插件处理的安全图片在不同版本编辑器下出现异常的问题。这类问题通常与编辑器版本差异、uts插件的兼容性或者打包配置有关。为了更具体地解决这个问题,我们可以尝试通过代码和配置来确保图片资源的正确处理。

1. 检查uts插件配置

首先,确保uts插件在manifest.json中的配置是正确的。这里是一个基本的uts插件配置示例:

"mp-weixin": {
    "usingComponents": true,
    "cloudfunctionRoot": "cloudfunctions/",
    "setting": {
        "urlCheck": false,
        "requestDomain": [],
        "wsRequestDomain": [],
        "uploadDomain": [],
        "downloadDomain": [],
        "debug": false
    },
    "cloud": true,
    "uts": {
        "privateKeyPath": "path/to/your/private.key", // 私有密钥路径
        "publicKeyPath": "path/to/your/public.pem",  // 公钥路径
        "securityImage": {
            "enable": true,
            "params": {
                // 图片处理参数
                "width": 300,
                "height": 200
            }
        }
    }
}

2. 统一图片处理逻辑

在代码中,确保图片的处理逻辑是统一的,不受编辑器版本影响。可以使用uts插件提供的API来处理图片,例如:

// 引入uts插件
const uts = uni.requireNativePlugin('uni-cloud-utils');

// 假设我们有一个图片URL
const imageUrl = 'https://example.com/image.jpg';

// 使用uts插件处理图片
uts.securityImage({
    url: imageUrl,
    params: {
        width: 300,
        height: 200
    },
    success: (res) => {
        console.log('Processed image URL:', res.url);
        // 使用处理后的图片URL
    },
    fail: (err) => {
        console.error('Failed to process image:', err);
    }
});

3. 验证不同编辑器版本

尽管代码层面尽量保持统一,但不同编辑器版本可能仍然存在细微差异。建议在多个编辑器版本下进行测试,记录并对比结果。如果某个版本确实存在问题,可以考虑以下措施:

  • 更新编辑器:确保使用最新版本的HBuilderX或其他支持uni-app的编辑器。
  • 回退版本:如果新版本存在问题,尝试回退到之前的稳定版本。
  • 联系官方支持:如果问题依旧无法解决,可以向DCloud官方反馈问题,寻求专业帮助。

通过上述步骤,通常可以定位并解决uni-app在不同版本编辑器下云打包uts插件处理安全图片出现的异常问题。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!