更新记录

4.0.0(2023-02-07)

  1. 升级Cos sdk至5.9.8;

3.2.1(2023-02-02)

  1. 修复iOS初始化失败bug;

3.2.0(2022-12-20)

  1. 新增临时密钥支持(内测);
查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 16

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


对象存储COS

该模块可以将图片、视频、文件等资源等各种类型的文件存储到腾讯云存储,可以实现上传资源文件到云存储的操作,同时上传文件会自动根据文件大小是否使用分片上传。

接口列表

函数 功能
init 初始化
uploadObject 上传对象
cancelUpload 取消上传
downloadObject 下载对象
deleteObject 删除对象

快速开始

步骤一: 腾讯云配置

注册或登录腾讯云账号,并开通COS存储

  • 获取配置信息

点击秘钥管理,获取一下配置

参数 含义
appId 应用的Id
secretId 加密Id
secretKey 加密Key
  • 获取存储通信息

存储桶列表,选择要使用的存储桶,获取一下信息

参数 含义
bucket 存储桶的名称
region 所属区域

步骤二: 初始化模块

  • 加载模块

模块名称为: RY-TencentCos,使用uni.rquireNativePlugin加载模块

var cos = uni.requireNativePlugin("RY-TencentCos");

模块测试初始化参数:

return {
    appId: '125xxxx911',
    secretId: 'AKIDcNxxxxxxxtdrn22',
    secretKey: 'CBuNluxxxxxxpW8Zk',
    regionName: 'ap-guangzhou',
    bucket: 'examplxxxx-1251049911',
    path: '',
    key: 'test01'
}
  • 初始化模块

init({params}, ret) 初始化

params:

参数 含义
appId 应用的Id
secretId 加密Id
secretKey 加密Key
regionName 存储区域
var self = this;
cos.init({
    appId: self.appId,
    secretId: self.secretId,
    secretKey: self.secretKey,
    regionName: self.regionName,
    docPath: plus.io.convertLocalFileSystemURL('_doc')
}, ret => {
    uni.showToast({
        title: JSON.stringify(ret),
        icon: "none"
    });
});

步骤三: 上传文件

uploadObject({params}, ret) 上传对象

params:

参数 含义
bucket 存储桶名称
key 对象键
path 上传的文件路径
var self = this;
cos.uploadObject({
    bucket: self.bucket,
    key: self.key,
    path: self.path
}, ret => {
    uni.showToast({
        title: JSON.stringify(ret),
        icon: "none"
    });
});

上传文件的路径可以通过uni.chooseImage()等函数获取,获取到路径后,需要使用plus.io.convertLocalFileSystemURL(path)将路径转换成绝对路径

步骤四: 访问文件

可以使用一下两种方式之一来使用上传成功的文件:

  1. 通过COS存储访问,选择左侧"基础配置",点击访问域名右边的复制按钮,复制访问地址,访问地址格式为: https://bucketName-appId.cos.region.myqcloud.com, 其中bucketName-appId为存储桶名称,region为所属地域 复制的地址后方加上第三步上传文件的key,在APP中就可以访问对应的文件,最终的地址类似: https://xxxx-12xxx911.cos.ap-guangzhou.myqcloud.com/test01.png
  2. 通过CDN访问,需要开启CDN,选择左侧的域名管理,复制"加速域名",在之后加上第三步使用的key,就可以访问,访问地址类似: http://anxxxxyun-125xxxx911.file.myqcloud.com/test01.png

步骤五: 取消上传

cancelUpload({params}, ret) 取消对象上传

参数 含义
bucket 存储桶名称
key 对象键
var self = this;
cos.cancelUpload({
    bucket: self.bucket,
    key: self.key
}, ret => {
    uni.showToast({
        title: JSON.stringify(ret),
        icon: "none"
    });
});

步骤五: 下载文件

downloadObject({params}, ret) 下载对象

params:

参数 含义
bucket 存储桶名称
key 对象键
subPath 子目录名
name 设置下载文件名
var self = this;
cos.downloadObject({
    bucket: self.bucket,
    key: self.key,
    subPath: 'download',
    name: 'fileName'
}, ret => {
    uni.showToast({
        title: JSON.stringify(ret),
        icon: "none"
    });
});

步骤六: 删除对象

deleteObject({params}, ret) 删除对象

params:

参数 含义
bucket 存储桶名称
key 对象键
var self = this;
cos.deleteObject({
    bucket: self.bucket,
    key: self.key,
}, ret => {
    uni.showToast({
        title: JSON.stringify(ret),
        icon: "none"
    });
});

更多功能

如果您需要高级参数或者内测功能,请联系我们的技术客服。

  • 获取文件信息(内测)
  • 批量删除(内测)
  • 文件列表(内测)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

Android: Manifest.permission.READ_EXTERNAL_STORAGE Manifest.permission.WRITE_EXTERNAL_STORAGE iOS: 无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用腾讯云COS存储SDK会采集数据,详情可参考: https://cloud.tencent.com/document/product/436

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问