mi-assessment/uniapp/utils/storage.js
2026-02-09 14:45:06 +08:00

90 lines
1.6 KiB
JavaScript

/**
* 存储工具模块
* 封装 uni.setStorageSync/getStorageSync
*/
const STORAGE_KEYS = {
TOKEN: 'token',
USER_INFO: 'userInfo'
}
/**
* 设置存储项
*/
export function setStorage(key, value) {
try {
uni.setStorageSync(key, value)
return true
} catch (e) {
console.error('Storage set error:', e)
return false
}
}
/**
* 获取存储项
*/
export function getStorage(key, defaultValue = null) {
try {
const value = uni.getStorageSync(key)
return value !== '' ? value : defaultValue
} catch (e) {
console.error('Storage get error:', e)
return defaultValue
}
}
/**
* 移除存储项
*/
export function removeStorage(key) {
try {
uni.removeStorageSync(key)
return true
} catch (e) {
console.error('Storage remove error:', e)
return false
}
}
/**
* 清空所有存储
*/
export function clearStorage() {
try {
uni.clearStorageSync()
return true
} catch (e) {
console.error('Storage clear error:', e)
return false
}
}
// Token 相关方法
export function setToken(token) {
return setStorage(STORAGE_KEYS.TOKEN, token)
}
export function getToken() {
return getStorage(STORAGE_KEYS.TOKEN, '')
}
export function removeToken() {
return removeStorage(STORAGE_KEYS.TOKEN)
}
// 用户信息相关方法
export function setUserInfo(userInfo) {
return setStorage(STORAGE_KEYS.USER_INFO, userInfo)
}
export function getUserInfo() {
return getStorage(STORAGE_KEYS.USER_INFO, null)
}
export function removeUserInfo() {
return removeStorage(STORAGE_KEYS.USER_INFO)
}
export { STORAGE_KEYS }