Initial commit: One Pipe System
完整的管理系统,包含账户管理、卡片管理、套餐管理、财务管理等功能模块。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
104
src/api/modules/role.ts
Normal file
104
src/api/modules/role.ts
Normal file
@@ -0,0 +1,104 @@
|
||||
/**
|
||||
* 角色相关 API - 匹配后端实际接口
|
||||
*/
|
||||
|
||||
import { BaseService } from '../BaseService'
|
||||
import type {
|
||||
PlatformRole,
|
||||
RoleQueryParams,
|
||||
PlatformRoleFormData,
|
||||
PermissionTreeNode,
|
||||
BaseResponse,
|
||||
PaginationResponse
|
||||
} from '@/types/api'
|
||||
|
||||
export class RoleService extends BaseService {
|
||||
/**
|
||||
* 获取角色分页列表
|
||||
* GET /api/admin/roles
|
||||
* @param params 查询参数
|
||||
*/
|
||||
static getRoles(params?: RoleQueryParams): Promise<PaginationResponse<PlatformRole>> {
|
||||
return this.getPage<PlatformRole>('/api/admin/roles', params)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取角色详情
|
||||
* GET /api/admin/roles/{id}
|
||||
* @param id 角色ID
|
||||
*/
|
||||
static getRole(id: number): Promise<BaseResponse<PlatformRole>> {
|
||||
return this.getOne<PlatformRole>(`/api/admin/roles/${id}`)
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建角色
|
||||
* POST /api/admin/roles
|
||||
* @param data 角色数据
|
||||
*/
|
||||
static createRole(data: PlatformRoleFormData): Promise<BaseResponse> {
|
||||
return this.create('/api/admin/roles', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新角色
|
||||
* PUT /api/admin/roles/{id}
|
||||
* @param id 角色ID
|
||||
* @param data 角色数据
|
||||
*/
|
||||
static updateRole(id: number, data: PlatformRoleFormData): Promise<BaseResponse> {
|
||||
return this.update(`/api/admin/roles/${id}`, data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除角色
|
||||
* DELETE /api/admin/roles/{id}
|
||||
* @param id 角色ID
|
||||
*/
|
||||
static deleteRole(id: number): Promise<BaseResponse> {
|
||||
return this.remove(`/api/admin/roles/${id}`)
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新角色状态
|
||||
* PUT /api/admin/roles/{id}/status
|
||||
* @param roleId 角色ID
|
||||
* @param status 状态 (0-禁用, 1-启用)
|
||||
*/
|
||||
static updateRoleStatus(roleId: number, status: 0 | 1): Promise<BaseResponse> {
|
||||
return this.put<BaseResponse>(`/api/admin/roles/${roleId}/status`, { status })
|
||||
}
|
||||
|
||||
// ========== 权限相关 ==========
|
||||
|
||||
/**
|
||||
* 获取角色权限
|
||||
* GET /api/admin/roles/{id}/permissions
|
||||
* @param roleId 角色ID
|
||||
*/
|
||||
static getRolePermissions(roleId: number): Promise<any> {
|
||||
return this.get<any>(`/api/admin/roles/${roleId}/permissions`)
|
||||
}
|
||||
|
||||
/**
|
||||
* 分配权限给角色
|
||||
* POST /api/admin/roles/{id}/permissions
|
||||
* @param roleId 角色ID
|
||||
* @param permissionIds 权限ID列表
|
||||
*/
|
||||
static assignPermissions(roleId: number, permissionIds: number[]): Promise<BaseResponse> {
|
||||
return this.post<BaseResponse>(`/api/admin/roles/${roleId}/permissions`, {
|
||||
perm_ids: permissionIds
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除角色的单个权限
|
||||
* DELETE /api/admin/roles/{role_id}/permissions/{perm_id}
|
||||
* @param roleId 角色ID
|
||||
* @param permId 权限ID
|
||||
*/
|
||||
static removePermission(roleId: number, permId: number): Promise<BaseResponse> {
|
||||
return this.delete<BaseResponse>(`/api/admin/roles/${roleId}/permissions/${permId}`)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user