UNPKG

logwire-wms-pda-ui

Version:

运匠科技wms-PDA基础组件库

89 lines (77 loc) 2.11 kB
/* * 产品依赖的全局基础数据 * @author: 张文 * @date 2022-05-05 * */ import {at, set} from "lodash/object"; import {isArray} from "lodash/lang"; import {DeepCopy} from "./DeepCopy"; export function lwWindowGlobalData(){ let lwGlobalData = { // 条码解析规则 barcodeResolveRule: {}, // 字典数据 dict: {}, // token token: null, // 仓库信息 warehouse: {}, // 平台请求接口的路径地址 apiUrl: '', // 已经配置的打印机列表 printList: [], // 权限列表 permissions: { // 获取权限的额外参数 query:[], // 权限数据 data:[] }, // 输入框DOM input:{}, // 底部导航栏数据 tabBar:{}, // 菜单数据 menu:[], // 语言 language: { key:'', data:{} }, // app返回的路由 appBackRoute:[] } // 初始化时获取本地储存的仓库信息 lwGlobalData.warehouse = JSON.parse(window.sessionStorage.getItem('lwWarehouse')) || {} return { /** * 设置全局数据的某一项数据 * @author 张文 * @param key 需要设置的数据key * @param data 需要设置的数据 * */ set(key, data) { // 文档:https://www.lodashjs.com/docs/lodash.set set(lwGlobalData, key, data) }, /** * 获取全局数据的某一项数据 * @author 张文 * @param {String|Array} key 需要获取数据的key,为空时候返回全部数据 * @param {Boolean} isDeep 获取的结果是否需要深拷贝 * @return {*} 获取到的数据 * */ get(key = null, isDeep = true) { let data = null if (key) { // 文档:https://www.lodashjs.com/docs/lodash.at let aData = at(lwGlobalData, key) // 文档:https://www.lodashjs.com/docs/lodash.isArray data = isArray(key) ? aData : aData[0] } else { data = lwGlobalData } return isDeep ? DeepCopy(data) : data }, } }