zzcBridge
v2.1.2
Published
js与native相互通讯桥梁,通过单一入口调用接口,并在控制台打印日志,localStorage持久化保存日志
Downloads
2
Readme
zzcBridge
js与native相互通讯桥梁,封装单一调用入口,并在控制台打印日志,localStorage持久化保存日志
测试页面(用APP访问)
fuck
- 除了功能接口,还有各项目的具体业务需求接口
- cordova不能准确触发ready状态
- Android或iOS特有接口
- 将log永久保存起来,同时也打印到控制台。
用例:
npm install --save zzcBridge
或
拷贝 ./dist 目录版本,通过<script/>
引入。
下面用例的接口都是假的
调用cordova接口,example:
import * as zzcBridge from 'zzcBridge';
const {
init,
exec
} = zzcBridge;
// 初始化,定义需要用到的接口
init([
'setTitle',
'alert',
'setTabbarColor'
]);
// 警告
document.onclick = function () {
exec('alert', {content: '警告'});
}
exec('setTitle', {
content: '标题',
success: function (res) {
console.log(res);
},
error: function (err) {
console.log(err);
}
});
exec('setTabbarColor', {color: 'light'})
// 等同于success()和error()
.then(function (res) {
console.log(res);
}, function (err) {
// 如果接口不存在 err.code === 404
console.log(err);
});
直接调用cordova接口不用init()
import {
exist,
execUnsafe
} from 'zzcBridge';
if (exist('alert')) {
execUnsafe('alert', {content: '经过'});
} else {
alert('经过');
}
注册接口给native,example:
import {register} from 'zzcBridge';
// 断网的时候调用
register('offline', function () {
console.log('断网啦');
});
// 联网的时候调用
register('online', function () {
console.log('联网啦');
});
依赖
- events
- 低版本浏览器需要promise polyfill
自动化npm脚本
- test 单元测试(包含:lint)
- build:dev 构建源码(development模式)
- build:pro 构建源码(production模式)
- compile 编译源码
- lint 检测代码语法和风格
- lint:watch 增强版的lint
- install-git-hooks 安装git hooks
- doc 生成文档
- build 构建项目(包含:test, build:dev, build:pro, compile, doc)
- prepublish 发布前的测试
- postpublish 发布后同步到github
- demos 生成demos页面
APIS
- init(apis) 初始化API,只能调用一次
- exec(api, params) 调用cordova API,会等待ready之后才调用
- register(api, callback) 注册js API给native调用
- exist(api) 判断api是否存在
- exist() 判断cordova对象是否存在
- ready(success, error) 当cordova API准备好后调用success函数,超时则调用error函数
- ready() cordova API是否准备好
- execUnsafe(api, params) 调用cordova API,不会等待ready
- events register是events.on的别名,所以...