contentModel.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**
  2. * 内容模型服务
  3. */
  4. import { defHttp } from "../../http";
  5. export interface ContentModel {
  6. id: string;
  7. name: string;
  8. description: string;
  9. fields: Array<{
  10. name: string;
  11. type: string;
  12. required: boolean;
  13. }>;
  14. createdAt: string;
  15. updatedAt: string;
  16. }
  17. export interface ContentModelListParams {
  18. pageNo?: number;
  19. pageSize?: number;
  20. name?: string;
  21. }
  22. export interface ContentModelListResult {
  23. records: ContentModel[];
  24. total: number;
  25. }
  26. /**
  27. * 内容模型 API
  28. */
  29. export const contentModelApi = {
  30. // 获取内容模型列表
  31. getList: (params?: ContentModelListParams) =>
  32. defHttp.get<ContentModelListResult>({
  33. url: "/api/content-model/list",
  34. params,
  35. }),
  36. // 获取内容模型详情
  37. getDetail: (id: string) =>
  38. defHttp.get<ContentModel>({
  39. url: `/api/content-model/${id}`,
  40. }),
  41. // 创建内容模型
  42. create: (data: Partial<ContentModel>) =>
  43. defHttp.post<ContentModel>({
  44. url: "/api/content-model",
  45. data,
  46. }),
  47. // 更新内容模型
  48. update: (id: string, data: Partial<ContentModel>) =>
  49. defHttp.put<ContentModel>({
  50. url: `/api/content-model/${id}`,
  51. data,
  52. }),
  53. // 删除内容模型
  54. delete: (id: string) =>
  55. defHttp.delete({
  56. url: `/api/content-model/${id}`,
  57. }),
  58. };