From f9e93380e5192b35943769950c698c50b86febb6 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期五, 13 九月 2024 08:41:21 +0800
Subject: [PATCH] #
---
static/js/scanModule.js | 45 +++++++++++
pages/home/home.vue | 7 +
pages/pakin/test.vue | 58 ++++++++++++++
pages.json | 11 ++
static/js/PresetsPda.js | 30 +++++++
pages/pakin/pakin.vue | 31 ++++++-
6 files changed, 177 insertions(+), 5 deletions(-)
diff --git a/pages.json b/pages.json
index be5a1d9..f0a0f11 100644
--- a/pages.json
+++ b/pages.json
@@ -184,7 +184,16 @@
"enablePullDownRefresh" : false
}
}
- ],
+ ,{
+ "path" : "pages/pakin/test",
+ "style" :
+ {
+ "navigationBarTitleText": "鏂囨湰娴嬭瘯",
+ "enablePullDownRefresh": false
+ }
+
+ }
+ ],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
diff --git a/pages/home/home.vue b/pages/home/home.vue
index 8df69e7..c3a36e3 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -31,6 +31,13 @@
cuIcon: 'pullup',
url: '/pakin/pakin'
},
+ {
+ title: '鏂囨湰娴嬭瘯',
+ name: 'pakin',
+ color: 'cyan',
+ cuIcon: 'pullup',
+ url: '/pakin/test'
+ },
// {
// title: '鍐嶆鎷f枡',
// name: 'changePallet',
diff --git a/pages/pakin/pakin.vue b/pages/pakin/pakin.vue
index 1eb04f0..ff6b206 100644
--- a/pages/pakin/pakin.vue
+++ b/pages/pakin/pakin.vue
@@ -130,6 +130,8 @@
</template>
<script>
+ import {setCurrentDeviceAction} from '../../static/js/PresetsPda.js'
+ import {initScan,startScan,stopScan} from '../../static/js/scanModule.js'
export default {
data() {
return {
@@ -203,11 +205,32 @@
},
// 鎼滅储鐗╂枡
findMat() {
- let that = this
+ let _this = this
+ initScan();
+ startScan();
let item = {}
- item['threeCode'] = that.matnr
- this.dataList.unshift(item)
- this.focuss()
+ uni.$on("SCAN_CODE", ({code}) => {
+ console.log(code);
+ item['threeCode'] = code
+ if (_this.dataList.length > 0) {
+ let add = false
+ for (let k of _this.dataList) {
+ if (code == k.threeCode) {
+ add = false
+ } else {
+ add = true
+ }
+ }
+ if (add) {
+ _this.dataList.unshift(item)
+ }
+ } else {
+ _this.dataList.unshift(item)
+ }
+ _this.focuss()
+ // code灏辨槸鎵爜鐨勭粨鏋� 鎺ヤ笅鏉ュ啓涓氬姟闇�姹�
+ });
+
},
selectMat() {
let that = this
diff --git a/pages/pakin/test.vue b/pages/pakin/test.vue
new file mode 100644
index 0000000..9e90aa1
--- /dev/null
+++ b/pages/pakin/test.vue
@@ -0,0 +1,58 @@
+<template>
+ <view>
+ <view>
+ <!-- <input type="text" v-model="val" maxlength="600"/> -->
+ <textarea v-model="val" placeholder="" maxlength="600" @input="input"/>
+ </view>
+ <hr>
+ <view>
+ {{val}}
+ </view>
+ </view>
+</template>
+
+<script>
+ import {setCurrentDeviceAction} from '../../static/js/PresetsPda.js'
+ import {initScan,startScan,stopScan} from '../../static/js/scanModule.js'
+ export default {
+ data() {
+ return {
+ val: ''
+ }
+ },
+ onload() {
+ console.log("onLoad");
+ // 灏嗘湰璁惧鐨勪俊鎭瓨鍏ユ湰鍦�
+ setCurrentDeviceAction();
+ // 鍒濆鍖�
+ initScan();
+ },
+ destroyed() {
+ stopScan();
+ },
+ methods: {
+ input() {
+ console.log(this.val);
+ initScan();
+ startScan();
+ uni.$on("SCAN_CODE", ({code}) => {
+ console.log("code:" + code);
+ // code灏辨槸鎵爜鐨勭粨鏋� 鎺ヤ笅鏉ュ啓涓氬姟闇�姹�
+ });
+ },
+ mounted() {
+ initScan();
+ startScan();
+ uni.$on("SCAN_CODE", ({code}) => {
+ console.log("code:" + code);
+ // code灏辨槸鎵爜鐨勭粨鏋� 鎺ヤ笅鏉ュ啓涓氬姟闇�姹�
+ });
+ },
+
+ }
+ }
+</script>
+
+<style>
+
+</style>
diff --git a/static/js/PresetsPda.js b/static/js/PresetsPda.js
new file mode 100644
index 0000000..227ae9c
--- /dev/null
+++ b/static/js/PresetsPda.js
@@ -0,0 +1,30 @@
+const deviceBrand = uni.getSystemInfoSync().deviceBrand;
+
+// 鐩墠宸茬煡鐨勫箍鎾姩浣滃拰骞挎挱鏍囩 鍚庣画鍙户缁彔鍔�
+// 鑷畾涔夊箍鎾姩浣滃拰鏍囩涔熷彲杩涜棰勮
+export const actionData = [{
+ // 闇嶅凹闊﹀皵锛堥粯璁ゅ箍鎾拰鏍囩锛�
+ deviceBrand: 'mobiwire',
+ action: 'com.honeywell.scan.broadcast',
+ stringExtra: 'data',
+ },
+ {
+ // 浼樺崥璁紙榛樿骞挎挱鍜屾爣绛撅級
+ deviceBrand: 'urovo',
+ action: 'android.intent.ACTION_DECODE_DATA',
+ stringExtra: 'barcode_string',
+ }
+]
+
+// 棣栭〉杩涘叆椤甸潰 灏嗘湰璁惧鐨勪俊鎭瓨鍏ユ湰鍦� 濡傛灉璇ュ巶鍟嗘病鍦ㄩ璁句腑 灏辨嬁绗竴涓綅缃殑閰嶇疆锛屾牴鎹」鐩腑浣跨敤鐨凱DA鑷鍐冲畾
+export const setCurrentDeviceAction = () => {
+ // 濡傛灉鏈湴鏈夊瓨骞挎挱淇℃伅 灏变笉鎷夸簡
+ if (uni.getStorageSync('currentDeviceData')?.deviceBrand) return
+ const data = actionData.find(item => deviceBrand === item.deviceBrand)
+ if (data && Object.keys(data).length) {
+ uni.setStorageSync('currentDeviceData', data)
+ } else {
+ uni.setStorageSync('currentDeviceData', actionData[0])
+ }
+
+};
\ No newline at end of file
diff --git a/static/js/scanModule.js b/static/js/scanModule.js
new file mode 100644
index 0000000..3ac99d6
--- /dev/null
+++ b/static/js/scanModule.js
@@ -0,0 +1,45 @@
+let main, receiver, filter;
+let _codeQueryTag = false; // 鏍囪鍙橀噺
+
+export const initScan = () => {
+
+ main = plus.android.runtimeMainActivity(); // 鑾峰彇涓� activity
+ var IntentFilter = plus.android.importClass("android.content.IntentFilter");
+ filter = new IntentFilter();
+ const action = uni.getStorageSync('currentDeviceData').action // 鑾峰彇鍔ㄤ綔
+ const stringExtra = uni.getStorageSync('currentDeviceData').stringExtra // 鑾峰彇瀛楃涓查澶栧弬鏁�
+ 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); // 鑾峰彇骞挎挱涓殑瀛楃涓查澶栧弬鏁�
+ console.log(code);
+ queryCode(code);
+ },
+ }
+ );
+};
+
+
+export const startScan = () => {
+ main.registerReceiver(receiver, filter); // 寮�濮嬬洃鍚箍鎾�
+};
+export const stopScan = () => {
+ console.log(1);
+ main.unregisterReceiver(receiver); // 鍋滄鐩戝惉骞挎挱
+ // 瑙g粦 uni 鍏ㄥ眬浜嬩欢鐩戝惉鍣紝鍚﹀垯鍙兘浼氬嚭閿�
+ uni.$off('SCAN_CODE');
+};
+export const queryCode = (code) => {
+ // 闃叉閲嶅鏌ヨ
+ if (_codeQueryTag) return false;
+ _codeQueryTag = true; // 鏍囪涓哄凡缁忔煡璇�
+ setTimeout(function () {
+ _codeQueryTag = false; // 閲嶇疆鏍囪
+ }, 150);
+ var id = code;
+ //id 灏辨槸鎵爜鐨勭粨鏋�
+ uni.$emit("SCAN_CODE", { code: id }); // 瑙﹀彂 SCAN_CODE 浜嬩欢锛屽苟浼犻�掓壂鎻忓埌鐨勫唴瀹�
+};
\ No newline at end of file
--
Gitblit v1.9.1