From bdacf27471620926bd61c245b5f80ce9d4a70e3e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 01 九月 2025 16:19:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev_tide' into dev

---
 src/permission.js         |   95 +++++++++++------------
 src/views/tideLogin.vue   |   23 +++++
 src/api/login.js          |   12 +++
 src/store/modules/user.js |   18 ++++
 package.json              |    2 
 .env.production           |    2 
 src/assets/logo/logo.png  |    0 
 vite.config.js            |    5 
 src/router/index.js       |   34 ++++---
 9 files changed, 119 insertions(+), 72 deletions(-)

diff --git a/.env.production b/.env.production
index 4cde885..708d2b7 100644
--- a/.env.production
+++ b/.env.production
@@ -8,4 +8,4 @@
 VITE_APP_BASE_API = '/prod-api'
 
 # 鏄惁鍦ㄦ墦鍖呮椂寮�鍚帇缂╋紝鏀寔 gzip 鍜� brotli
-VITE_BUILD_COMPRESS = gzip
\ No newline at end of file
+VITE_BUILD_COMPRESS = gzip
diff --git a/package.json b/package.json
index ce94b30..3fd8e3d 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "ruoyi",
   "version": "3.8.9",
-  "description": "鍩烘櫤娌逛簳绠$悊绯荤粺",
+  "description": "MES",
   "author": "鑻ヤ緷",
   "license": "MIT",
   "type": "module",
diff --git a/src/api/login.js b/src/api/login.js
index 100d42f..fea9d46 100644
--- a/src/api/login.js
+++ b/src/api/login.js
@@ -93,3 +93,15 @@
     data: data
   })
 }
+
+export function tideLogin(data) {
+  return request({
+    url: '/tide/tideLogin',
+    headers: {
+      isToken: false,
+      repeatSubmit: false
+    },
+    method: 'post',
+    data: data
+  })
+}
diff --git a/src/assets/logo/logo.png b/src/assets/logo/logo.png
index e263760..91a5896 100644
--- a/src/assets/logo/logo.png
+++ b/src/assets/logo/logo.png
Binary files differ
diff --git a/src/permission.js b/src/permission.js
index 5b2566b..809df37 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -1,76 +1,69 @@
-import router from "./router";
-import { ElMessage } from "element-plus";
-import NProgress from "nprogress";
-import "nprogress/nprogress.css";
-import { getToken } from "@/utils/auth";
-import { isHttp, isPathMatch } from "@/utils/validate";
-import { isRelogin } from "@/utils/request";
-import useUserStore from "@/store/modules/user";
-import useSettingsStore from "@/store/modules/settings";
-import usePermissionStore from "@/store/modules/permission";
+import router from './router'
+import { ElMessage } from 'element-plus'
+import NProgress from 'nprogress'
+import 'nprogress/nprogress.css'
+import { getToken } from '@/utils/auth'
+import { isHttp, isPathMatch } from '@/utils/validate'
+import { isRelogin } from '@/utils/request'
+import useUserStore from '@/store/modules/user'
+import useSettingsStore from '@/store/modules/settings'
+import usePermissionStore from '@/store/modules/permission'
 
-NProgress.configure({ showSpinner: false });
+NProgress.configure({ showSpinner: false })
 
-const whiteList = ["/login", "/register", "/device-info"];
+const whiteList = ['/login', '/register', '/callbacklccpn']
 
 const isWhiteList = (path) => {
-  return whiteList.some((pattern) => isPathMatch(pattern, path));
-};
+  return whiteList.some(pattern => isPathMatch(pattern, path))
+}
 
 router.beforeEach((to, from, next) => {
-  NProgress.start();
+  NProgress.start()
   if (getToken()) {
-    to.meta.title && useSettingsStore().setTitle(to.meta.title);
+    to.meta.title && useSettingsStore().setTitle(to.meta.title)
     /* has token*/
-    if (to.path === "/login") {
-      next({ path: "/" });
-      NProgress.done();
+    if (to.path === '/login') {
+      next({ path: '/' })
+      NProgress.done()
     } else if (isWhiteList(to.path)) {
-      next();
+      next()
     } else {
       if (useUserStore().roles.length === 0) {
-        isRelogin.show = true;
+        isRelogin.show = true
         // 鍒ゆ柇褰撳墠鐢ㄦ埛鏄惁宸叉媺鍙栧畬user_info淇℃伅
-        useUserStore()
-          .getInfo()
-          .then(() => {
-            isRelogin.show = false;
-            usePermissionStore()
-              .generateRoutes()
-              .then((accessRoutes) => {
-                // 鏍规嵁roles鏉冮檺鐢熸垚鍙闂殑璺敱琛�
-                accessRoutes.forEach((route) => {
-                  if (!isHttp(route.path)) {
-                    router.addRoute(route); // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
-                  }
-                });
-                next({ ...to, replace: true }); // hack鏂规硶 纭繚addRoutes宸插畬鎴�
-              });
+        useUserStore().getInfo().then(() => {
+          isRelogin.show = false
+          usePermissionStore().generateRoutes().then(accessRoutes => {
+            // 鏍规嵁roles鏉冮檺鐢熸垚鍙闂殑璺敱琛�
+            accessRoutes.forEach(route => {
+              if (!isHttp(route.path)) {
+                router.addRoute(route) // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
+              }
+            })
+            next({ ...to, replace: true }) // hack鏂规硶 纭繚addRoutes宸插畬鎴�
           })
-          .catch((err) => {
-            useUserStore()
-              .logOut()
-              .then(() => {
-                ElMessage.error(err);
-                next({ path: "/" });
-              });
-          });
+        }).catch(err => {
+          useUserStore().logOut().then(() => {
+            ElMessage.error(err)
+            next({ path: '/' })
+          })
+        })
       } else {
-        next();
+        next()
       }
     }
   } else {
     // 娌℃湁token
     if (isWhiteList(to.path)) {
       // 鍦ㄥ厤鐧诲綍鐧藉悕鍗曪紝鐩存帴杩涘叆
-      next();
+      next()
     } else {
-      next(`/login?redirect=${to.fullPath}`); // 鍚﹀垯鍏ㄩ儴閲嶅畾鍚戝埌鐧诲綍椤�
-      NProgress.done();
+      next(`/login?redirect=${to.fullPath}`) // 鍚﹀垯鍏ㄩ儴閲嶅畾鍚戝埌鐧诲綍椤�
+      NProgress.done()
     }
   }
-});
+})
 
 router.afterEach(() => {
-  NProgress.done();
-});
+  NProgress.done()
+})
diff --git a/src/router/index.js b/src/router/index.js
index f6f0299..5913c56 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -43,6 +43,11 @@
     hidden: true
   },
   {
+    path: "/callbacklccpn",
+    component: () => import("@/views/tideLogin.vue"),
+    hidden: true,
+  },
+  {
     path: '/register',
     component: () => import('@/views/register'),
     hidden: true
@@ -68,6 +73,20 @@
         component: () => import('@/views/index'),
         name: 'Index',
         meta: { title: '棣栭〉', icon: 'dashboard', affix: true }
+      }
+    ]
+  },
+  {
+    path: '/main/MobileChat',
+    component: Layout,
+    redirect: '',
+    hidden: true,
+    children: [
+      {
+        path: '',
+        component: () => import('@/views/chatHome/chatHomeIndex/MobileChat'),
+        name: 'MobileChat',
+        meta: { title: 'AI瀵硅瘽', icon: 'dashboard', affix: true}
       }
     ]
   },
