From a10e10435ee2d6aab8e2475d8a268dd6cf8e6d28 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期五, 03 十一月 2023 14:49:43 +0800
Subject: [PATCH] feat: 接入 jwt token

---
 src/views/overview/AddOverviewDialog.vue                     |   10 +-
 src/views/reportForm/inventoryReport/index.vue               |    4 
 src/views/warehouseManage/bussinessType/AddBussinessType.vue |    4 
 src/views/warehouseManage/warehouse/index.vue                |    6 +-
 src/common/untils/request.js                                 |   61 ++++++++++++++++++-
 src/views/overview/index.vue                                 |    8 +-
 src/api/warehouseManage/warehouse.js                         |   13 ++-
 src/api/common/other.js                                      |    8 +-
 src/components/makepager/CommonFormTableView.vue             |    4 
 src/api/reportForm/inventoryRwport.js                        |    7 +-
 src/api/overview/overview.js                                 |   13 ++-
 src/views/warehouseManage/bussinessType/index.vue            |    6 +-
 12 files changed, 102 insertions(+), 42 deletions(-)

diff --git a/src/api/common/other.js b/src/api/common/other.js
index 08db148..733ab2b 100644
--- a/src/api/common/other.js
+++ b/src/api/common/other.js
@@ -1,9 +1,11 @@
 // import request from "@/common/untils/request.js"
-import axios from "axios"
+import request from "@/common/untils/request";
 
 // 鏌ヨ鍏徃鍒楄〃
