更新记录
1.0.0(2022-10-31)
初始版本
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:6.0 - 12.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | 适用版本区间:9 - 15 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
BenBen-EBookReader使用说明
1、打开电子书
方法名:openTheBook
传入参数:filePath(本地文件路径),filePath示例如下
file:///Users/haha/Library/Developer/CoreSimulator/Devices/56B34BD7-0F34-4F21-A5D5-EA147CBDB5CA/data/Containers/Data/Application/CE51931D-77EB-42FE-A1F5-A65F11475374/Documents/Pandora/apps/__UNI__8EA2801/doc/uniapp_save/16626246439371.txt
返回参数:code(code为1时调用成功)、data、msg
代码示例
const bookModule = uni.requireNativePlugin("BenBen-EBookReader")
const modal = uni.requireNativePlugin('modal');
export default {
onLoad() {
plus.globalEvent.addEventListener('TestEvent', function(e) {
modal.toast({
message: "TestEvent收到:" + e.msg,
duration: 1.5
});
});
},
methods: {
openTheBook() {
// 1下载
uni.downloadFile({
url: 'http://videosasd.nongzi.com/bbb.txt', //仅为示例,并非真实的资源
success: (res) => {
if (res.statusCode === 200) {
// 2保存
uni.saveFile({
tempFilePath: res.tempFilePath,
success: (res) => {
//3获取文件对象
plus.io.resolveLocalFileSystemURL(res.savedFilePath,
(entry) => {
console.log(res.savedFilePath);
console.log(entry.toLocalURL());
// 4打开电子书
bookModule.openTheBook({
'filePath': entry.toLocalURL()
},
(ret) => {
modal.toast({
message: ret,
duration: 1.5
});
})
})
},
fail: () => {
uni.showToast({
icon: 'none',
title: "保存失败"
})
}
})
}
}
});
}
}
}
步骤说明:
1、调用uni方法uni.downloadFile下载电子书,获得临时路径tempFilePath
2、调用uni方法uni.saveFile保存文件到本地,获得savedFilePath
3、调用5+方法plus.io.resolveLocalFileSystemURL,获取文件对象,返回对象调用toLocalURL,即可获得本地路径URL地址
4、调用原生插件openTheBook方法,传入如步骤3中获取的URL地址(即filePath)以及license即可
特别注意:
1、本示例仅展示首次加载步骤,实际开发中需要判断是否已经下载。如果已经下载,则直接从沙盒中获取文件路径,执行步骤4即可。
2、iOS做文件本地缓存的话,不要存绝对路径,要存相对路径,每次重新运行或者安装新包的时候,Documents前面的部分路径会变,下次就会出现找不到文件的问题,所以建议存相对路径,用的时候前面的路径动态获取再拼接上就行。