feat: 无扫码配置时自动匹配并升至1.1.20
This commit is contained in:
+4
-59
@@ -1,19 +1,16 @@
|
||||
// common/scanMixin.js
|
||||
// 多厂商PDA扫码器兼容方案 - 策略模式 + 配置表驱动
|
||||
import {
|
||||
BUILTIN_SCANNER_CONFIGS,
|
||||
getScanConfig,
|
||||
hasShownNoConfigHint,
|
||||
isPdaDevice as detectPdaDevice,
|
||||
isPhoneScanConfig,
|
||||
markNoConfigHintShown,
|
||||
normalizeConfig,
|
||||
PHONE_SCAN_CONFIG,
|
||||
} from '@/common/scanConfig.js';
|
||||
|
||||
const PDA_DEVICE_KEYWORDS = [
|
||||
'newland', 'nls', 'nlscan', 'sunmi', 'urovo', 'zebra', 'honeywell',
|
||||
'idata', 'seuic', 'autoid', '东集', '东大',
|
||||
];
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -28,46 +25,7 @@ export default {
|
||||
|
||||
methods: {
|
||||
getScannerConfigs() {
|
||||
return [
|
||||
{
|
||||
// 东大集成 SEUIC / AUTOID 系列(如 AUTOID9),勿与新大陆 nlscan 混淆
|
||||
brand: 'seuic',
|
||||
name: '东大集成(AUTOID)',
|
||||
action: 'com.android.server.scannerservice.broadcast',
|
||||
dataKey: 'scannerdata',
|
||||
needSetup: true,
|
||||
setupAction: 'com.android.scanner.service_settings',
|
||||
setupParams: {
|
||||
barcode_send_mode: 'BROADCAST',
|
||||
action_barcode_broadcast: 'com.android.server.scannerservice.broadcast',
|
||||
key_barcode_broadcast: 'scannerdata',
|
||||
endchar: 'NONE'
|
||||
}
|
||||
},
|
||||
{
|
||||
brand: 'sunmi',
|
||||
name: '商米',
|
||||
action: 'com.sunmi.scanner.ACTION_DATA_CODE_RECEIVED',
|
||||
dataKey: 'data',
|
||||
needSetup: false
|
||||
},
|
||||
{
|
||||
brand: 'urovo',
|
||||
name: '优博讯',
|
||||
action: 'android.intent.ACTION_DECODE_DATA',
|
||||
dataKey: 'barcode_string',
|
||||
needSetup: false
|
||||
},
|
||||
{
|
||||
// 新大陆 Newland,广播为 nlscan.action.SCANNER_RESULT
|
||||
brand: 'nlscan',
|
||||
name: '新大陆',
|
||||
action: 'nlscan.action.SCANNER_RESULT',
|
||||
dataKey: 'SCAN_BARCODE1',
|
||||
needSetup: false
|
||||
},
|
||||
{ ...PHONE_SCAN_CONFIG },
|
||||
];
|
||||
return BUILTIN_SCANNER_CONFIGS;
|
||||
},
|
||||
|
||||
getPhoneScanConfig() {
|
||||
@@ -75,20 +33,7 @@ export default {
|
||||
},
|
||||
|
||||
isPdaDevice() {
|
||||
// #ifdef APP-PLUS
|
||||
try {
|
||||
const Build = plus.android.importClass('android.os.Build');
|
||||
const manufacturer = String(Build.MANUFACTURER || '').toLowerCase();
|
||||
const model = String(Build.MODEL || '').toLowerCase();
|
||||
return PDA_DEVICE_KEYWORDS.some((keyword) => {
|
||||
return manufacturer.includes(keyword) || model.includes(keyword);
|
||||
});
|
||||
} catch (error) {
|
||||
console.log('检测设备类型失败', error);
|
||||
return false;
|
||||
}
|
||||
// #endif
|
||||
return false;
|
||||
return detectPdaDevice();
|
||||
},
|
||||
|
||||
shouldUsePhoneScan() {
|
||||
|
||||
Reference in New Issue
Block a user