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

View File

@@ -0,0 +1,76 @@
/**
* 代理账号相关 API - 匹配后端实际接口
*/
import { BaseService } from '../BaseService'
import type {
ShopAccountResponse,
ShopAccountQueryParams,
CreateShopAccountParams,
UpdateShopAccountParams,
UpdateShopAccountPasswordParams,
UpdateShopAccountStatusParams,
BaseResponse,
PaginationResponse
} from '@/types/api'
export class ShopAccountService extends BaseService {
/**
* 获取代理账号列表
* GET /api/admin/shop-accounts
* @param params 查询参数
*/
static getShopAccounts(
params?: ShopAccountQueryParams
): Promise<PaginationResponse<ShopAccountResponse>> {
return this.getPage<ShopAccountResponse>('/api/admin/shop-accounts', params)
}
/**
* 创建代理账号
* POST /api/admin/shop-accounts
* @param data 代理账号数据
*/
static createShopAccount(data: CreateShopAccountParams): Promise<BaseResponse<ShopAccountResponse>> {
return this.post<BaseResponse<ShopAccountResponse>>('/api/admin/shop-accounts', data)
}
/**
* 更新代理账号
* PUT /api/admin/shop-accounts/{id}
* @param id 账号ID
* @param data 更新数据
*/
static updateShopAccount(
id: number,
data: UpdateShopAccountParams
): Promise<BaseResponse<ShopAccountResponse>> {
return this.put<BaseResponse<ShopAccountResponse>>(`/api/admin/shop-accounts/${id}`, data)
}
/**
* 重置代理账号密码
* PUT /api/admin/shop-accounts/{id}/password
* @param id 账号ID
* @param data 密码数据
*/
static updateShopAccountPassword(
id: number,
data: UpdateShopAccountPasswordParams
): Promise<BaseResponse> {
return this.put<BaseResponse>(`/api/admin/shop-accounts/${id}/password`, data)
}
/**
* 启用/禁用代理账号
* PUT /api/admin/shop-accounts/{id}/status
* @param id 账号ID
* @param data 状态数据
*/
static updateShopAccountStatus(
id: number,
data: UpdateShopAccountStatusParams
): Promise<BaseResponse> {
return this.put<BaseResponse>(`/api/admin/shop-accounts/${id}/status`, data)
}
}