chenlei пре 6 месеци
родитељ
комит
bc3ff50702
3 измењених фајлова са 16 додато и 3 уклоњено
  1. 9 2
      aop/webapi.js
  2. 6 1
      api/web/index.js
  3. 1 0
      config/interfaces/index.js

+ 9 - 2
aop/webapi.js

@@ -1,7 +1,14 @@
-import { setSessionStorage } from 'submodule/utils/tools/storage'
+/* eslint-disable prefer-promise-reject-errors */
+import { setSessionStorage, getLocalStorage } from 'submodule/utils/tools/storage'
 export default {
   /** 前置通知 */
-  BA: {},
+  BA: {
+    checkOrgId(urlObj) {
+      const orgId = getLocalStorage('mwxorg')
+      if (!orgId) return Promise.reject('无orgId')
+    }
+
+  },
   /** 后置通知 */
   AR: {
     storeRes(urlObj, res) {

+ 6 - 1
api/web/index.js

@@ -99,10 +99,15 @@ axios.interceptors.response.use(
     return Promise.reject(err.message)
   }
 )
-export default (urlObj, data = {}, method = 'POST', responseType = 'json') => {
+export default async (urlObj, data = {}, method = 'POST', responseType = 'json') => {
   store.commit('webapi/set', { urlObj, value: Config.enums.request.before.storeValue })
+  // 存在 前置通知
+  if (urlObj.AOP && urlObj.AOP.BA) {
+    await Promise.all(urlObj.AOP.BA.map(fn => fn(urlObj)))
+  }
   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))
     }

+ 1 - 0
config/interfaces/index.js

@@ -94,6 +94,7 @@ export default {
     get_carrier_info: {
       realUrl: 'user/org/get_carrier_info',
       AOP: {
+        BA: [aop.BA.checkOrgId],
         AR: [aop.AR.storeRes]
       }
     },