@daskking/jsbridge
v1.0.0
Published
javascript bridge
Downloads
2
Readme
JSBridge
安装
npm install @cpsdk/jsbridge --save
使用
.npmrc
在项目目录中新建一个 .npmrc
文件, 写入 @cpsdk:registry=https://npmjs-inner.cpgroupcloud.com/
@cpsdk:registry=https://npmjs-inner.cpgroupcloud.com/
nativebar
标题
import JSBridge from '@cpsdk/jsbridge';
// 设置 NativeBar
JSBridge.ready(() => {
JSBridge.app.setNativeBar({
menuTitle: '签收列表',
});
});
右按钮
// 设置 NativeBar 右边按钮功能
const rightCallback = () => {
console.log('click right button');
}
const callbackName = 'rightCallback';
JSBridge.ready(() => {
// 注册点击 native 右按钮需要调用的函数 rightCallback
JSBridge.registerHandler(callbackName, rightCallback);
JSBridge.app.setNativeBar({
rightAction: {
// 右按钮文案
text: '列表',
// 点击有按钮要调用注册的函数的名称
callbackName,
}
});
});
// 组件销毁的时候要取消注册的函数(重要)
// vue2
export default {
beforeDestroy() {
JSBridge.unRegisterHandler('rightCallback');
}
}
// vue3
import { defineComponent, onBeforeUnmount } from 'vue';
export default defineComponent({
setup() {
onBeforeUnmount(() => {
JSBridge.unRegisterHandler('rightCallback');
});
}
});
downloadPDF
下载 pdf 文件
// 入参
export interface DownloadPDFParams {
/**
* 下载地址
*/
url: string,
/**
* 下载接口的入参
*/
data : {
[key: string]: any,
}
}
// 返回值
interface DownloadPDFResponse {
/**
* 请求类型
*/
type: string,
data: {
/**
* 成功 true, 失败 false
*/
status: boolean
/**
* 文件信息
*/
fileInfo: {
/**
* 文件名
*/
name: '',
/**
* 文件路径
*/
path: '',
}
}
}
JSBridge.app.downloadPDF(params: DownloadPDFParams).then((res: DownloadPDFResponse) => {
console.log('downloadPDF: ', res.data.fileInfo);
})
.catch((error) => {
console.log(error);
});
};
openQR
打开扫码功能
// 返回值
interface OpenQRResponse {
type: string,
data: {
/**
* 二维码字符串
*/
message: string,
}
}
JSBridge.app.openQR().then((res: OpenQRResponse) => {
console.log(res.data.message);
});