logwire-wms-pda-ui
Version:
运匠科技wms-PDA基础组件库
89 lines (77 loc) • 2.11 kB
JavaScript
/*
* 产品依赖的全局基础数据
* @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
},
}
}