更新记录

1.1(2022-01-04)

增加2个接口用于检测安装x5内核,防止误内核出现黑屏

1.0.0(2020-11-16)

自由定制返回图标,标题颜色和背景色


平台兼容性

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

https://ext.dcloud.net.cn/plugin?id=950这个是全屏浏览

1.1新版增加2个接口用于检测安装x5内核,防止误内核出现黑屏。

使用


// 必填参数 url,其余选填
//参数 folder:文件夹(默认_fun)文档下载到Download/自定义的文件夹
//参数 url:文档url地址 (网络或本地:http/https/widget)
//参数 topBarColor:标题栏(包含顶部)颜色
//参数 title:标题
//参数 titleColor:标题颜色(建议同时替换返回图标 文件夹nativeplugins\FUN-TBS\android\assets中加入fun_back.png)
//参数 fileType:文件类型,后缀名文件类型(如.doc)的没有的使用(例如:https://a.b.com/123)

// 返回值 result: OK.打开时;ERROR.错误;close.退出浏览
//{"info":"退出","result":"close"} 
//{"info":"打开","result":"OK"}
//

//体验时请先 插件页使用,工程中加入云端插件。
const tbs = uni.requireNativePlugin('FUN-TBS');
tbs.open({ folder: 'abb', url: 'http......', topBarColor: '#0000ff', title: 'pdf文档', titleColor: '#ff0000' }, result => {
                console.log('-----TBS------ ' + JSON.stringify(result));
            });

新增接口

//以下为新增内容,防止新版HBX打包后使用
// 2. 建议先检测是否加载X5内核。    
// 2. 建议先检测是否加载X5内核。    
// 2. 建议先检测是否加载X5内核。               
let can = tbs.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 内核
                            tbs.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. 本插件需要申请的系统权限列表:

"android.permission.INTERNET" , "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.READ_EXTERNAL_STORAGE", "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"

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

本插件不采集,TBS参考https://x5.tencent.com/

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

许可协议

作者未提供license.md

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