-export const getCompanyList = async (data) => {
-  return await axios.get(`/api-wms/v1/company/company`, {
+export const getCompanyList = (data) => {
+  return request({
+    url: "/api-wms/v1/company/company",
+    method: "get",
     params: data
   })
 }
diff --git a/src/api/overview/overview.js b/src/api/overview/overview.js
index 3e2190b..2420df3 100644
--- a/src/api/overview/overview.js
+++ b/src/api/overview/overview.js
@@ -1,15 +1,18 @@
 import request from "@/common/untils/request.js"
-import axios from "axios"
 
 // 鏌ヨ涓氬姟绫诲瀷鍒楄〃
-export const getOperationType = async (data) => {
-  return await axios.get(`/api-wms/v1/operationType/operationType`, {
+export const getOperationType =  (data) => {
+  return request({
+    url: "/api-wms/v1/operationType/operationType",
+    method: "get",
     params: data
   })
 }
 // 鏌ヨ涓氬姟绫诲瀷鍒楄〃--鍐呴儴璋冩嫧
-export const getListTransfer = async (data) => {
-  return await axios.get(`/api-wms/v1/operationType/listTransfer`, {
+export const getListTransfer = (data) => {
+  return request({
+    url: "/api-wms/v1/operationType/listTransfer",
+    method: "get",
     params: data
   })
 }
diff --git a/src/api/reportForm/inventoryRwport.js b/src/api/reportForm/inventoryRwport.js
index 114eb10..68eaa3a 100644
--- a/src/api/reportForm/inventoryRwport.js
+++ b/src/api/reportForm/inventoryRwport.js
@@ -1,6 +1,5 @@
 // 搴撳瓨鎶ヨ〃
 import request from "@/common/untils/request.js"
-import axios from "axios"
 
 
 // 鑾峰彇搴撳瓨鎶ヨ〃
@@ -13,8 +12,10 @@
 }
 
 // 浠撳簱绫诲瀷鍒楄〃
-export const getWarehouseList = async (data) => {
-  return await axios.get(`/api-wms/v1/warehouse/warehouse`, {
+export const getWarehouseList = (data) => {
+  return request({
+    url: "/api-wms/v1/warehouse/warehouse",
+    method: "get",
     params: data
   })
 }
diff --git a/src/api/warehouseManage/warehouse.js b/src/api/warehouseManage/warehouse.js
index 94ce3d5..d9b2874 100644
--- a/src/api/warehouseManage/warehouse.js
+++ b/src/api/warehouseManage/warehouse.js
@@ -1,9 +1,10 @@
 import request from "@/common/untils/request.js"
-import axios from "axios"
 
 // 浠撳簱鍒楄〃
-export const getWarehouseList = async (data) => {
-  return await axios.get(`/api-wms/v1/warehouse/warehouse`, {
+export const getWarehouseList = (data) => {
+  return request({
+    url: "/api-wms/v1/warehouse/warehouse",
+    method: "get",
     params: data
   })
 }
@@ -32,8 +33,10 @@
   })
 }
 // 涓氬姟绫诲瀷  鍒楄〃
-export const getOperationTypeList = async (data) => {
-  return await axios.get(`/api-wms/v1/operationType/operationType`, {
+export const getOperationTypeList = (data) => {
+  return request({
+    url: "/api-wms/v1/operationType/operationType",
+    method: "get",
     params: data
   })
 }
diff --git a/src/common/untils/request.js b/src/common/untils/request.js
index 9270bbc..ef8fcc9 100644
--- a/src/common/untils/request.js
+++ b/src/common/untils/request.js
@@ -3,6 +3,35 @@
 
 // import router from '@/router'
 
+// 寮�鍙戠幆澧冧笅灏嗚嚜宸辩殑token澶嶅埗鍒拌繖閲�, 涔熷彲浠ュ湪娴忚鍣ㄤ腑鎵嬪姩娣诲姞token鍒癱ookie涓�,cookie涓殑token浼樺厛
+const DEV_TOKEN =  ''
+function environmentType(){
+  let type
+  if (location.href.includes('192.168.20.119')) {
+    type = 'test'
+  } else if (location.href.includes('192.168') || location.href.includes('localhost')) {
+    type = 'dev'
+  } else {
+    type = 'prod'
+  }
+
+  return type
+}
+const isDev = environmentType() === 'dev'
+
+const getApsPage = () => {
+  // 棣栭〉閮ㄧ讲鍦ㄥ悇涓幆澧冪殑绔彛
+  const loginPathMap = {
+    prod:`//${window.location.hostname}:9080`,
+    test:`//192.168.20.119:9080`,
+    // 鎯宠烦鍒版湰鍦板惎鍔ㄧ殑鐧诲綍椤电殑璇濋渶瑕佹妸dev鏀规垚浣犳湰鍦伴」鐩矾寰�
+    dev: `//192.168.20.124:8081`
+  }
+
+  return loginPathMap[environmentType()]
+}
+
+
 const Axios = axios.create({
   responseType: "json",
   withCredentials: true // 鏄惁鍏佽甯ookie杩欎簺
@@ -11,11 +40,16 @@
 /* //POST浼犲弬搴忓垪鍖�(娣诲姞璇锋眰鎷︽埅鍣�) */
 Axios.interceptors.request.use(
   (config) => {
-    // 鑻ユ槸鏈夊仛閴存潈token , 灏辩粰澶撮儴甯︿笂token
-    // let token = util.cookies.get("token");
-    // if (token != undefined) {
-    //   config.headers.Authorization = "Bearer " + token;
-    // }
+    let token = document.cookie.replace(
+        /(?:(?:^|.*;\s*)token\s*=\s*([^;]*).*$)|^.*$/,
+        "$1",
+    );
+    if (isDev){
+      token = token || DEV_TOKEN
+    }
+    if (token) {
+      config.headers.Authorization = "Bearer " + token;
+    }
 
     return config
   },
@@ -30,6 +64,14 @@
     /* //瀵瑰搷搴旀暟鎹仛浜涗簨 */
     if (res.data.code === 200) {
       return res.data ? res.data : {}
+    }else if([2012,2013,2014,2015].includes(res.data.code)){
+      if (isDev){
+        alert("JWT澶辨晥")
+      }else {
+        //   JWT閴存潈澶辨晥 璺宠浆鍒扮櫥褰曢〉
+        window.location = getApsPage()+'/login'
+      }
+      return Promise.reject(res.data)
     } else {
       Message({
         message: res.data.msg,
@@ -40,6 +82,15 @@
     }
   },
   (error) => {
+    if (error.response.status === 401){
+      if (isDev){
+        alert("JWT澶辨晥")
+      }else {
+        //   JWT閴存潈澶辨晥 璺宠浆鍒扮櫥褰曢〉
+        window.location = getApsPage()+'/login'
+      }
+    }
+
     let { message } = error
     if (message === "Network Error") {
       message = "鍚庣鎺ュ彛杩炴帴寮傚父"
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index 39f484e..d2d5e5b 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -504,8 +504,8 @@
     async getCompanyList() {
       await getCompanyList().then((res) => {
         console.log(res)
-        if (res.data.code === 200) {
-          this.companyOptions = res.data.data
+        if (res.code === 200) {
+          this.companyOptions = res.data
         }
       })
     },
diff --git a/src/views/overview/AddOverviewDialog.vue b/src/views/overview/AddOverviewDialog.vue
index 19c0ba2..e11476a 100644
--- a/src/views/overview/AddOverviewDialog.vue
+++ b/src/views/overview/AddOverviewDialog.vue
@@ -365,8 +365,8 @@
     async getCompanyList() {
       await getCompanyList().then((res) => {
         console.log(res)
-        if (res.data.code === 200) {
-          this.companyOptions = res.data.data
+        if (res.code === 200) {
+          this.companyOptions = res.data
         }
       })
     },
@@ -391,9 +391,9 @@
         page: 0,
         pageSize: 0
       }).then((res) => {
-        console.log(res.data.data)
-        if (res.data.code === 200) {
-          const list = res.data.data.map((item) => {
+        console.log(res.data)
+        if (res.code === 200) {
+          const list = res.data.map((item) => {
             return {
               name: item.name,
               id: item.id
diff --git a/src/views/overview/index.vue b/src/views/overview/index.vue
index 68f17c7..a4b17f1 100644
--- a/src/views/overview/index.vue
+++ b/src/views/overview/index.vue
@@ -99,15 +99,15 @@
         page: this.pagerOptions.currPage,
         pageSize: this.pagerOptions.pageSize
       }).then((res) => {
-        console.log(res.data.data)
-        if (res.data.code === 200) {
-          const list = res.data.data.map((item) => {
+        console.log(res.data)
+        if (res.code === 200) {
+          const list = res.data.map((item) => {
             return {
               ...item
             }
           })
           this.tableList = list || []
-          this.pagerOptions.totalCount = res.data.total
+          this.pagerOptions.totalCount = res.total
         }
       })
     },
diff --git a/src/views/reportForm/inventoryReport/index.vue b/src/views/reportForm/inventoryReport/index.vue
index d3b066d..eaef51d 100644
--- a/src/views/reportForm/inventoryReport/index.vue
+++ b/src/views/reportForm/inventoryReport/index.vue
@@ -399,8 +399,8 @@
         page: this.pagerOptions.currPage,
         pageSize: this.pagerOptions.pageSize
       }).then((res) => {
-        if (res.data.code === 200) {
-          this.warehouseList = res.data.data
+        if (res.code === 200) {
+          this.warehouseList = res.data
         }
       })
     }
diff --git a/src/views/warehouseManage/bussinessType/AddBussinessType.vue b/src/views/warehouseManage/bussinessType/AddBussinessType.vue
index 39d532e..b3d2827 100644
--- a/src/views/warehouseManage/bussinessType/AddBussinessType.vue
+++ b/src/views/warehouseManage/bussinessType/AddBussinessType.vue
@@ -280,8 +280,8 @@
         page: 0,
         pageSize: 0
       }).then((res) => {
-        if (res.data.code == 200) {
-          this.warehouseList = res.data.data ? res.data.data : []
+        if (res.code == 200) {
+          this.warehouseList = res.data ? res.data : []
         }
       })
     },
diff --git a/src/views/warehouseManage/bussinessType/index.vue b/src/views/warehouseManage/bussinessType/index.vue
index 3f6eeea..679d229 100644
--- a/src/views/warehouseManage/bussinessType/index.vue
+++ b/src/views/warehouseManage/bussinessType/index.vue
@@ -108,10 +108,10 @@
         page: this.pagerOptions.currPage,
         pageSize: this.pagerOptions.pageSize
       }).then((res) => {
-        if (res.data.code === 200) {
-          const list = res.data.data
+        if (res.code === 200) {
+          const list = res.data
           this.tableList.tableInfomation = list || []
-          this.pagerOptions.totalCount = res.data.data.total
+          this.pagerOptions.totalCount = res.total
         }
       })
     },
diff --git a/src/views/warehouseManage/warehouse/index.vue b/src/views/warehouseManage/warehouse/index.vue
index 3cacba9..03e589f 100644
--- a/src/views/warehouseManage/warehouse/index.vue
+++ b/src/views/warehouseManage/warehouse/index.vue
@@ -125,10 +125,10 @@
         page: this.pagerOptions.currPage,
         pageSize: this.pagerOptions.pageSize
       }).then((res) => {
-        if (res.data.code == 200) {
-          const list = res.data.data?res.data.data:[]
+        if (res.code == 200) {
+          const list = res.data?res.data:[]
           this.tableList.tableInfomation = list
-          this.pagerOptions.totalCount = res.data.total
+          this.pagerOptions.totalCount = res.total
         }
       })
     },

--
Gitblit v1.8.0