Bladeren bron

初始化

lanjianrong 4 jaren geleden
commit
5497e45cab
3 gewijzigde bestanden met toevoegingen van 142 en 0 verwijderingen
  1. 10 0
      consts.js
  2. 12 0
      utils.js
  3. 120 0
      utils/common.js

+ 10 - 0
consts.js

@@ -0,0 +1,10 @@
+export default {
+  // 基础设置
+  VERSION: '1.0.0',
+  NAME: '', // 应用名称
+  TOKEN_API: '/api/login/token', // 获取token令牌
+  LOGIN_PATH: '/login', //
+  TOKEN_INVALID_CODE: [ 2, 3 ], // 接口返回码如果是2, 3 则表明token过期或无效 需要自动刷新token
+  TOKEN_WHITE_LIST: [], // 不需要设置token的白名单
+  RET_CODE: { SUCCESS: 0, FAIL: 1, TOKEN_UNDEFINED: 19, TOKEN_EXPIRED: 2 } // 返回RET状态码解析
+}

+ 12 - 0
utils.js

@@ -0,0 +1,12 @@
+export const importAll = context => {
+  const map = {}
+  // eslint-disable-next-line no-restricted-syntax
+  for (const key of context.keys()) {
+    const keyArr = key.split('/')
+    keyArr.shift() // 移除 ./
+    map[keyArr.join('.').replace(/\.js$/g, '')] = context(key)
+  }
+  return map
+}
+
+export default importAll(require.context('./utils', true, /\.js$/))

+ 120 - 0
utils/common.js

@@ -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)
+}