src/utils/qlm_store.js封装了前端存储底层函数。登录后的用户信息都是通过调用底层函数进行保存的。
/*
* key 键值
* StoreType:存储位置 cookie|session|localStorage
* 调用时不输入该参数时,存储位置由QLMConfig.qlm_jwt_store配置决定
* 当window.QLMConfig.debug=="true" 时存为明文,否则为密文
*/
export function qlm_getValue(key,StoreType)
export function qlm_setValue(key,value,StoreType)
更底层由以下包支持:
import Cookies from 'js-cookie'
window.localStorage
window.sessionStorage
加解密:
import {encrypt,decrypt} from './qlm_commonfuns'
通过封装CryptoJS.AES完成:import CryptoJS from 'crypto-js'
平台上数据字典是缓存在sessionStorage里的,如下代码说明了前端取数据字典的过程:
//先从session中取否则从后台取-用于数据选择 export async function gainCodeItemList(setid){ let value=qlm_getValue(setid,"session") if (value!=null){ return JSON.parse(value) } let ret=await queryCodeItemList(setid) if (ret.retCode==88888888){ qlm_setValue(setid,JSON.stringify(ret.data),"session") return ret.data } else{ console.info("gainCodeItemList:"+setid+" error:"+ret.msg) return null } }