baodan/frontend/src/utils/ppt-admin-api.ts

106 lines
3.6 KiB
TypeScript
Raw Normal View History

2026-07-23 15:04:16 +08:00
/**
* 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, string>) {
return api.put('/admin/ppt/settings', data)
},
}