更新记录

1.1.0(2023-07-11)

适配自定义导航,添加组件方式预览

1.0.0(2023-06-29)

腾讯TBS集成


平台兼容性

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

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


注意

需要去申请腾讯浏览服务Licensekey才能使用,点击去申请

安卓权限配置,请在manifest.json中勾选配置

 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

引入方式

方式-:这种适合导航颜色单一的,能传入颜色配置预览界面导航色 vue或者nvue都行

const reader = uni.requireNativePlugin("WHY-Reader")

方式二(推荐):这种适合自定义导航,特别是导航渐变的 - 组件方式 只能在nvue中使用

<why-file ref="reader" style="width:750rpx;flex:1;"></why-file>

监听失败原因

mounted() {
    //初始化SDK- 不是非必要  主要是检查失败原因 方式二和方式一都可用
    this.$refs.reader.initEngine(error => {
        alert.showToast(error)
    })
    //文件开始预览 - 只适合方式二
    this.$refs.reader.openFile({
        'filePath': this.filePath,
        'fileExt': 'pdf', //文件后缀
    }, error => {
        alert.showToast(error)
    })
}

预览文件 - 方式一下载后打开

参数 必填 说明
filePath 必填 本地文件路径
fileExt 必填 件后缀名,例如文件名为 test.pdf,则只需要传入"pdf"
navColor 选填 导航颜色
methods: {
     // 下载文件
     downloadFile(downLoadUrl, fileName) {
             alert.showWaiting('')
             plus.downloader.createDownload(
             downLoadUrl, {
                filename: "_downloads/doc/" + fileName
            }, (d, status) => {
                 alert.closeWaiting()
                 if (status == 200) { //下载成功
                      const url =plus.io.convertLocalFileSystemURL(d.filename)
                        this.setShowUrl(url)
                    } else { //下载失败
                        alert.showToast('下载失败')
                        plus.downloader.clear(); //清除下载任务
                    }
             }
         ).start()
     },
    //设置显示url
    setShowUrl(url) {
        //获取后缀
        const list = url.split('.')
        const fileExt = list[list.length - 1]
        reader.openFile({
                'filePath': url,
                'fileExt': fileExt,
            }, error => {
                alert.showToast(error)
        })  
    },
}   

关闭释放资源 -

onUnload() {
    //关闭资源 - 方式一 需要
    reader.closeFile()  

    //关闭资源 - 方式二  非必写 已做了释放
    this.$refs.reader?.closeFile()      
},

隐私、权限声明

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

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

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

插件自身不采集任何数据,插件使用的腾讯浏览服务SDK采集数据,请参考其官方说明:https://rule.tencent.com/rule/preview/b01dde7c-2c5b-487a-9bdd-3275dc716a83

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

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