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:
sexygoat
2026-01-22 16:35:33 +08:00
commit 222e5bb11a
495 changed files with 145440 additions and 0 deletions

104
src/api/modules/role.ts Normal file
View 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}`)
}
}