Files
one-pipe-system/src/api/modules/packageSeries.ts
sexygoat 20e8c13e61
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m22s
fetch(modify):修改分为元
2026-02-03 17:58:58 +08:00

81 lines
2.2 KiB
TypeScript

/**
* 套餐系列管理 API 服务
*/
import { BaseService } from '../BaseService'
import type {
PackageSeriesResponse,
PackageSeriesQueryParams,
CreatePackageSeriesRequest,
UpdatePackageSeriesRequest,
UpdatePackageSeriesStatusRequest,
BaseResponse,
PaginationResponse
} from '@/types/api'
export class PackageSeriesService extends BaseService {
/**
* 获取套餐系列分页列表
* GET /api/admin/package-series
* @param params 查询参数
*/
static getPackageSeries(
params?: PackageSeriesQueryParams
): Promise<PaginationResponse<PackageSeriesResponse>> {
return this.getPage<PackageSeriesResponse>('/api/admin/package-series', params)
}
/**
* 创建套餐系列
* POST /api/admin/package-series
* @param data 套餐系列数据
*/
static createPackageSeries(
data: CreatePackageSeriesRequest
): Promise<BaseResponse<PackageSeriesResponse>> {
return this.create<PackageSeriesResponse>('/api/admin/package-series', data)
}
/**
* 获取套餐系列详情
* GET /api/admin/package-series/{id}
* @param id 系列ID
*/
static getPackageSeriesDetail(id: number): Promise<BaseResponse<PackageSeriesResponse>> {
return this.getOne<PackageSeriesResponse>(`/api/admin/package-series/${id}`)
}
/**
* 更新套餐系列
* PUT /api/admin/package-series/{id}
* @param id 系列ID
* @param data 套餐系列数据
*/
static updatePackageSeries(
id: number,
data: UpdatePackageSeriesRequest
): Promise<BaseResponse<PackageSeriesResponse>> {
return this.update<PackageSeriesResponse>(`/api/admin/package-series/${id}`, data)
}
/**
* 删除套餐系列
* DELETE /api/admin/package-series/{id}
* @param id 系列ID
*/
static deletePackageSeries(id: number): Promise<BaseResponse> {
return this.remove(`/api/admin/package-series/${id}`)
}
/**
* 更新套餐系列状态
* PUT /api/admin/package-series/{id}/status
* @param id 系列ID
* @param status 状态 (1:启用, 2:禁用)
*/
static updatePackageSeriesStatus(id: number, status: number): Promise<BaseResponse> {
const data: UpdatePackageSeriesStatusRequest = { status }
return this.patch<BaseResponse>(`/api/admin/package-series/${id}/status`, data)
}
}