更新记录
1.2.2(2024-07-05)
手持终端PDA扫描原生调用插件,支持手持终端PDA型号R350、X6
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 14.0 | 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原生插件配置”->”云端插件“列表中删除该插件重新选择
手持终端PDA扫码抢
PDA支持,支持R350,X6
第一步
let scan = uni.requireNativePlugin("aio-scan");
第二步
plus.globalEvent.addEventListener('AioScanEvent', function(e) {
that.msg=e.code+that.msg;
modal.toast({
message: "ScanEvent收到:" + e.code,
duration: 1.5
});
});
// 1:X6 2:R350 999:未知
let pda = scan.getPDA();
modal.toast({
message: "PDA型号:" + pda == 1 ? 'X6' : (pda == 2 ? 'R350' : '未知'),
duration: 1.5
});
第三步
created: function(option) {
console.log('created')
this.initScan()
this.startScan();
},
onHide: function() {
//this.stopScan();
},
destroyed: function() {
/*页面退出时一定要卸载监听,否则下次进来时会重复,造成扫一次出2个以上的结果*/
this.stopScan();
},
methods: {
initScan() {
scan.initScan();
},
startScan() {
scan.startScan();
},
stopScan() {
scan.stopScan();
}
}
完整代码
<template>
<view class="content">
<view class="msg"><text>{{msg}}</text></view>
<view class="tap-btn" @click="startScan()">扫描</view>
</view>
</template>
<script>
let scan = uni.requireNativePlugin("aioscan");
const modal = uni.requireNativePlugin('modal');
console.log(scan)
export default {
data() {
return {
title: 'Hello',
netstate: "",
msg:''
}
},
onLoad() {
console.log('onLoad')
let that=this;
plus.globalEvent.addEventListener('AioScanEvent', function(e) {
that.msg=e.code+that.msg;
modal.toast({
message: "ScanEvent收到:" + e.code,
duration: 1.5
});
});
// 1:X6 2:R350 999:未知
let pda = scan.getPDA();
modal.toast({
message: "PDA型号:" + pda == 1 ? 'X6' : (pda == 2 ? 'R350' : '未知'),
duration: 1.5
});
},
created: function(option) {
console.log('created')
this.initScan()
this.startScan();
},
onHide: function() {
//this.stopScan();
},
destroyed: function() {
/*页面退出时一定要卸载监听,否则下次进来时会重复,造成扫一次出2个以上的结果*/
this.stopScan();
},
methods: {
initScan() {
scan.initScan();
},
startScan() {
scan.startScan();
},
stopScan() {
scan.stopScan();
}
}
}
</script>
<style>
.tap-btn {
display: flex;
margin: 30upx;
height: 80upx;
background-color: #ffaa00;
align-items: center;
justify-content: center;
color: white;
font-size: 32upx;
}
.content {
display: flex;
flex-direction: column;
justify-content: center;
}
.state-info {
margin-top: 30upx;
text-align: center;
font-size: 36upx;
color: #333333;
}
.msg{
height: 80vh;
overflow: hidden;
}
</style>