62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
/**
|
|
* 扫码模式配置 Store 模块
|
|
* 管理 安卓设备 / IDATA PDA / 带扫码PDA 三种模式
|
|
* 默认:uniapp(安卓设备)
|
|
*/
|
|
export default {
|
|
namespaced: true,
|
|
|
|
state: {
|
|
// 扫码模式:'uniapp' | 'idata' | 'android'
|
|
scanMode: 'uniapp'
|
|
},
|
|
|
|
mutations: {
|
|
SET_SCAN_MODE(state, mode) {
|
|
state.scanMode = mode
|
|
}
|
|
},
|
|
|
|
actions: {
|
|
/**
|
|
* 初始化扫码模式(从本地存储恢复,默认 uniapp)
|
|
*/
|
|
initScanMode({ commit }) {
|
|
try {
|
|
const saved = uni.getStorageSync('scanMode')
|
|
if (saved && ['uniapp', 'idata', 'android'].includes(saved)) {
|
|
commit('SET_SCAN_MODE', saved)
|
|
console.log('[Scan Store] 恢复扫码模式:', saved)
|
|
} else {
|
|
commit('SET_SCAN_MODE', 'uniapp')
|
|
uni.setStorageSync('scanMode', 'uniapp')
|
|
}
|
|
} catch (e) {
|
|
console.error('[Scan Store] 初始化失败:', e)
|
|
commit('SET_SCAN_MODE', 'uniapp')
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 设置扫码模式并持久化
|
|
* @param {string} mode - 'uniapp' | 'idata' | 'android'
|
|
*/
|
|
setScanMode({ commit }, mode) {
|
|
if (!['uniapp', 'idata', 'android'].includes(mode)) {
|
|
console.error('[Scan Store] 无效的模式:', mode)
|
|
return
|
|
}
|
|
commit('SET_SCAN_MODE', mode)
|
|
uni.setStorageSync('scanMode', mode)
|
|
console.log('[Scan Store] 扫码模式已切换为:', mode)
|
|
}
|
|
},
|
|
|
|
getters: {
|
|
scanMode: state => state.scanMode,
|
|
isUniapp: state => state.scanMode === 'uniapp',
|
|
isIdata: state => state.scanMode === 'idata',
|
|
isAndroid: state => state.scanMode === 'android'
|
|
}
|
|
}
|