Files
one-pipe-system/src/api/modules/permission.ts
sexygoat 222e5bb11a Initial commit: One Pipe System
完整的管理系统,包含账户管理、卡片管理、套餐管理、财务管理等功能模块。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-22 16:35:33 +08:00

77 lines
1.9 KiB
TypeScript

/**
* 权限相关 API - 匹配后端实际接口
*/
import { BaseService } from '../BaseService'
import type {
Permission,
PermissionTreeNode,
PermissionQueryParams,
CreatePermissionParams,
UpdatePermissionParams,
BaseResponse,
PaginationResponse
} from '@/types/api'
export class PermissionService extends BaseService {
/**
* 获取权限列表(分页)
* GET /api/admin/permissions
* @param params 查询参数
*/
static getPermissions(
params?: PermissionQueryParams
): Promise<PaginationResponse<Permission>> {
return this.getPage<Permission>('/api/admin/permissions', params)
}
/**
* 获取权限树
* GET /api/admin/permissions/tree
* 用于角色分配权限时的树形选择
*/
static getPermissionTree(): Promise<BaseResponse<PermissionTreeNode[]>> {
return this.get<BaseResponse<PermissionTreeNode[]>>('/api/admin/permissions/tree')
}
/**
* 获取权限详情
* GET /api/admin/permissions/{id}
* @param id 权限ID
*/
static getPermission(id: number): Promise<BaseResponse<Permission>> {
return this.getOne<Permission>(`/api/admin/permissions/${id}`)
}
/**
* 创建权限
* POST /api/admin/permissions
* @param data 权限数据
*/
static createPermission(data: CreatePermissionParams): Promise<BaseResponse> {
return this.create('/api/admin/permissions', data)
}
/**
* 更新权限
* PUT /api/admin/permissions/{id}
* @param id 权限ID
* @param data 权限数据
*/
static updatePermission(
id: number,
data: UpdatePermissionParams
): Promise<BaseResponse> {
return this.update(`/api/admin/permissions/${id}`, data)
}
/**
* 删除权限
* DELETE /api/admin/permissions/{id}
* @param id 权限ID
*/
static deletePermission(id: number): Promise<BaseResponse> {
return this.remove(`/api/admin/permissions/${id}`)
}
}