feat: 新增角色管理模块,优化API与交互体验
Some checks failed
Release pipeline / publish (push) Has been cancelled
Release pipeline / Always run job (push) Has been cancelled

1.  新增角色管理后台页面、路由与国际化文案
2.  重构API请求错误处理逻辑,统一拦截业务与HTTP错误
3.  新增确认弹窗组合式函数,区分取消与请求错误场景
4.  完善表格按钮权限与显示控制逻辑
5.  更新API参数规范与文档说明
6.  修复部分页面分页数据解析问题
This commit is contained in:
sheng
2026-05-28 19:16:05 +08:00
parent ba43de8f4b
commit a61036e5dc
14 changed files with 999 additions and 45 deletions

View File

@@ -80,14 +80,19 @@ function createService () {
}
// 有 code 判断为项目接口请求
let errorMessage = ''
switch (response.data.code) {
// 返回响应内容
case 0: return response.data.data
// 例如在 code 401 情况下退回到登录页面
case 401: throw new Error('请重新登录')
// 根据需要添加其它判断
default: throw new Error(`${response.data.msg}: ${response.config.url}`)
case 401:
errorMessage = '请重新登录'
break
default:
errorMessage = response.data.msg || '请求失败'
break
}
const businessError = new Error(`${errorMessage}: ${response.config.url}`)
handleError(businessError)
throw businessError
},
error => {
const status = get(error, 'response.status')

View File

@@ -7,6 +7,8 @@ export function getMenuAll (data) {
url: urls + 'all',
method: 'get',
params: {
method: 'system_settings_menu_configuration_menu_all',
platform: 'background',
...data
}
})

View File

@@ -0,0 +1,75 @@
import { request } from '@/api/_service'
const BASE = 'system_settings/user_management/role/'
function apiParams (method, data = {}) {
return {
method: `system_settings_user_management_role_${method}`,
platform: 'background',
...data
}
}
export function getRoleList (data) {
return request({
url: BASE + 'list',
method: 'get',
params: apiParams('list', data)
})
}
export function createRole (data) {
return request({
url: BASE + 'create',
method: 'post',
data: apiParams('create', data)
})
}
export function editRole (data) {
return request({
url: BASE + 'edit',
method: 'put',
data: apiParams('edit', data)
})
}
export function deleteRole (data) {
return request({
url: BASE + 'delete',
method: 'delete',
data: apiParams('delete', data)
})
}
export function updateRoleStatus (data) {
return request({
url: BASE + 'update_status',
method: 'put',
data: apiParams('update_status', data)
})
}
export function giveRoleMenu (data) {
return request({
url: BASE + 'give',
method: 'put',
data: {
method: 'system_settings_user_management_give_role_menu',
platform: 'background',
...data
}
})
}
export function getRoleMenu (data) {
return request({
url: BASE + 'menu',
method: 'get',
params: {
method: 'system_settings_user_management_role_menu',
platform: 'background',
...data
}
})
}