index.ts 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import request from '@/config/axios'
  2. // AI API 密钥 VO
  3. // TODO @fan:要不前端不弄太多 VO,就用这个 ImageDetailVO?!
  4. export interface ImageDetailVO {
  5. id: number // 编号
  6. prompt: string // 提示词
  7. status: number // 状态
  8. errorMessage: string // 错误信息
  9. type: string // 模型下分不同的类型(清晰、真实...)
  10. taskId: number // dr 任务id
  11. picUrl: string // 任务地址
  12. originalPicUrl: string // 绘制图片地址
  13. platform: string // 平台
  14. model: string // 模型
  15. style: string // 图像生成的风格
  16. size: string // 图片尺寸
  17. createTime: string // 创建时间
  18. updateTime: string // 更新事件
  19. }
  20. export interface ImagePageReqVO {
  21. pageNo: number // 分页编号
  22. pageSize: number // 分页大小
  23. }
  24. export interface ImageDallReqVO {
  25. prompt: string // 提示词
  26. model: string // 模型
  27. style: string // 图像生成的风格
  28. width: string // 图片宽度
  29. height: string // 图片高度
  30. }
  31. export interface ImageDrawReqVO {
  32. platform: string // 平台
  33. prompt: string // 提示词
  34. model: string // 模型
  35. style: string // 图像生成的风格
  36. width: string // 图片宽度
  37. height: string // 图片高度
  38. options: object // 绘制参数,Map<String, String>
  39. }
  40. export interface ImageMidjourneyImagineReqVO {
  41. prompt: string // 提示词
  42. model: string // 模型 mj nijj
  43. base64Array: string[] // size不能为空
  44. width: string // 图片宽度
  45. height: string // 图片高度
  46. }
  47. // TODO 芋艿:review 下整体注释、方法名
  48. // AI API 密钥 API
  49. export const ImageApi = {
  50. // 获取 image 列表
  51. getImageList: async (params: ImagePageReqVO) => {
  52. return await request.get({ url: `/ai/image/my-page`, params })
  53. },
  54. // 获取 image 详细信息
  55. getImageDetail: async (id: number) => {
  56. return await request.get({ url: `/ai/image/get-my?id=${id}`})
  57. },
  58. // 生成图片
  59. drawImage: async (data: ImageDrawReqVO)=> {
  60. return await request.post({ url: `/ai/image/draw`, data })
  61. },
  62. // midjourney - imagine
  63. midjourneyImagine: async (data: ImageMidjourneyImagineReqVO)=> {
  64. return await request.post({ url: `/ai/image/midjourney/imagine`, data })
  65. },
  66. // 删除
  67. deleteImage: async (id: number)=> {
  68. return await request.delete({ url: `/ai/image/delete-my?id=${id}`})
  69. },
  70. }