127 lines
3.0 KiB
JavaScript
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
|