/** * PPT/海报管理后台 API 封装 */ import api from './api' export const pptAdminApi = { // ---- 保司管理 ---- listCompanies(params?: { page?: number; page_size?: number; status?: number; keyword?: string }) { return api.get('/admin/ppt/companies', { params }) }, createCompany(data: any) { return api.post('/admin/ppt/companies', data) }, updateCompany(id: string, data: any) { return api.put(`/admin/ppt/companies/${id}`, data) }, updateCompanyStatus(id: string, status: number) { return api.put(`/admin/ppt/companies/${id}/status`, { status }) }, // ---- 产品管理 ---- listProducts(params?: { page?: number; page_size?: number; company_id?: string; plan_type?: string; status?: number }) { return api.get('/admin/ppt/products', { params }) }, createProduct(data: any) { return api.post('/admin/ppt/products', data) }, updateProduct(id: string, data: any) { return api.put(`/admin/ppt/products/${id}`, data) }, updateProductStatus(id: string, status: number) { return api.put(`/admin/ppt/products/${id}/status`, { status }) }, uploadManual(productId: string, file: File) { const formData = new FormData() formData.append('file', file) return api.post(`/admin/ppt/products/${productId}/manual/upload`, formData, { headers: { 'Content-Type': 'multipart/form-data' }, }) }, parseManual(productId: string) { return api.post(`/admin/ppt/products/${productId}/manual/parse`) }, reviewManual(productId: string, data: { rules?: any; reviewedBy?: string }) { return api.put(`/admin/ppt/products/${productId}/manual/review`, data) }, // ---- PPT 模板管理 ---- listTemplates(params?: { page?: number; page_size?: number; plan_type?: string; status?: number }) { return api.get('/admin/ppt/templates', { params }) }, createTemplate(data: any) { return api.post('/admin/ppt/templates', data) }, updateTemplate(id: string, data: any) { return api.put(`/admin/ppt/templates/${id}`, data) }, updateTemplateStatus(id: string, status: number) { return api.put(`/admin/ppt/templates/${id}/status`, { status }) }, // ---- 海报模板管理 ---- listPosterTemplates(params?: { page?: number; page_size?: number; status?: number }) { return api.get('/admin/ppt/poster-templates', { params }) }, createPosterTemplate(data: any) { return api.post('/admin/ppt/poster-templates', data) }, updatePosterTemplate(id: number, data: any) { return api.put(`/admin/ppt/poster-templates/${id}`, data) }, updatePosterTemplateStatus(id: number, status: number) { return api.put(`/admin/ppt/poster-templates/${id}/status`, { status }) }, // ---- 文案模板管理 ---- listCopyTemplates(params?: { page?: number; page_size?: number; status?: number }) { return api.get('/admin/ppt/copy-templates', { params }) }, createCopyTemplate(data: any) { return api.post('/admin/ppt/copy-templates', data) }, updateCopyTemplate(id: number, data: any) { return api.put(`/admin/ppt/copy-templates/${id}`, data) }, deleteCopyTemplate(id: number) { return api.delete(`/admin/ppt/copy-templates/${id}`) }, // ---- 历史记录管理 ---- listHistory(params?: { page?: number; page_size?: number; user_id?: string; company_id?: string; action_type?: string }) { return api.get('/admin/ppt/history', { params }) }, deleteHistory(id: number) { return api.delete(`/admin/ppt/history/${id}`) }, // ---- 系统配置 ---- getSettings() { return api.get('/admin/ppt/settings') }, updateSettings(data: Record) { return api.put('/admin/ppt/settings', data) }, }