fix: 权限配置页 GET 请求加 _t 防浏览器缓存 + 保存后自动刷新 UI

This commit is contained in:
yueli
2026-07-17 16:13:12 +08:00
parent 96eb56766e
commit 0074d96163
2 changed files with 16 additions and 3 deletions

View File

@ -4,7 +4,8 @@ import request from '@/utils/request'
export function getAllPermissionTree() { export function getAllPermissionTree() {
return request({ return request({
url: '/v1/permissions/tree', url: '/v1/permissions/tree',
method: 'get' method: 'get',
params: { _t: Date.now() }
}) })
} }
@ -12,7 +13,9 @@ export function getAllPermissionTree() {
export function getRolePermissions(roleCode: string) { export function getRolePermissions(roleCode: string) {
return request({ return request({
url: '/v1/permissions/role/' + roleCode, url: '/v1/permissions/role/' + roleCode,
method: 'get' method: 'get',
// 加时间戳防浏览器缓存,确保权限修改后立即反映
params: { _t: Date.now() }
}) })
} }

View File

@ -498,7 +498,17 @@ const handleSave = async () => {
permissions: permissions permissions: permissions
}) })
if (res.code === 200) { if (res.code === 200) {
ElMessage.success('权限保存成功!请手动切换角色以刷新显示') ElMessage.success('权限保存成功!')
// 立即重新拉取权限刷新 UI带 cache-busting确保拿到最新数据
if (currentRole.value) {
try {
const refreshRes: any = await getRolePermissions(currentRole.value)
if (refreshRes.code === 200) {
const perms = new Set([...(refreshRes.data.menus || []), ...(refreshRes.data.elements || [])])
setRowStatus(tableData.value, perms)
}
} catch (e) { /* 静默失败 */ }
}
} else { } else {
ElMessage.error(res.msg || '保存失败') ElMessage.error(res.msg || '保存失败')
} }