更新记录

1.0.2(2022-04-02)

更新最新sdk,以支持64位(去除旧版本仅支持支持armeabi-v7a的配置)

1.0.1(2022-01-04)

基于新版uni【内置X5内核】打包,修复X5内核加载失败导致的黑屏

1.0.0(2019-11-11)

1.基于TBS (腾讯浏览服务) 封装安卓文档打开能力。 2.部分手机可能会不支持,需要下载插件,请自行测试。

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.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原生插件配置”->”云端插件“列表中删除该插件重新选择


基于TBS (腾讯浏览服务) 封装。 https://x5.tencent.com/tbs/guide/sdkInit.html

仅安卓使用。h5,小程序,苹果可使用官方自带。

参考 https://uniapp.dcloud.io/api/file/file?id=opendocument

tbs文件下载方式:

1.微信中打开http://debugtbs.qq.com,进入界面后点击拷贝内核按钮,会弹出保存的路径(参考顶上【图3】),打开这个路径后提取里面的core_private/x5.debug.tbs这个文件

2.下载地址:https://tbs.imtt.qq.com/release/x5/tbs_core_045738_20210925205342_nolog_fs_obfs_armeabi_release.tbs

1.0.0版本请使用新版HBX打包,测试时使用HBX3.3.5.

2021年及之前购买用户如还使用老版本(1.0.0),可邮箱联系,免费发送1.0.0版本。

版本更新

1.0.1

更新:基于新版uni【内置X5内核】打包。

使用


// x5

//体验时请先 插件页使用,工程中加入云端插件。
const open = uni.requireNativePlugin("FUN-OfficeViewer");
//open.openfile(String filepath);
//filepath 绝对路径 如/storage/sdcard0/Android/data/com.x/apps/_uni_8888/doc/1.pdf
// 1. 网络文件先下载(建议先open.canLoadX5()判断是否可用)
// 1. 网络文件先下载(建议先open.canLoadX5()判断是否可用)
// 1. 网络文件先下载(建议先open.canLoadX5()判断是否可用)
open.openfile(filepath, function(result) { });

//以下为新增内容,防止新版HBX打包后使用
// 2. 建议先检测是否加载X5内核。    
// 2. 建议先检测是否加载X5内核。    
// 2. 建议先检测是否加载X5内核。               
let can = open.canLoadX5();
                uni.showToast({
                    title: can ? "已安装TBS X5内核" : "未安装TBS X5内核",
                    icon: "none"
                });

// 3. 未能加载X5内核请下载后安装。
// 3. 未能加载X5内核请下载后安装。
// 3. 未能加载X5内核请下载后安装。
open.installLocalTbs(“TBS X5文件路径”, function(result) { });

//参考示例
//https://tbs.imtt.qq.com/release/x5/tbs_core_045738_20210925205342_nolog_fs_obfs_armeabi_release.tbs
            downloadAndInstallLocalTbs() {
                // 手动下载,tbs 内核
                const downloadTask = uni.downloadFile({
                    url: 'https://tbs.imtt.qq.com/release/x5/tbs_core_045738_20210925205342_nolog_fs_obfs_armeabi_release.tbs',
                    success: (res) => {
                        if (res.statusCode === 200) {
                            console.log('X5内核 下载成功');
                            let filepath = plus.io.convertLocalFileSystemURL(res.tempFilePath); //必须转换路径    
                            console.log("tbs X5内核本地路径:" + filepath);
                            //安装 tbs 内核
                            open.installLocalTbs(filepath, function(result) {
                                console.log("正在 安装 tbs X5内核");
                                console.log(JSON.stringify(result));
                                uni.showToast({
                                    title: result.msg,
                                    icon: "none"
                                });
                            });
                        }
                    }
                });
                let waitingStyles = {
                    width: 300,
                    height: 100
                };
                let waiting = plus.nativeUI.showWaiting("X5内核下载进度:0%", waitingStyles);
                downloadTask.Update((res) => {
                    console.log('X5内核下载进度' + res.progress);
                    waiting.setTitle("X5内核下载进度: " + res.progress + " %");
                    if (res.progress == 100) {
                        waiting.close(); //关掉等待窗口
                    }
                });

            },

隐私、权限声明

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

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

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

无,腾讯TBS是否采集未知。

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

许可协议

请参考开源项目地址的开源协议

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