zhuliu 1 rok temu
rodzic
commit
52488f934d
2 zmienionych plików z 17 dodań i 1 usunięć
  1. 16 1
      src/utils/axios.js
  2. 1 0
      src/views/login/index.vue

+ 16 - 1
src/utils/axios.js

@@ -28,14 +28,29 @@ let config = {
 
 const _axios = axios.create(config);
 
+async function getLocalIPAddress() {
+  try {
+    var data = storage.getCookie('X-Forwarded-For')
+    if(data){
+      return data
+    }
+    const response = await axios.get('https://api.ipify.org');
+    storage.setCookie('X-Forwarded-For',response.data)
+    return response.data; // 提取并返回 IP 地址
+  } catch (error) {
+    return null; // 如果获取失败,返回null或其他错误处理
+  }
+}
+
 _axios.interceptors.request.use(
-  function (config) {
+  async function (config) {
     // Do something before request is sent
     const token = storage.getStr(constants.token)
     if (token) {
       // config.headers[constants.tokenHeader] = token
     }
     config.headers['x-project-id'] = Store.getters.projectId || ''
+    config.headers['X-Forwarded-For'] = await getLocalIPAddress()
     if (config.loading) {
       loadingInstance = Loading.service({})
     }

+ 1 - 0
src/views/login/index.vue

@@ -245,6 +245,7 @@ export default {
     // 登录按钮点击
     submitForm() {
       this.btnLoading = true;
+      Storage.setCookie('X-Forwarded-For',null)
       this.$api.adminLogin(this.ruleForm).then(async response => {
         Storage.setStr('username', this.ruleForm.username)
         Storage.setStr('password', this.ruleForm.password)