import { message } from "antd" import { history } from "umi" import consts from '../consts' const USER_INFO = 'USER_INFO' // 用户个人信息 const USER_ACCOUNT = 'USER_ACCOUNT' // 用户账号 const TOKEN_ID = 'TOKEN_ID' // TOKEN令牌ID // 本地存储封装 const storage = { get(key) { const val = localStorage.getItem(key) if (val) { return JSON.parse(val) } return null }, set(key, value) { localStorage.setItem(key, JSON.stringify(value)) }, del(key) { localStorage.removeItem(key) }, clear() { localStorage.clear() } } /** * 保存用户信息到本地存储中 * @param {*} user 用户信息 */ export const saveUserInfo = user => { storage.set(USER_INFO, user) } /** * 获取用户信息 */ export const getUserInfo = () => { const user = storage.get(USER_INFO) return user } /** * 移除用户信息 */ export const removeUserInfo = () => { return storage.del(USER_INFO) } /** * 保存用户账号信息 * @param {*} account 账号 */ export const saveUserAccount = account => { storage.set(USER_ACCOUNT, account) } /** * 获取用户账号信息 */ export const getUserAccount = () => { return storage.get(USER_ACCOUNT) } /** * 移除用户账号信息 */ export const removeUserAccount = () => { return storage.del(USER_ACCOUNT) } /** * 保存令牌ID到本地存储中 * @param {*} id token令牌id */ export const saveTokenId = id => { return storage.set(TOKEN_ID, id) } /** * 移除令牌ID */ export const removeTokenId = () => { return storage.del(TOKEN_ID) } /** * 从本地存储中获取令牌ID */ export const getTokenid = () => { return storage.get(TOKEN_ID) || '' } /** * 重定向到登录页 */ export const redirectToLogin = url => { // 重定向登录页面 history.replace(url || consts.LOGIN_PATH) } /** * 用户注销 * @param {String} url 注销后重定向登录的地址 */ export const logout = url => { message.success('退出登录') removeTokenId() removeUserInfo() removeUserAccount() redirectToLogin(url || consts.LOGIN_PATH) }