修改SSO

This commit is contained in:
ZhuJW
2026-07-10 21:10:17 +08:00
parent fce40c7d6c
commit 6ebd45d894
14 changed files with 66 additions and 76 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ VITE_GLOB_APP_TITLE="RDCA_Incidents Data Portal"
VITE_ENV=test
# 登录跳转
VITE_LOGIN_URL = http://localhost:5221/accidentportal/user/login
VITE_LOGIN_URL = /api/user/login
# 请求头的密钥
VITE_APP_CHECK_KEY = 'mbincid-server12'
+9 -9
View File
@@ -1,14 +1,14 @@
# 接口前缀(相对路径,走 nginx 反代)
VITE_APP_BASE_API=/accidentportal/api
VITE_APP_BASE_URL=http://150.158.236.152:5221
# The title of your application (string)
# 站点域名
VITE_APP_BASE_URL=https://cadb.dvb.corpinter.net.cn
VITE_GLOB_APP_TITLE="RDCA_Incidents Data Portal"
# 登录跳转
# VITE_LOGIN_URL = http://150.158.236.152:5221/login
VITE_LOGIN_URL = http://150.158.236.152:5221/accidentportal/api/user/login
# 登录入口:整页跳到后端 SSO 入口(经 nginx /accidentportal/api 反代)
VITE_LOGIN_URL=/accidentportal/api/user/login
# 请求头的密钥
VITE_APP_CHECK_KEY = 'mbincid-server12'
VITE_APP_CHECK_KEY='mbincid-server12'
# 前端配置域名加的前缀
VITE_APP_DOMAIN_PREFIX = 'accidentportal'
# 前端路由/资源前缀
VITE_APP_DOMAIN_PREFIX='accidentportal'
+1 -1
View File
@@ -53,7 +53,7 @@ onMounted(async () => {
// console.log(`Redirecting to: ${redirectPath}`);
// router.push({name:"report"});
// }
window.location.href = 'https://cadb.dvb.corpinter.net.cn/accidentportal/oauth/report'
window.location.href = `${import.meta.env.BASE_URL}oauth/report`
} else {
console.error("No authentication cookies found");
error.value = "Authentication failed: missing cookies";
+1 -1
View File
@@ -37,7 +37,7 @@ const router = createRouter({
...staticRoutes,
...routes
],
history: createWebHistory(import.meta.env.VITE_APP_DOMAIN_PREFIX), //accidentportal
history: createWebHistory(import.meta.env.BASE_URL), // dev: '/' prod: '/accidentportal/'
// history: createWebHashHistory('/accidentportal/'), //accidentportal
})
+1 -2
View File
@@ -28,9 +28,8 @@ async function requestHandler(config: InternalAxiosRequestConfig & RequestConfig
import.meta.env.DEV
&& import.meta.env.VITE_APP_BASE_API_DEV
&& import.meta.env.VITE_APP_BASE_URL_DEV
&& config.customDev
) {
// 替换url的请求前缀baseUrl
// 开发环境统一使用 /api 前缀(由 vite 代理重写为后端真实前缀)
config.baseURL = import.meta.env.VITE_APP_BASE_API_DEV
}
// console.log('Request URL:', config.baseURL)
-31
View File
@@ -11,32 +11,19 @@ declare module 'vue' {
AAlert: typeof import('ant-design-vue/es')['Alert']
AApp: typeof import('ant-design-vue/es')['App']
AAvatar: typeof import('ant-design-vue/es')['Avatar']
AAvatarGroup: typeof import('ant-design-vue/es')['AvatarGroup']
ABreadcrumb: typeof import('ant-design-vue/es')['Breadcrumb']
ABreadcrumbItem: typeof import('ant-design-vue/es')['BreadcrumbItem']
AButton: typeof import('ant-design-vue/es')['Button']
ACard: typeof import('ant-design-vue/es')['Card']
ACardGrid: typeof import('ant-design-vue/es')['CardGrid']
ACardMeta: typeof import('ant-design-vue/es')['CardMeta']
Access: typeof import('./../src/components/access/index.vue')['default']
ACheckbox: typeof import('ant-design-vue/es')['Checkbox']
ACheckboxGroup: typeof import('ant-design-vue/es')['CheckboxGroup']
ACol: typeof import('ant-design-vue/es')['Col']
AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider']
ADatePicker: typeof import('ant-design-vue/es')['DatePicker']
ADescriptions: typeof import('ant-design-vue/es')['Descriptions']
ADescriptionsItem: typeof import('ant-design-vue/es')['DescriptionsItem']
ADivider: typeof import('ant-design-vue/es')['Divider']
ADrawer: typeof import('ant-design-vue/es')['Drawer']
ADropdown: typeof import('ant-design-vue/es')['Dropdown']
AForm: typeof import('ant-design-vue/es')['Form']
AFormItem: typeof import('ant-design-vue/es')['FormItem']
AFormItemRest: typeof import('ant-design-vue/es')['FormItemRest']
AImage: typeof import('ant-design-vue/es')['Image']
AImagePreviewGroup: typeof import('ant-design-vue/es')['ImagePreviewGroup']
AInput: typeof import('ant-design-vue/es')['Input']
AInputNumber: typeof import('ant-design-vue/es')['InputNumber']
AInputPassword: typeof import('ant-design-vue/es')['InputPassword']
AInputSearch: typeof import('ant-design-vue/es')['InputSearch']
ALayout: typeof import('ant-design-vue/es')['Layout']
ALayoutContent: typeof import('ant-design-vue/es')['LayoutContent']
@@ -49,36 +36,19 @@ declare module 'vue' {
AMenu: typeof import('ant-design-vue/es')['Menu']
AMenuDivider: typeof import('ant-design-vue/es')['MenuDivider']
AMenuItem: typeof import('ant-design-vue/es')['MenuItem']
AModal: typeof import('ant-design-vue/es')['Modal']
APopconfirm: typeof import('ant-design-vue/es')['Popconfirm']
AProgress: typeof import('ant-design-vue/es')['Progress']
ARadio: typeof import('ant-design-vue/es')['Radio']
ARadioButton: typeof import('ant-design-vue/es')['RadioButton']
ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup']
ARangePicker: typeof import('ant-design-vue/es')['RangePicker']
AResult: typeof import('ant-design-vue/es')['Result']
ARow: typeof import('ant-design-vue/es')['Row']
ASelect: typeof import('ant-design-vue/es')['Select']
ASelectOption: typeof import('ant-design-vue/es')['SelectOption']
ASpace: typeof import('ant-design-vue/es')['Space']
ASpin: typeof import('ant-design-vue/es')['Spin']
AStatistic: typeof import('ant-design-vue/es')['Statistic']
AStatisticCountdown: typeof import('ant-design-vue/es')['StatisticCountdown']
AStep: typeof import('ant-design-vue/es')['Step']
ASteps: typeof import('ant-design-vue/es')['Steps']
ASubMenu: typeof import('ant-design-vue/es')['SubMenu']
ASwitch: typeof import('ant-design-vue/es')['Switch']
ATable: typeof import('ant-design-vue/es')['Table']
ATabPane: typeof import('ant-design-vue/es')['TabPane']
ATabs: typeof import('ant-design-vue/es')['Tabs']
ATag: typeof import('ant-design-vue/es')['Tag']
ATextarea: typeof import('ant-design-vue/es')['Textarea']
ATimePicker: typeof import('ant-design-vue/es')['TimePicker']
ATooltip: typeof import('ant-design-vue/es')['Tooltip']
ATreeSelect: typeof import('ant-design-vue/es')['TreeSelect']
ATypographyParagraph: typeof import('ant-design-vue/es')['TypographyParagraph']
ATypographyText: typeof import('ant-design-vue/es')['TypographyText']
AUpload: typeof import('ant-design-vue/es')['Upload']
AWatermark: typeof import('ant-design-vue/es')['Watermark']
BaseLoading: typeof import('./../src/components/base-loading/index.vue')['default']
CarbonLanguage: typeof import('./../src/components/icons/carbon-language.vue')['default']
@@ -101,7 +71,6 @@ declare module 'vue' {
RouterView: typeof import('vue-router')['RouterView']
SelectLang: typeof import('./../src/components/select-lang/index.vue')['default']
TokenProvider: typeof import('./../src/components/token-provider/index.vue')['default']
Tooltip: typeof import('ant-design-vue/es')['Tooltip']
UserAvatar: typeof import('./../src/components/user-avatar/index.vue')['default']
VirtualList: typeof import('./../src/components/virtual-list/index.vue')['default']
}
+6 -5
View File
@@ -22,16 +22,17 @@ export default ({ mode }: ConfigEnv): UserConfig => {
// }
// }
if (mode === 'development' && env.VITE_APP_BASE_API && env.VITE_APP_BASE_URL) {
proxyObj[env.VITE_APP_BASE_API] = {
target: env.VITE_APP_BASE_URL,
if (mode === 'development' && env.VITE_APP_BASE_API_DEV && env.VITE_APP_BASE_URL_DEV) {
proxyObj[env.VITE_APP_BASE_API_DEV] = {
target: env.VITE_APP_BASE_URL_DEV,
changeOrigin: true,
rewrite: path => path.replace(new RegExp(`^${env.VITE_APP_BASE_API}`), ''),
// 浏览器请求 /api/xxx,转发给后端时补上域名前缀 -> /accidentportal/api/xxx
rewrite: path => path.replace(new RegExp(`^${env.VITE_APP_BASE_API_DEV}`), '/accidentportal/api'),
}
}
return {
base: '/accidentportal/',
base: mode === 'development' ? '/' : '/accidentportal/',
plugins: createVitePlugins(env),
resolve: {
alias: [