houzhongjian
2024-08-08 820397e43a0b64d35c6d31d2a55475061438593b
提交 | 用户 | 时间
820397 1 import request from '@/config/axios'
H 2
3 // AI 绘图 VO
4 export interface ImageVO {
5   id: number // 编号
6   platform: string // 平台
7   model: string // 模型
8   prompt: string // 提示词
9   width: number // 图片宽度
10   height: number // 图片高度
11   status: number // 状态
12   publicStatus: boolean // 公开状态
13   picUrl: string // 任务地址
14   errorMessage: string // 错误信息
15   options: any // 配置 Map<string, string>
16   taskId: number // 任务编号
17   buttons: ImageMidjourneyButtonsVO[] // mj 操作按钮
18   createTime: Date // 创建时间
19   finishTime: Date // 完成时间
20 }
21
22 export interface ImageDrawReqVO {
23   platform: string // 平台
24   prompt: string // 提示词
25   model: string // 模型
26   style: string // 图像生成的风格
27   width: string // 图片宽度
28   height: string // 图片高度
29   options: object // 绘制参数,Map<String, String>
30 }
31
32 export interface ImageMidjourneyImagineReqVO {
33   prompt: string // 提示词
34   model: string // 模型 mj nijj
35   base64Array: string[] // size不能为空
36   width: string // 图片宽度
37   height: string // 图片高度
38   version: string // 版本
39 }
40
41 export interface ImageMidjourneyActionVO {
42   id: number // 图片编号
43   customId: string // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
44 }
45
46 export interface ImageMidjourneyButtonsVO {
47   customId: string // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
48   emoji: string // 图标 emoji
49   label: string // Make Variations 文本
50   style: number // 样式: 2(Primary)、3(Green)
51 }
52
53 // AI 图片 API
54 export const ImageApi = {
55   // 获取【我的】绘图分页
56   getImagePageMy: async (params: any) => {
57     return await request.get({ url: `/ai/image/my-page`, params })
58   },
59   // 获取【我的】绘图记录
60   getImageMy: async (id: number) => {
61     return await request.get({ url: `/ai/image/get-my?id=${id}` })
62   },
63   // 获取【我的】绘图记录列表
64   getImageListMyByIds: async (ids: number[]) => {
65     return await request.get({ url: `/ai/image/my-list-by-ids`, params: { ids: ids.join(',') } })
66   },
67   // 生成图片
68   drawImage: async (data: ImageDrawReqVO) => {
69     return await request.post({ url: `/ai/image/draw`, data })
70   },
71   // 删除【我的】绘画记录
72   deleteImageMy: async (id: number) => {
73     return await request.delete({ url: `/ai/image/delete-my?id=${id}` })
74   },
75
76   // ================ midjourney 专属 ================
77
78   // 【Midjourney】生成图片
79   midjourneyImagine: async (data: ImageMidjourneyImagineReqVO) => {
80     return await request.post({ url: `/ai/image/midjourney/imagine`, data })
81   },
82   // 【Midjourney】Action 操作(二次生成图片)
83   midjourneyAction: async (data: ImageMidjourneyActionVO) => {
84     return await request.post({ url: `/ai/image/midjourney/action`, data })
85   },
86
87   // ================ 绘图管理 ================
88
89   // 查询绘画分页
90   getImagePage: async (params: any) => {
91     return await request.get({ url: `/ai/image/page`, params })
92   },
93
94   // 更新绘画发布状态
95   updateImage: async (data: any) => {
96     return await request.put({ url: '/ai/image/update', data })
97   },
98
99   // 删除绘画
100   deleteImage: async (id: number) => {
101     return await request.delete({ url: `/ai/image/delete?id=` + id })
102   }
103 }