fix: 权限配置页 GET 请求加 _t 防浏览器缓存 + 保存后自动刷新 UI
This commit is contained in:
@ -4,7 +4,8 @@ import request from '@/utils/request'
|
||||
export function getAllPermissionTree() {
|
||||
return request({
|
||||
url: '/v1/permissions/tree',
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
params: { _t: Date.now() }
|
||||
})
|
||||
}
|
||||
|
||||
@ -12,7 +13,9 @@ export function getAllPermissionTree() {
|
||||
export function getRolePermissions(roleCode: string) {
|
||||
return request({
|
||||
url: '/v1/permissions/role/' + roleCode,
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
// 加时间戳防浏览器缓存,确保权限修改后立即反映
|
||||
params: { _t: Date.now() }
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -498,7 +498,17 @@ const handleSave = async () => {
|
||||
permissions: permissions
|
||||
})
|
||||
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 {
|
||||
ElMessage.error(res.msg || '保存失败')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user