更新记录
1.0.4(2020-10-21) 下载此版本
更新厂家sdk基础包
1.0.3(2020-10-16) 下载此版本
1、更新通信协议校验机制 2、增加设备名称修改接口 3、增加局部刷新接口 4、增加微软雅黑自定义字体
1.0.2(2020-10-14) 下载此版本
1、增加测试方法 2、修复sdk依赖包配置信息
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
√ | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择
墨水屏信息同步sdk
1、底层通过蓝牙通信,需要申请手机蓝牙权限
2、uni代码示例
// 获取 module
const inkScreenModule = uni.requireNativePlugin('ht-inkScreen-sdk');
const modal = uni.requireNativePlugin('modal');
//设备地址
const deviceMac = "F8A76345A7D6";
export default {
onLoad() {
//监听数据更新进度信息
plus.globalEvent.addEventListener('progressEvent', function(e) {
modal.toast({
message: e.msg,
duration: 1.5
});
});
},
methods: {
updateScreenImg() {
//业务信息
let bizData = {
title : "大标题",
org: "组织信息",
address: "地点信息",
person: "人员信息",
data: "时间信息",
status: "状态信息",
qrCode: "http://www.baidu.com/"
}
//巡更模板数据, 需根据业务数据填充
let patroltemplateData = {
//屏幕宽
width: 296,
//屏幕高
height: 128,
contentList: [
{
id: 0,
// type=1 文本,type=2 二维码
type: 1,
// 内容,类型为文字时,为相应文字,类型为二维码时为二维码文字内容
content: bizData.title,
//文字大小
textSize: 15,
//0 居左,1 居中
gravity: 1,
//纵向起始位置
startHeight: 4,
//纵向结束位置
endHeight: 22,
//横向开始开始
startWidth: 0,
//横向结束位置
endWidth: 292,
//颜色类型 0:黑白 1:红白
color: 0
},
{
id: 1,
type: 1,
content: bizData.org,
textSize: 15,
gravity: 0,
startHeight: 24,
endHeight: 42,
startWidth: 8,
endWidth: 200,
color: 0
},
{
id: 2,
type: 1,
content: bizData.address,
textSize: 15,
gravity: 0,
startHeight: 44,
endHeight: 62,
startWidth: 8,
endWidth: 200,
color: 0
},
{
id: 3,
type: 1,
content: bizData.person,
textSize: 15,
gravity: 0,
startHeight: 64,
endHeight: 82,
startWidth: 8,
endWidth: 200,
color: 0
},
{
id: 4,
type: 1,
content: bizData.data,
textSize: 15,
gravity: 0,
startHeight: 84,
endHeight: 102,
startWidth: 8,
endWidth: 200,
color: 0
},
{
id: 5,
type: 1,
content: bizData.status,
textSize: 15,
gravity: 0,
startHeight: 104,
endHeight: 122,
startWidth: 8,
endWidth: 200,
color: 0
},
{
id: 5,
type: 2,
content: bizData.qrCode,
startHeight: 28,
endHeight: 128,
startWidth: 200,
endWidth: 300,
color: 0
}
]
}
// 调用异步更新设备屏幕信息方法
inkScreenModule.updateScreenImg({
'mac': deviceMac,
'template': JSON.stringify(patroltemplateData)
},
(ret) => {
modal.toast({
//ret.result 为boolean 可根据自己需要进行UI响应
message: ret,
duration: 1.5
});
})
},
updatePersonName(){
//更新人员信息
let contentData = {
id: 0,
// type=1 文本,type=2 二维码
type: 1,
// 内容,类型为文字时,为相应文字,类型为二维码时为二维码文字内容
content: '小王',
//文字大小
textSize: 15,
//0 居左,1 居中
gravity: 1,
//纵向起始位置
startHeight: 4,
//纵向结束位置
endHeight: 20,
//横向开始开始
startWidth: 0,
//横向结束位置
endWidth: 292,
//颜色类型 0:黑白 1:红白
color: 0
};
//局部内容更新方法
inkScreenModule.updateContent({
'mac': deviceMac,
'screenWidth': 296,// 屏幕宽度 非必填
'content': JSON.stringify(contentData)
},
(ret) => {
modal.toast({
message: ret,
duration: 3
});
})
},
updateDeviceName(){
//设备名称更新
inkScreenModule.updateDeviceName({
'mac': deviceMac,
'deviceName': 'yyyymmmmzzzz'
},
(ret) => {
modal.toast({
message: ret,
duration: 3
});
})
},
testMethod(){
//测试方法
inkScreenModule.testMethod({
'mac': deviceMac,
'template': 'bbbbbbbbb'
},
(ret) => {
modal.toast({
message: ret,
duration: 3
});
})
}
}
};
3、示例说明
1)在代码中引用插件
2)添加全局监听时间 progressEvent,该事件为蓝牙通信过程提示
3)生成模板数据,示例中为巡更业务模板,如其他业务可自行定义。具体的模板参数参见代码注释
4)调用sdk方法并获取异步回调,方法入参为 mac和template。回调方法返回字段为result,代表执行结果