更新记录
4.0.0(2023-02-07)
- 升级Cos sdk至5.9.8;
3.2.1(2023-02-02)
- 修复iOS初始化失败bug;
3.2.0(2022-12-20)
- 新增临时密钥支持(内测);
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 12.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 16 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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 | 删除对象 |
快速开始
步骤一: 腾讯云配置
- 获取配置信息
点击秘钥管理,获取一下配置
参数 | 含义 |
---|---|
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)将路径转换成绝对路径
步骤四: 访问文件
可以使用一下两种方式之一来使用上传成功的文件:
- 通过COS存储访问,选择左侧"基础配置",点击访问域名右边的复制按钮,复制访问地址,访问地址格式为: https://bucketName-appId.cos.region.myqcloud.com, 其中bucketName-appId为存储桶名称,region为所属地域 复制的地址后方加上第三步上传文件的key,在APP中就可以访问对应的文件,最终的地址类似: https://xxxx-12xxx911.cos.ap-guangzhou.myqcloud.com/test01.png
- 通过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"
});
});
更多功能
如果您需要高级参数或者内测功能,请联系我们的技术客服。
- 获取文件信息(内测)
- 批量删除(内测)
- 文件列表(内测)