From 7a7b549de3486a90f9bc4b3105aeecf83ce015c5 Mon Sep 17 00:00:00 2001 From: chenhao Date: Thu, 26 Mar 2026 20:09:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(router):=20=E6=B7=BB=E5=8A=A0=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E4=B8=BB=E6=9C=BA=E8=B7=AF=E5=BE=84=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=92=8C=E4=BA=A7=E5=93=81=E7=BB=B4=E4=BF=9D=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=A0=87=E9=A2=98=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入 `isServiceHost` 函数并根据服务主机设置路由路径 - 更新产品维保查询页面标题 - 在生产环境配置中添加 `VUE_APP_SERVICE_HOST` - 更新权限检查逻辑以支持服务主机路径 --- oms_web/oms_vue/.env.production | 1 + oms_web/oms_vue/src/permission.js | 4 ++++ oms_web/oms_vue/src/router/index.js | 12 +++++++++--- oms_web/oms_vue/src/utils/serviceHost.js | 12 ++++++++++++ oms_web/oms_vue/src/views/manage/service/index.vue | 4 ++-- 5 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 oms_web/oms_vue/src/utils/serviceHost.js diff --git a/oms_web/oms_vue/.env.production b/oms_web/oms_vue/.env.production index 4f5e6ceb..8c54bdc7 100644 --- a/oms_web/oms_vue/.env.production +++ b/oms_web/oms_vue/.env.production @@ -6,3 +6,4 @@ ENV = 'production' # 若依管理系统/生产环境 VUE_APP_BASE_API = '/prod-api' +VUE_APP_SERVICE_HOST = 'wb.service.unissense.top' diff --git a/oms_web/oms_vue/src/permission.js b/oms_web/oms_vue/src/permission.js index 72639031..886c037b 100644 --- a/oms_web/oms_vue/src/permission.js +++ b/oms_web/oms_vue/src/permission.js @@ -5,12 +5,16 @@ import NProgress from 'nprogress' import 'nprogress/nprogress.css' import { isPathMatch } from '@/utils/validate' import { isRelogin } from '@/utils/request' +import { isServiceHost } from '@/utils/serviceHost' NProgress.configure({ showSpinner: false }) const whiteList = ['/login', '/register', '/manage/service','/system/vendor/query','/system/partner/query'] const isWhiteList = (path) => { + if (path === '/' && isServiceHost()) { + return true + } return whiteList.some(pattern => isPathMatch(pattern, path)) } diff --git a/oms_web/oms_vue/src/router/index.js b/oms_web/oms_vue/src/router/index.js index b3f26363..526f8521 100644 --- a/oms_web/oms_vue/src/router/index.js +++ b/oms_web/oms_vue/src/router/index.js @@ -1,5 +1,6 @@ import Vue from 'vue' import Router from 'vue-router' +import { isServiceHost } from '@/utils/serviceHost' Vue.use(Router) @@ -62,10 +63,10 @@ export const constantRoutes = [ hidden: true }, { - path: '', + path: isServiceHost() ? '/admin-root' : '', component: Layout, - redirect: 'index', - children: [ + redirect: isServiceHost() ? undefined : 'index', + children: isServiceHost() ? [] : [ { path: 'index', component: () => import('@/views/index'), @@ -152,6 +153,11 @@ export const constantRoutes = [ }, + { + path: isServiceHost() ? '/' : '/service-host-root', + component: () => import('@/views/manage/service/index'), + hidden: true + }, { path: '/manage/service', component: () => import('@/views/manage/service/index'), diff --git a/oms_web/oms_vue/src/utils/serviceHost.js b/oms_web/oms_vue/src/utils/serviceHost.js new file mode 100644 index 00000000..34401b9e --- /dev/null +++ b/oms_web/oms_vue/src/utils/serviceHost.js @@ -0,0 +1,12 @@ +const serviceHosts = (process.env.VUE_APP_SERVICE_HOST || '') + .split(',') + .map(host => host.trim().toLowerCase()) + .filter(Boolean) + +export function isServiceHost(hostname) { + const currentHost = (hostname || (typeof window !== 'undefined' ? window.location.hostname : '') || '') + .trim() + .toLowerCase() + + return currentHost !== '' && serviceHosts.includes(currentHost) +} diff --git a/oms_web/oms_vue/src/views/manage/service/index.vue b/oms_web/oms_vue/src/views/manage/service/index.vue index 4fd29f0f..8843f1ba 100644 --- a/oms_web/oms_vue/src/views/manage/service/index.vue +++ b/oms_web/oms_vue/src/views/manage/service/index.vue @@ -1,7 +1,7 @@