chenlei 6 місяців тому
батько
коміт
6096e089ba
4 змінених файлів з 42 додано та 2 видалено
  1. 11 0
      aop/webapi.js
  2. 4 1
      api/web/index.js
  3. 5 1
      config/interfaces/index.js
  4. 22 0
      tools/storage.js

+ 11 - 0
aop/webapi.js

@@ -0,0 +1,11 @@
+import { setSessionStorage } from 'submodule/utils/tools/storage'
+export default {
+  /** 前置通知 */
+  BA: {},
+  /** 后置通知 */
+  AR: {
+    storeRes(urlObj, res) {
+      setSessionStorage(urlObj.realUrl, JSON.stringify(res))
+    }
+  }
+}

+ 4 - 1
api/web/index.js

@@ -101,8 +101,11 @@ axios.interceptors.response.use(
 )
 export default (urlObj, data = {}, method = 'POST', responseType = 'json') => {
   store.commit('webapi/set', { urlObj, value: Config.enums.request.before.storeValue })
-  return axios({ url: urlObj.realUrl, method, data, responseType: urlObj.responseType || responseType }).then(res => {
+  return axios({ url: urlObj.realUrl, method, data, responseType: urlObj.responseType || responseType }).then(async res => {
     store.commit('webapi/set', { urlObj, value: Config.enums.request.sus.storeValue })
+    if (urlObj.AOP && urlObj.AOP.AR) {
+      await urlObj.AOP.AR.forEach(fn => fn(urlObj, res))
+    }
     return res
   }).catch(err => {
     store.commit('webapi/set', { urlObj, value: Config.enums.request.err.storeValue })

+ 5 - 1
config/interfaces/index.js

@@ -1,3 +1,4 @@
+import aop from 'submodule/utils/aop/webapi'
 export default {
   batch_truck: {
     realUrl: 'account/account_balance/batch_truck'
@@ -78,7 +79,10 @@ export default {
     },
     /** 获取物流公司的所有信息(包含基本信息,认证信息,授权信息等) */
     get_carrier_info: {
-      realUrl: 'user/org/get_carrier_info'
+      realUrl: 'user/org/get_carrier_info',
+      AOP: {
+        AR: [aop.AR.storeRes]
+      }
     },
     /** 道路运输许可证发起认证 */
     road_transport_up: {

+ 22 - 0
tools/storage.js

@@ -0,0 +1,22 @@
+export function setLocalStorage(key, token) {
+  return localStorage.setItem(key, token)
+}
+
+export function removeLocalStorage(key) {
+  return localStorage.removeItem(key)
+}
+
+export function getLocalStorage(key) {
+  return localStorage.getItem(key)
+}
+export function setSessionStorage(key, token) {
+  return sessionStorage.setItem(key, token)
+}
+
+export function removeSessionStorage(key) {
+  return sessionStorage.removeItem(key)
+}
+
+export function getSessionStorage(key) {
+  return sessionStorage.getItem(key)
+}