/** * 模板相关 API 函数 * 对接后端模板管理接口 */ import apiClient from "../client" import type { CopyTemplateResponse, GenerateFromTemplateRequest, GenerateFromTemplateResponse, TemplateItem, TemplateListParams, TemplateListResponse, } from "./types" /** 获取模板列表(支持分页和筛选) */ export const getTemplates = async (params?: TemplateListParams): Promise => { const { data } = await apiClient.get("/templates", { params, }) return data } /** 获取模板列表(兼容旧接口,返回数组) */ export const getTemplatesList = async (): Promise => { const response = await apiClient.get("/templates") return response.data.items || response.data || [] } /** 获取单个模板详情 */ export const getTemplate = async (templateId: string): Promise => { const response = await apiClient.get(`/templates/${templateId}`) return response.data } /** 收藏 / 取消收藏模板 */ export const toggleFavoriteTemplate = async ( templateId: string, ): Promise<{ is_favorite: boolean }> => { const response = await apiClient.post(`/templates/${templateId}/toggle-favorite`) return response.data } /** 复制模板(创建副本到我的模板) */ export const copyTemplate = async (templateId: string): Promise => { const response = await apiClient.post(`/templates/${templateId}/copy`) return response.data } /** 从模板生成 */ export const generateFromTemplate = async ( templateId: string, data?: GenerateFromTemplateRequest, ): Promise => { const response = await apiClient.post( `/templates/${templateId}/generate`, data, ) return response.data }