WeX5的混合模式底层基于cordova/phonegap,所以开发本地插件只需要按照相应规范就可以,由于BeX5基于WeX5,所以本文档也适用于BeX5。
一、如何使用本地插件(Cordova plugin)
在需要使用插件的页面对应的js中,如下代码引用:
1
2
3
4
|
require(
"$UI/system/lib/cordova/cordova"
);
//cordova运行环境,多个页面用cordova插件,每个页面都需要require进来
require(
"cordova!com.phonegap.plugins.barcodescanner"
);
//使用的cordova插件
|
再参考插件的文档,书写对应的js。例如二维码插件barcodesacnner,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
//扫描二维码,返回二维码信息
cordova.plugins.barcodeScanner.scan(
function
(result) {
alert(
"We got a barcode\n"
+
"Result: "
+ result.text +
"\n"
+
"Format: "
+ result.format +
"\n"
+
"Cancelled: "
+ result.cancelled);
},
function
(error) {
alert(
"Scanning failed: "
+ error);
}
);
|
二、插件列表见下表
其中:
“所在位置”为studio.exe(也就是IDE工具中)“Native/plugins”文件夹下;
“调用名称”为JS调用时使用到的名称;
“参数”,如果需要参数,那么在打包为APP应用的时候,需要进行参数的填写;
“案例路径”,为studio.exe(也就是IDE工具中)具体案例所在路径。
注意:
1、部分插件在目前发布的V3.2.1中没有包含,这部分会在下个版本中带上,如果需要在V3.2.1中使用,请直接下载后覆盖对应目录:插件下载
2、插件相关说明,均在对应插件“所在位置”目录下的xdoc文件中,详细使用方法请参考对应文档。
插件名称
功能描述
详情
支付宝支付 | 阿里支付本地扩展插件 | 所在位置:com.justep.cordova.plugin.alipay调用名称:navigator.alipay参数:需要案例路径:/UI2/takeout |
银联支付 | 银联支付本地扩展插件 | 所在位置:com.justep.cordova.plugin.unionpay调用名称:navigator.unionpay案例路径:/UI2/takeout |
微信支付(分享) | 微信v3本地扩展插件,包括微信支付和微信分享 | 所在位置:com.justep.cordova.plugin.weixin.v3调用名称:navigator.weixin参数:需要案例路径:/UI2/takeout |
下载插件 | 下载多个或单个文件,可以进行校验的一致性或下载完成自动解压文件 | 所在位置:de.fastr.phonegap.plugins.downloader调用名称:window.downloader案例路径:/UI2/demo/native/downloader |
本地文件插件 | 本地文件插件,提供对本地文件的存取操作,该插件基于html5的File | 所在位置:org.apache.cordova.file调用名称:window.File案例路径:/UI2/takeout |
文件打开插件 | 在app中使用默认打开方式打开本地文件 | 所在位置:org.apache.cordova.file-opener2调用名称:cordova.plugins.fileOpener2案例路径:/UI2/demo/native/fileOpener |
本地文件传输 | 本地文件传输插件,提供文件的上传下载操作 | 所在位置:org.apache.cordova.file-transfer调用名称:window.FileTransfer |
文件打开 | 在app中用打开音频,视频,图片或其他格式的文件等,支持本地文件和远程文件 | 所在位置:org.apache.cordova.open调用名称:cordova.plugins.disusered案例路径:/UI2/demo/native/open |
打开文档插件 | 打开文档插件,下载指定url的文档并使用系统注册过的应用打开 | 所在位置:ch.ti8m.documenthandler调用名称:window.handleDocumentWithURL |
md5校验 | 读取大文件并生成md5sum增量 | 所在位置:de.fastr.phonegap.plugins.md5chksum 调用名:window.md5chksum |
极光推送 | 具体使用方法:极光JPush插件使用流程 | 所在位置:cn.jpush.phonegap.JPushPlugin调用名称:window.plugins.jPushPlugin参数:需要
案例路径:/UI2/takeout |
近场通讯 | 近场通讯插件,仅支持Android | 所在位置:com.chariotsolutions.nfc.plugin调用名称:window.nfc |
百度定位 | 百度定位插件 | 所在位置:com.justep.cordova.plugin.baidulocation调用名称:navigator.baiduLocation |
地理位置 | 地理位置位置插件,提供地理位置信息,依赖百度定位插件 | 所在位置:org.apache.cordova.geolocation调用名称:navigator.geolocation案例路径:/UI2/demo/native/geolocation |
社交分享 | 分享插件,可分享文本、图片等文件,并关联打开本地注册过的可分享类型 | 所在位置:nl.x-services.plugins.socialsharing调用名称:plugins.socialsharing |
二维码扫描 | 二维码、条形码扫描插件 | 所在位置:com.phonegap.plugins.barcodescanner 调用名称:cordova.plugins.barcodeScanner |
视频播放插件 | 视频播放插件,支持本地路径和http://路径 | 所在位置:com.phonegap.plugins.videoplayer调用名称:cordova.plugins.videoPlayer案例路径:/UI2/demo/native/videoplayer |
状态栏 | 状态栏本地插件,用来控制状态栏的显示方式 | 所在位置:org.apache.cordova.statusbar调用名称:window.StatusBar参数:需要 |
Http请求 | Http请求插件,使用本地接口发送http请求,这将提供跨域的ajax调用 | 所在位置:plugin.http.request调用名称:navigator.plugins.HttpRequest |
内置浏览 | 内置浏览本地插件,类似浏览器中js的window.open,用指定模式打开url | 所在位置:org.apache.cordova.inappbrowser调用名称:window.open |
蓝牙 | 蓝牙插件,提供对蓝牙设备的监听和使用 | 所在位置:com.megster.cordova.ble调用名称:window.ble |
照相机 | 照相机本地插件,调用照相机获取图片 | 所在位置:org.apache.cordova.camera调用名称:navigator.camera案例路径:/UI2/demo/native/camera |
设备信息 | 设备信息本地插件,获取设备信息,包括操作系统类型和版本、设备uuid等 | 所在位置:org.apache.cordova.device调用名称:window.device |
设备传感器 | 加速器本地插件,获取设备加速器(acceleration)信息 | 所在位置:org.apache.cordova.device-motion调用名称:navigator.accelerometer案例路径:/UI2/demo/native/accelerometer |
指南针 | 电子罗盘本地插件,获取设备方向信息 | 所在位置:org.apache.cordova.device-orientation调用名称:navigator.compass |
联系人 | 联系人本地插件,获取设备联系人信息 | 所在位置:org.apache.cordova.contacts调用名称: navigator.contacts |
声音设备 | 本地声音设备插件,用于播放声音、控制音量等 | 所在位置:org.apache.cordova.media调用名称:window.Media案例路径:/UI2/demo/native/audio |
多媒体文件录制 | 多媒体录制本地插件,用于捕获图片、录制声音和视频 | 所在位置:org.apache.cordova.media-capture调用名称: navigator.device.capture |
电池状态 | 电池状态插件,监控设备电池状态 | 所在位置:org.apache.cordova.battery-status调用名称: navigator.battery |
屏幕旋转 | 控制屏幕旋转方向 | 所在位置:net.yoik.cordova.plugins.screenorientation调用名称:window.plugins.screen案例路径:/UI2/demo/native/screenorientation |
屏幕常亮插件 | 使屏幕禁止睡眠 | 所在位置:nl.x-services.plugins.insomnia调用名称: plugins.insomnia |
设备震动 | 震动本地插件,调用设备进行震动 | 所在位置:org.apache.cordova.vibration调用名称:navigator.notification |
本地日历插件 | 用于调用本地日历,设置活动相关操作 | 所在位置:nl.x-services.plugins.calendar调用名称:plugins.calendar案例路径:/UI2/demo/native/calendar |
本地浮动框提示 | 浮动提示插件,弹出本地浮动提示框 | 所在位置:nl.x-services.plugins.toast调用名称: plugins.toast |
本地等待和进度对话框 | 基于Spinner提供的本地等待和进度对话框 | 所在位置:hu.dpal.phonegap.plugins.SpinnerDialog调用名称: plugins.spinnerDialog |
本地选项卡 | 本地选项卡插件,用来展示一组本地选项列表 | 所在位置:nl.x-services.plugins.actionsheet调用名称:plugins.actionsheet案例路径:/UI2/demo/native/actionsheet |
本地对话框 | 本地对话框插件,提供提醒(alert)、询问(confirm, prompt)和蜂鸣音(beep)的本地调用 | 所在位置:org.apache.cordova.dialogs调用名称:navigator.notification |
SQLite插件 | SQLite插件,提供本地数据库的存储 | 所在位置:com.brodysoft.sqlitePlugin调用名称:window.SQLitePlugin案例路径:/UI2/demo/native/sqlite |
app缓存清除插件 | 清除app缓存 | 所在位置:at.modalog.cordova.plugin.cache调用名称:window.cache案例路径:/UI2/demo/native/clearCache |
应用安装状态 | 应用安装状态插件, 通过URI Scheme (iOS) 或者包名(Android)判断指定的应用是否已安装 | 所在位置:com.ohh2ahh.plugins.appavailability调用名称: window.appAvailability |
app后台运行 | app后台运行插件,防止app在后台进入睡眠状态 | 所在位置:de.appplant.cordova.plugin.background-mode调用名称:cordova.plugins.backgroundMode案例路径:/UI2/demo/native/backgroundMode |
应用图标数字提醒 | 应用图标数字提醒。IOS通过应用图标数字进行提醒;Android系统由于系统限制,通过状态栏进行提醒 | 所在位置:de.appplant.cordova.plugin.badge调用名称:plugin.notification.badge案例路径:/UI2/demo/native/badge |
获取app版本相关信息 | 获取app版本相关信息 | 所在位置:uk.co.whiteoctober.cordova.appversion调用名称: cordova.getAppVersion |
闪屏插件 | 欢迎页本地插件,默认建议包含。启动本地应用时显示指定的图片 | 所在位置:org.apache.cordova.splashscreen调用名称: navigator.splashscreen |
国际化 | 国际化插件,提供语言、日期、货币等本地化信息 | 所在位置:org.apache.cordova.globalization调用名称:navigator.globalization |
本地转场动画 | 本地转场动画插件,提供页面间的本地转场动画效果 | 所在位置:com.telerik.plugins.nativepagetransitions调用名称:plugins.nativepagetransitions案例路径:/UI2/demo/native/barcode |
复制粘贴 | 复制粘贴文本 | 所在位置:com.verso.cordova.clipboard调用名称:cordova.plugins.clipboard案例路径:/UI2/demo/native/clipboard |
自定义URL协议 | 自定义指定的协议类型URL_SCHEME,并通过handleOpenURL回调进行接管。例如指定协议mycoolapp,则将接管mycoolapp://xxx | 所在位置:nl.x-services.plugins.launchmyapp调用名称:window.plugins.launchmyapp参数:需要 |
console | 提供全局对象console,通过console.log()记录日志 | 所在位置:org.apache.cordova.console调用名称:window.console |
键盘插件 | 键盘插件,用来显示隐藏键盘及其他关于键盘的操作 | 所在位置:org.apache.cordova.keyboard调用名称:window.Keyboard案例路径:/UI2/demo/native/keyboard |
网络信息 | 网络信息本地插件,获取网络连接信息 | 所在位置:org.apache.cordova.network-information调用名称:navigator.connection |
隐私屏幕 | 隐私屏幕插件,本插件无调用接口,包含即可。包含后,如果用应用管理程序切换应用时将不会看到当前应用的屏幕快照 | 所在位置:org.devgeeks.privacyscreen调用名称:案例路径: |