@@ -100,21 +119,6 @@
         component: () => import('@/views/system/user/authRole'),
         name: 'AuthRole',
         meta: { title: '鍒嗛厤瑙掕壊', activeMenu: '/system/user' }
-      }
-    ]
-  },
-  {
-    path: '/main/MobileChat',
-    component: Layout,
-    redirect: '',
-    hidden: true,
-    permissions: ['MobileChat:edit'],
-    children: [
-      {
-        path: '',
-        component: () => import('@/views/chatHome/chatHomeIndex/MobileChat'),
-        name: 'MobileChat',
-        meta: { title: 'AI瀵硅瘽', activeMenu: '/chatHome/chatHomeIndex'}
       }
     ]
   },
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index a007574..1c0d1d2 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,4 +1,4 @@
-import {login, logout, getInfo, loginCheck, loginCheckFactory} from '@/api/login'
+import {login, logout, getInfo, loginCheck, loginCheckFactory,tideLogin} from '@/api/login'
 import { getToken, setToken, removeToken } from '@/utils/auth'
 import { isHttp, isEmpty } from "@/utils/validate"
 import defAva from '@/assets/images/profile.jpg'
@@ -109,6 +109,22 @@
           })
         })
       },
+      TideLogin({ commit }, code) {
+        return new Promise((resolve, reject) => {
+          tideLogin(code)
+              .then((res) => {
+                setToken(res.token);
+                commit("SET_TOKEN", res.token);
+                Vue.prototype.uploadHeader = {
+                  Authorization: "Bearer " + res.token,
+                };
+                resolve();
+              })
+              .catch((error) => {
+                reject(error);
+              });
+        });
+      },
     }
   })
 
diff --git a/src/views/tideLogin.vue b/src/views/tideLogin.vue
new file mode 100644
index 0000000..a96165e
--- /dev/null
+++ b/src/views/tideLogin.vue
@@ -0,0 +1,23 @@
+<template>
+  <div></div>
+</template>
+<script>
+import store from "@/store";
+export default {
+  data() {
+    return {}
+  },
+  created() {
+    this.goLogin()
+  },
+  computed: {},
+  methods: {
+     goLogin() {
+      store.dispatch('TideLogin', {code : this.$route.query.code}).then(() => {
+        this.$router.push({ path: this.redirect || "/" }).catch(() => { });
+      })
+    }
+  }
+}
+</script>
+<style scoped></style>
diff --git a/vite.config.js b/vite.config.js
index dc4c52c..f7cae21 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -8,9 +8,8 @@
   const { VITE_APP_ENV } = env;
   const baseUrl =
     VITE_APP_ENV == "development"
-      ? "http://114.132.189.42:8089" // 寮�鍙戠幆澧冨悗绔帴鍙�
-      // : "http://114.132.189.42:8068"; // 闊﹀痉瀹炰笟鐢熶骇鐜鍚庣鎺ュ彛
-      : "http://114.132.189.42:8078"; // 鍩烘櫤娌逛簳鐢熶骇鐜鍚庣鎺ュ彛
+      ? "http://192.168.1.147:7003" // 寮�鍙戠幆澧冨悗绔帴鍙�
+      : "http://10.136.12.71:7003"; // 鐢熶骇鐜鍚庣鎺ュ彛
 
   return {
     // 閮ㄧ讲鐢熶骇鐜鍜屽紑鍙戠幆澧冧笅鐨刄RL銆�

--
Gitblit v1.9.3