112 lines
3.8 KiB
TypeScript
112 lines
3.8 KiB
TypeScript
/**
|
|
* 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<string, any>) {
|
|
return api.put('/admin/ppt/settings', data)
|
|
},
|
|
getAvailableModels() {
|
|
return api.get('/admin/ppt/available-models')
|
|
},
|
|
syncModels(data: { provider: string; api_key: string; base_url?: string }) {
|
|
return api.post('/admin/ppt/sync-models', data)
|
|
},
|
|
}
|