|
@@ -0,0 +1,120 @@
|
|
|
+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.push(url || consts.LOGIN_PATH)
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 关闭所有页面打开登录页面
|
|
|
+ */
|
|
|
+export const reLaunchToLogin = url => {
|
|
|
+ history.push(url || consts.LOGIN_PATH)
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 用户注销
|
|
|
+ * @param {String} url 注销后重定向登录的地址
|
|
|
+ */
|
|
|
+export const logout = url => {
|
|
|
+ message.success('退出登录')
|
|
|
+ removeTokenId()
|
|
|
+ removeUserInfo()
|
|
|
+ removeUserAccount()
|
|
|
+ reLaunchToLogin(url || consts.LOGIN_PATH)
|
|
|
+}
|