123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- 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)
- }
|