Merge branch 'master' of gitee.com:liangzigongshe/foreign-admin-ui into 2026-4-8SongslDev

Signed-off-by: Songsl <16905340+songsl2000@user.noreply.gitee.com>
This commit is contained in:
Songsl 2026-04-22 06:30:30 +00:00 committed by Gitee
commit b743b76f7e
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 34 additions and 30 deletions

View File

@ -79,6 +79,7 @@ service.interceptors.request.use(requestInterceptor, requestErrorInterceptor)
const responseInterceptor = <T = unknown>(response: AxiosResponse<ApiResponse<T>>) => {
//关闭loading无论成功失败都要关
hideLoading()
const config = response.config
if (response.headers['new_token'] !== undefined) {
setStorage('token', response.headers['new_token'] as string)
}
@ -87,13 +88,14 @@ const responseInterceptor = <T = unknown>(response: AxiosResponse<ApiResponse<T>
console.log('响应数据data', data)
// 判断业务状态码
if (data.code == 200 || data.code == 0) {
// 仅当业务成功时,才弹成功提示
if (config.showMessage !== false) {
ElNotification({
message: data.msg || '操作成功!',
type: 'success',
duration: 2000,
customClass: 'global-notification',
customClass: 'global-notification'
})
}
return data.data
} else {
switch (data.code) {
@ -156,12 +158,14 @@ const responseErrorInterceptor = (error: AxiosError) => {
errMsg = error.message || '服务器错误'
}
if (error.config?.showMessage !== false) {
ElNotification({
message: errMsg,
type: 'error',
duration: 2000,
customClass: 'global-notification',
customClass: 'global-notification'
})
}
return Promise.reject(error)
}
@ -170,14 +174,14 @@ service.interceptors.response.use(responseInterceptor, responseErrorInterceptor)
// 5. 封装通用请求方法
export const request = {
get<T = unknown>(url: string, params?: unknown, config?: InternalAxiosRequestConfig): Promise<T> {
return service.get<ApiResponse<T>>(url, { params, ...config }).then((res) => {
return res as T
})
return service.get<ApiResponse<T>>(url, { params, ...config,showMessage:false }).then((res) => {
return res as T;
});
},
post<T = unknown>(url: string, data?: unknown, config?: InternalAxiosRequestConfig): Promise<T> {
return service.post<ApiResponse<T>>(url, data, config).then((res) => {
return res as T
})
return service.post<ApiResponse<T>>(url, data, {config,showMessage: true,}).then((res) => {
return res as T;
});
},
}

View File

@ -9,7 +9,7 @@
<!-- 菜单区域 -->
<el-menu class="menu" :unique-opened="true" :default-active="activeMenu" router>
<template v-for="menu in staticMenuList" :key="menu.id">
<template v-for="menu in menuList" :key="menu.id">
<!-- 无子菜单 -->
<el-menu-item v-if="!menu.children || menu.children.length === 0" :index="menu.path">
<el-icon>
@ -58,7 +58,7 @@ const menuList = ref<any[]>([])
// index fullPath
const activeMenu = computed(() => {
return route.fullPath // 使 path
return route.fullPath // 使 path
})
//
onMounted(async () => {