From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目

---
 src/api/ai/image/index.ts |  102 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 102 insertions(+), 0 deletions(-)

diff --git a/src/api/ai/image/index.ts b/src/api/ai/image/index.ts
new file mode 100644
index 0000000..ab2bcf7
--- /dev/null
+++ b/src/api/ai/image/index.ts
@@ -0,0 +1,102 @@
+import request from '@/config/axios'
+
+// AI 缁樺浘 VO
+export interface ImageVO {
+  id: number // 缂栧彿
+  platform: string // 骞冲彴
+  model: string // 妯″瀷
+  prompt: string // 鎻愮ず璇�
+  width: number // 鍥剧墖瀹藉害
+  height: number // 鍥剧墖楂樺害
+  status: number // 鐘舵��
+  publicStatus: boolean // 鍏紑鐘舵��
+  picUrl: string // 浠诲姟鍦板潃
+  errorMessage: string // 閿欒淇℃伅
+  options: any // 閰嶇疆 Map<string, string>
+  taskId: number // 浠诲姟缂栧彿
+  buttons: ImageMidjourneyButtonsVO[] // mj 鎿嶄綔鎸夐挳
+  createTime: Date // 鍒涘缓鏃堕棿
+  finishTime: Date // 瀹屾垚鏃堕棿
+}
+
+export interface ImageDrawReqVO {
+  prompt: string // 鎻愮ず璇�
+  modelId: number // 妯″瀷
+  style: string // 鍥惧儚鐢熸垚鐨勯鏍�
+  width: string // 鍥剧墖瀹藉害
+  height: string // 鍥剧墖楂樺害
+  options: object // 缁樺埗鍙傛暟锛孧ap<String, String>
+}
+
+export interface ImageMidjourneyImagineReqVO {
+  prompt: string // 鎻愮ず璇�
+  modelId: number // 妯″瀷
+  base64Array: string[] // size涓嶈兘涓虹┖
+  width: string // 鍥剧墖瀹藉害
+  height: string // 鍥剧墖楂樺害
+  version: string // 鐗堟湰
+}
+
+export interface ImageMidjourneyActionVO {
+  id: number // 鍥剧墖缂栧彿
+  customId: string // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 鍔ㄤ綔鏍囪瘑
+}
+
+export interface ImageMidjourneyButtonsVO {
+  customId: string // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 鍔ㄤ綔鏍囪瘑
+  emoji: string // 鍥炬爣 emoji
+  label: string // Make Variations 鏂囨湰
+  style: number // 鏍峰紡: 2锛圥rimary锛夈��3锛圙reen锛�
+}
+
+// AI 鍥剧墖 API
+export const ImageApi = {
+  // 鑾峰彇銆愭垜鐨勩�戠粯鍥惧垎椤�
+  getImagePageMy: async (params: any) => {
+    return await request.get({ url: `/ai/image/my-page`, params })
+  },
+  // 鑾峰彇銆愭垜鐨勩�戠粯鍥捐褰�
+  getImageMy: async (id: number) => {
+    return await request.get({ url: `/ai/image/get-my?id=${id}` })
+  },
+  // 鑾峰彇銆愭垜鐨勩�戠粯鍥捐褰曞垪琛�
+  getImageListMyByIds: async (ids: number[]) => {
+    return await request.get({ url: `/ai/image/my-list-by-ids`, params: { ids: ids.join(',') } })
+  },
+  // 鐢熸垚鍥剧墖
+  drawImage: async (data: ImageDrawReqVO) => {
+    return await request.post({ url: `/ai/image/draw`, data })
+  },
+  // 鍒犻櫎銆愭垜鐨勩�戠粯鐢昏褰�
+  deleteImageMy: async (id: number) => {
+    return await request.delete({ url: `/ai/image/delete-my?id=${id}` })
+  },
+
+  // ================ midjourney 涓撳睘 ================
+
+  // 銆怣idjourney銆戠敓鎴愬浘鐗�
+  midjourneyImagine: async (data: ImageMidjourneyImagineReqVO) => {
+    return await request.post({ url: `/ai/image/midjourney/imagine`, data })
+  },
+  // 銆怣idjourney銆慉ction 鎿嶄綔锛堜簩娆$敓鎴愬浘鐗囷級
+  midjourneyAction: async (data: ImageMidjourneyActionVO) => {
+    return await request.post({ url: `/ai/image/midjourney/action`, data })
+  },
+
+  // ================ 缁樺浘绠$悊 ================
+
+  // 鏌ヨ缁樼敾鍒嗛〉
+  getImagePage: async (params: any) => {
+    return await request.get({ url: `/ai/image/page`, params })
+  },
+
+  // 鏇存柊缁樼敾鍙戝竷鐘舵��
+  updateImage: async (data: any) => {
+    return await request.put({ url: '/ai/image/update', data })
+  },
+
+  // 鍒犻櫎缁樼敾
+  deleteImage: async (id: number) => {
+    return await request.delete({ url: `/ai/image/delete?id=` + id })
+  }
+}

--
Gitblit v1.8.0