generate.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import type { BasicFetchResult, BasicPageParams } from '#/api/model';
  2. import { requestClient } from '#/api/request';
  3. export namespace GenerateApi {
  4. export interface PageParams extends BasicPageParams {
  5. businessName?: string;
  6. dbName?: string;
  7. }
  8. export interface BasicRecordItem {
  9. dbName: string;
  10. businessName: string;
  11. templateIds: number[];
  12. }
  13. export interface PreviewItem {
  14. id: number;
  15. template: string;
  16. templateName: string;
  17. }
  18. export interface RecordItem extends BasicRecordItem {
  19. id: number;
  20. }
  21. export type PageResult = BasicFetchResult<RecordItem>;
  22. export const getPage = (params: PageParams) =>
  23. requestClient.get<PageResult>('/generate/page', { params });
  24. export const getDetail = (id: number) =>
  25. requestClient.get<RecordItem>('/generate/entity', {
  26. params: { id },
  27. });
  28. export const preview = (id: number) =>
  29. requestClient.get<PreviewItem[]>('/generate/preview', {
  30. params: { id },
  31. });
  32. export const generate = (id: number) =>
  33. requestClient.post('/generate/Generate', { id });
  34. export const addDetail = (data: BasicRecordItem) =>
  35. requestClient.post('/generate', data);
  36. export const editDetail = (data: RecordItem) =>
  37. requestClient.put('/generate', data);
  38. export const deleteDetail = (id: number) =>
  39. requestClient.delete('/generate', { data: { id } });
  40. }