| | |
| | | <script> |
| | | import { |
| | | showModal, |
| | | showToast, |
| | | } from "@/js/Page.js" |
| | | const rfidModule = uni.requireNativePlugin('RFIDModule'); |
| | | var main |
| | | export default { |
| | | globalData: { |
| | | largeMode: false, |
| | | isMobox3: true, |
| | | deviceId: "", |
| | | cname: "", |
| | | mobox3ApiUrl: { |
| | | org: "", |
| | | data: "", |
| | | mobox: "", |
| | | }, |
| | | mobox2ApiUrl: "", |
| | | loginUser: { |
| | | id: "", |
| | | name: "", |
| | | pwd: "" |
| | | }, |
| | | sessionId: "", |
| | | bindClasses: false, |
| | | classes: "" |
| | | }, |
| | | data() { |
| | | //获取全局参数:url-服务器地址 |
| | | return { |
| | | |
| | | } |
| | | }, |
| | | onLaunch: function() { |
| | | console.log('App Launch'); |
| | | this.initscan(); |
| | | this.deviceInfo = uni.getSystemInfoSync(); |
| | | this.init(); |
| | | }, |
| | | onUnload() { |
| | | |
| | | if (this.deviceInfo?.brand.includes('alps')) { // 汉德霍尔设备特征 |
| | | // 汉德霍尔 PDA rfid扫码页面卸载时释放资源 |
| | | if (rfidModule) { |
| | | rfidModule.closeModule(); |
| | | } |
| | | } else { |
| | | main.unregisterReceiver(receiver); // 停止监听广播 |
| | | } |
| | | |
| | | }, |
| | | onShow: function() { |
| | | |
| | | console.log('App Show') |
| | | }, |
| | | onHide: function() { |
| | | console.log('App Hide') |
| | | }, |
| | | methods:{ |
| | | initscan(){ |
| | | onError(err) { |
| | | console.error('[UniApp Error]', err) |
| | | // 可上报到服务器 |
| | | }, |
| | | methods: { |
| | | |
| | | init() { |
| | | let that = this; |
| | | var main = plus.android.runtimeMainActivity(), //获取activity |
| | | IntentFilter = plus.android.importClass('android.content.IntentFilter'),//引入过滤器 |
| | | Intent = plus.android.importClass('android.content.Intent'), |
| | | filter = new IntentFilter(), |
| | | receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', { |
| | | onReceive: function(context, intent){//实现onReceiver回调函数 |
| | | console.log('onReceive'); |
| | | var decodesource = intent.getStringExtra("com.symbol.datawedge.source"); |
| | | |
| | | if (this.deviceInfo?.brand.includes('alps')) { // 汉德霍尔设备特征 |
| | | |
| | | rfidModule.initModule((res) => { |
| | | console.log("rfid initModule", res) |
| | | if (res.code < 0) { |
| | | showToast(res.msg); |
| | | } |
| | | |
| | | }) |
| | | } else if (this.deviceInfo?.brand.includes('mobiwire') || this.deviceInfo?.deviceBrand.includes( |
| | | 'mobiwire')) { // 霍尼韦尔 |
| | | |
| | | this.initMobiwireScan() |
| | | } else { |
| | | |
| | | this.initScan() |
| | | } |
| | | }, |
| | | initMobiwireScan() { |
| | | main = plus.android.runtimeMainActivity(); // 获取主 activity |
| | | var IntentFilter = plus.android.importClass("android.content.IntentFilter"); |
| | | var filter = new IntentFilter(); |
| | | const action = "com.rfid.scan" //默认广播 com.honeywell.scan.broadcast |
| | | const stringExtra = "data" |
| | | filter.addAction(action); // 添加广播动作 |
| | | |
| | | receiver = plus.android.implements("io.dcloud.feature.internal.reflect.BroadcastReceiver", { |
| | | onReceive: function(context, intent) { |
| | | plus.android.importClass(intent); |
| | | let code = intent.getStringExtra(stringExtra); // 获取广播中的字符串额外参数 |
| | | uni.$emit("scanresult", code); |
| | | }, |
| | | }); |
| | | main.registerReceiver(receiver, filter); // 开始监听广播 |
| | | |
| | | }, |
| | | |
| | | initScan() { |
| | | main = plus.android.runtimeMainActivity() //获取activity |
| | | var IntentFilter = plus.android.importClass('android.content.IntentFilter') //引入过滤器 |
| | | // Intent = plus.android.importClass('android.content.Intent'), |
| | | var filter = new IntentFilter() |
| | | var receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', { |
| | | onReceive: function(context, intent) { //实现onReceiver回调函数 |
| | | //console.log('onReceive',intent); |
| | | plus.android.importClass(intent); |
| | | // var decodesource = intent.getStringExtra("com.symbol.datawedge.source"); |
| | | var decodedata = intent.getStringExtra("com.symbol.datawedge.data_string"); |
| | | var decodelabeltype = intent.getStringExtra("com.symbol.datawedge.label_type"); |
| | | |
| | | var scanResult={ |
| | | decodesource, |
| | | decodedata, |
| | | decodelabeltype |
| | | }; |
| | | uni.$emit("scanresult",scanResult); |
| | | var data = intent.getStringExtra("data"); |
| | | // var decodelabeltype = intent.getStringExtra("com.symbol.datawedge.label_type"); |
| | | var scanResult = decodedata || data |
| | | console.log('onReceive', scanResult); |
| | | uni.$emit("scanresult", scanResult); |
| | | } |
| | | }); |
| | | |
| | | filter.addAction("com.pda.formobox");//监听扫码广播 |
| | | main.registerReceiver(receiver, filter); //注册监听 |
| | | |
| | | filter.addAction("com.pda.formobox"); //监听扫码广播 |
| | | filter.addAction('com.rfid.scan') // |
| | | main.registerReceiver(receiver, filter); //注册监听 |
| | | }, |
| | | onScan(callback){ |
| | | console.log('onScan'); |
| | | uni.$off("scanresult"); |
| | | uni.$on("scanresult",(result)=>{ |
| | | callback(result); |
| | | }); |
| | | } |
| | | onScan(callback) { |
| | | if (this.deviceInfo?.brand.includes('alps')) { // 汉德霍尔设备特征 |
| | | if (!rfidModule) |
| | | return |
| | | rfidModule.startScan((ret) => { |
| | | console.log("startScan", ret) |
| | | let text = "" |
| | | if (ret.code < 0) { |
| | | showToast(ret.msg); |
| | | } else { |
| | | const data = ret.data || [] |
| | | if (Array.isArray(data)) { |
| | | if (data.length > 0) |
| | | text = data[0].epc |
| | | } else { |
| | | text = data.epc || "" |
| | | } |
| | | callback(text); |
| | | } |
| | | }) |
| | | } else { |
| | | uni.$off("scanresult"); |
| | | uni.$on("scanresult", (result) => { |
| | | callback(result); |
| | | }); |
| | | } |
| | | |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | |
| | | @import '@/uni_modules/uni-scss/index.scss'; |
| | | @import '@/fonts/font-awesome/css/font-awesome.css'; |
| | | @import '@/fonts/font-mobox-user/fu.css'; |
| | | @import '@/fonts/font-mobox/fm.css'; |
| | | @import '@/fonts/font-mobox/fm.css'; |
| | | @import '@/fonts/font-sys/fs.css'; |
| | | /*Mobox3图标 */ |
| | | @import '@/fonts/mobox-dms/style.css'; |
| | |
| | | @import '@/fonts/mobox-plm/style.css'; |
| | | @import '@/fonts/mobox-sys/style.css'; |
| | | @import '@/fonts/mobox-wms/style.css'; |
| | | |
| | | </style> |
| | | |
| | | .large-mode { |
| | | font-size: 24px !important; |
| | | |
| | | uni-input { |
| | | height: 36px; |
| | | |
| | | .uni-input-placeholder, |
| | | .uni-input-input { |
| | | font-size: 24px !important; |
| | | } |
| | | } |
| | | |
| | | uni-button, |
| | | .uni-forms-item__label, |
| | | .uni-section__content-title { |
| | | font-size: 24px !important; |
| | | } |
| | | |
| | | uni-checkbox { |
| | | .uni-checkbox-input { |
| | | height: 32px; |
| | | width: 32px; |
| | | } |
| | | |
| | | .uni-checkbox-input-checked:before { |
| | | font-size: 30px; |
| | | } |
| | | } |
| | | |
| | | uni-radio { |
| | | .uni-radio-input { |
| | | height: 32px; |
| | | width: 32px; |
| | | } |
| | | |
| | | .uni-radio-input-checked:before { |
| | | font-size: 30px; |
| | | } |
| | | } |
| | | |
| | | .uni-date__x-input { |
| | | font-size: 24px !important; |
| | | height: 40px !important; |
| | | |
| | | .uniui-clear { |
| | | font-size: 30px !important; |
| | | } |
| | | } |
| | | |
| | | .uni-data-tree { |
| | | font-size: 24px !important; |
| | | |
| | | .input-value { |
| | | height: 45px !important; |
| | | font-size: 24px !important; |
| | | } |
| | | |
| | | .placeholder { |
| | | font-size: 24px !important; |
| | | } |
| | | } |
| | | |
| | | .segmented-control__text { |
| | | font-size: 24px !important; |
| | | height: 45px; |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | </style> |