shangfutong-ui/jeepay-ui-uapp-agent/util/storageManage.js

127 lines
3.0 KiB
JavaScript

/**
* 存储管理对象
* 目标:将现有系统的所有需要存储的数据,统一管理
*
* @author terrfly
* @site https://www.jeequan.com
* @date 2022/04/13 07:18
*/
import appConfig from '@/config/appConfig.js'
const model = {
// 获取和放置token
token: (val, isDelete = false) => {
if (isDelete) {
appConfig.tokenVal = ''
return uni.removeStorageSync(appConfig.tokenKey)
}
if (val) {
// 有值,为放置
appConfig.tokenVal = val
uni.setStorageSync(appConfig.tokenKey, val)
} else {
// 否则为获取
if (!appConfig.tokenVal) {
//缓存取不到,获取应用本地信息
appConfig.tokenVal = uni.getStorageSync(appConfig.tokenKey)
}
return appConfig.tokenVal
}
},
// 已经登录的用户记录
loggedInUser: (addUserName = null, removeUserName = null) => {
let key = 'loggedInUserList'
// 删除
if (removeUserName) {
let nameList = uni.getStorageSync(key) || []
if (nameList.length <= 0) {
//不存在数据
return false
}
let hasUserIndex = nameList.indexOf(removeUserName)
if (hasUserIndex >= 0) {
nameList.splice(hasUserIndex, 1) //删除
uni.setStorageSync(key, nameList)
}
return false
}
// 有新插入的记录
if (addUserName) {
let nameList = uni.getStorageSync(key) || []
let hasUser = false
for (let i = 0; i < nameList.length; i++) {
if (nameList[i] == addUserName) {
hasUser = true
}
}
// 包含记录
if (hasUser) {
return false
}
// 最多存储 5 个
if (nameList.length >= 5) {
nameList.splice(0, 1) //删除第一个
}
nameList.push(addUserName)
uni.setStorageSync(key, nameList)
//获取
} else {
return uni.getStorageSync(key) || [] //默认空数组
}
},
// 用户信息
userInfo: (currentUserInfo) => {
if (currentUserInfo) {
// 仅保存基础数据
let saveUser = {
sysUserId: currentUserInfo.userNo,
userType: currentUserInfo.userType,
isEpUuser: currentUserInfo.userType === 3, //是否拓展员
state: currentUserInfo.state,
inviteCode: currentUserInfo.inviteCode,
inviteCodeUrl: currentUserInfo.inviteCodeUrl,
agtInviteCodeUrl: currentUserInfo.agtInviteCodeUrl,
entIdList: currentUserInfo.entIdList,
}
uni.setStorageSync('currentUserInfo', saveUser) // 改变存储
}
return uni.getStorageSync('currentUserInfo')
},
// 项目环境变量:(测试、 生产的切换)
env: (envMode) => {
if (envMode) {
uni.setStorageSync('currentEnvEnum', envMode) // 改变存储
}
return uni.getStorageSync('currentEnvEnum')
},
// 工作工具样式
toolStyle: (style) => {
if (style) {
uni.setStorageSync('toolStyle', style) // 改变存储
}
return uni.getStorageSync('toolStyle')
},
uploadImgSize: (uploadImgSize) => {
if (uploadImgSize) {
uni.setStorageSync("uploadImgSize", uploadImgSize) // 存储 上传 图片大小限制
}
return uni.getStorageSync("uploadImgSize")
},
}
export default model