import type { PaginatedResponse, Create{{pascalCase name}}Dto, Update{{pascalCase name}}Dto, {{pascalCase name}}Response, } from '@seclusion/shared'; import { API_ENDPOINTS } from '@/config/constants'; import { http } from '@/lib/http'; export interface Get{{pascalCase pluralName}}Params { page?: number; pageSize?: number; {{#each queryFields}} {{name}}?: string; {{/each}} } const BASE_URL = API_ENDPOINTS.{{constantCase pluralName}}; export const {{camelCase name}}Service = { // 获取{{chineseName}}列表 get{{pascalCase pluralName}}: ( params: Get{{pascalCase pluralName}}Params = {}, ): Promise> => { return http.get>(BASE_URL, { params }); }, {{#if softDelete}} // 获取已删除的{{chineseName}}列表 getDeleted{{pascalCase pluralName}}: ( params: Get{{pascalCase pluralName}}Params = {}, ): Promise> => { return http.get>( `${BASE_URL}/deleted`, { params }, ); }, {{/if}} // 获取单个{{chineseName}} get{{pascalCase name}}: (id: string): Promise<{{pascalCase name}}Response> => { return http.get<{{pascalCase name}}Response>(`${BASE_URL}/${id}`); }, // 创建{{chineseName}} create{{pascalCase name}}: ( data: Create{{pascalCase name}}Dto, ): Promise<{{pascalCase name}}Response> => { return http.post<{{pascalCase name}}Response>(BASE_URL, data); }, // 更新{{chineseName}} update{{pascalCase name}}: ( id: string, data: Update{{pascalCase name}}Dto, ): Promise<{{pascalCase name}}Response> => { return http.patch<{{pascalCase name}}Response>(`${BASE_URL}/${id}`, data); }, // 删除{{chineseName}} delete{{pascalCase name}}: (id: string): Promise => { return http.delete(`${BASE_URL}/${id}`); }, {{#if softDelete}} // 恢复{{chineseName}} restore{{pascalCase name}}: (id: string): Promise<{{pascalCase name}}Response> => { return http.patch<{{pascalCase name}}Response>(`${BASE_URL}/${id}/restore`); }, {{/if}} };