UNPKG

tian-yan-yan

Version:

一套不算好用的组件

115 lines (103 loc) 3.31 kB
/* * 产品依赖的全局基础数据 * @author: 张文 * @date 2022-05-05 * */ import {at, set} from "lodash/object"; import {isArray} from "lodash/lang"; import {DeepCopy} from "./DeepCopy"; export function tyWindowGlobalData(){ let tyGlobalData = { // 条码解析规则 barcodeResolveRule: {}, // 字典数据 dict: {}, // token token: null, // 仓库信息 warehouse: {}, // 平台请求接口的路径地址 apiUrl: '', // 已经配置的打印机列表 printList: [], // 权限列表 permissions: { // 获取权限的额外参数 query:[], // 权限数据 data:[] }, // 输入框DOM input:{}, // 底部导航栏数据 tabBar:{}, // 菜单数据 menu:[], // 语言 language: { key:'', data:{} }, // app返回的路由 appBackRoute:[], // 时区 timezone: { 'UTC': {timezone: 'UTC', offset: 0}, 'UTC+1': {timezone: 'UTC+1', offset: 60}, 'UTC+2': {timezone: 'UTC+2', offset: 120}, 'UTC+3': {timezone: 'UTC+3', offset: 180}, 'UTC+4': {timezone: 'UTC+4', offset: 240}, 'UTC+5': {timezone: 'UTC+5', offset: 300}, 'UTC+6': {timezone: 'UTC+6', offset: 360}, 'UTC+7': {timezone: 'UTC+7', offset: 420}, 'UTC+8': {timezone: 'UTC+8', offset: 480}, 'UTC+9': {timezone: 'UTC+9', offset: 540}, 'UTC+10': {timezone: 'UTC+10', offset: 600}, 'UTC+11': {timezone: 'UTC+11', offset: 660}, 'UTC-1': {timezone: 'UTC-1', offset: -60}, 'UTC-2': {timezone: 'UTC-2', offset: -120}, 'UTC-3': {timezone: 'UTC-3', offset: -180}, 'UTC-4': {timezone: 'UTC-4', offset: -240}, 'UTC-5': {timezone: 'UTC-5', offset: -300}, 'UTC-6': {timezone: 'UTC-6', offset: -360}, 'UTC-7': {timezone: 'UTC-7', offset: -420}, 'UTC-8': {timezone: 'UTC-8', offset: -480}, 'UTC-9': {timezone: 'UTC-9', offset: -540}, 'UTC-10': {timezone: 'UTC-10', offset: -600}, 'UTC-11': {timezone: 'UTC-11', offset: -660}, } } // 初始化时获取本地储存的仓库信息 tyGlobalData.warehouse = JSON.parse(window.sessionStorage.getItem('tyWarehouse')) || {} return { /** * 设置全局数据的某一项数据 * @author 张文 * @param key 需要设置的数据key * @param data 需要设置的数据 * */ set(key, data) { // 文档:https://www.lodashjs.com/docs/lodash.set set(tyGlobalData, 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(tyGlobalData, key) // 文档:https://www.lodashjs.com/docs/lodash.isArray data = isArray(key) ? aData : aData[0] } else { data = tyGlobalData } return isDeep ? DeepCopy(data) : data }, } }