Skip to content

Commit 1afdbe6

Browse files
committed
Merge remote-tracking branch 'yudao/dev' into dev
2 parents 18e87cf + f3777f6 commit 1afdbe6

File tree

134 files changed

+3483
-819
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+3483
-819
lines changed

.env

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,8 @@ VITE_APP_DOCALERT_ENABLE=true
1818

1919
# 百度统计
2020
VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc
21+
22+
# 默认账户密码
23+
VITE_APP_DEFAULT_LOGIN_TENANT = 芋道源码
24+
VITE_APP_DEFAULT_LOGIN_USERNAME = admin
25+
VITE_APP_DEFAULT_LOGIN_PASSWORD = admin123

README.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,16 @@
5454

5555
推荐 VS Code 开发,配合插件如下:
5656

57-
| 插件名 | 功能 |
58-
|-------------------------------|--------------------------|
59-
| TypeScript Vue Plugin (Volar) | 用于 TypeScript 的 Vue 插件 |
60-
| Vue Language Features (Volar) | Vue3.0 语法支持 |
61-
| unocss | unocss for vscode |
62-
| Iconify IntelliSense | Iconify 预览和搜索 |
63-
| i18n Ally | 国际化智能提示 |
64-
| Stylelint | Css 格式化 |
65-
| Prettier | 代码格式化 |
66-
| ESLint | 脚本代码检查 |
67-
| DotENV | env 文件高亮 |
57+
| 插件名 | 功能 |
58+
|-------------------------------|---------------------|
59+
| Vue - Official | Vue 与 TypeScript 支持 |
60+
| unocss | unocss for vscode |
61+
| Iconify IntelliSense | Iconify 预览和搜索 |
62+
| i18n Ally | 国际化智能提示 |
63+
| Stylelint | Css 格式化 |
64+
| Prettier | 代码格式化 |
65+
| ESLint | 脚本代码检查 |
66+
| DotENV | env 文件高亮 |
6867

6968
## 🔥 后端架构
7069

src/api/ai/chat/conversation/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ export const ChatConversationApi = {
4343
},
4444

4545
// 删除【我的】所有对话,置顶除外
46-
deleteMyAllExceptPinned: async () => {
47-
return await request.delete({ url: `/ai/chat/conversation/delete-my-all-except-pinned` })
46+
deleteChatConversationMyByUnpinned: async () => {
47+
return await request.delete({ url: `/ai/chat/conversation/delete-by-unpinned` })
4848
},
4949

5050
// 获得【我的】聊天对话列表

src/api/ai/image/index.ts

Lines changed: 59 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,29 @@
11
import request from '@/config/axios'
22

3-
// AI API 密钥 VO
4-
// TODO @fan:要不前端不弄太多 VO,就用这个 ImageDetailVO?!
5-
export interface ImageDetailVO {
3+
// AI 绘图 VO
4+
export interface ImageVO {
65
id: number // 编号
6+
platform: string // 平台
7+
model: string // 模型
78
prompt: string // 提示词
9+
width: number // 图片宽度
10+
height: number // 图片高度
811
status: number // 状态
9-
errorMessage: string // 错误信息
10-
type: string // 模型下分不同的类型(清晰、真实...)
11-
taskId: number // dr 任务id
12+
publicStatus: boolean // 公开状态
1213
picUrl: string // 任务地址
13-
originalPicUrl: string // 绘制图片地址
14-
platform: string // 平台
15-
model: string // 模型
16-
style: string // 图像生成的风格
17-
size: string // 图片尺寸
14+
errorMessage: string // 错误信息
15+
options: object // 配置 Map<string, string>
16+
taskId: number // 任务编号
1817
buttons: ImageMjButtonsVO[] // mj 操作按钮
1918
createTime: string // 创建时间
20-
updateTime: string // 更新事件
21-
}
22-
23-
export interface ImageMjButtonsVO {
24-
customId: string // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
25-
emoji: string // 图标 emoji
26-
label: string // Make Variations 文本
27-
style: number // 样式: 2(Primary)、3(Green)
19+
finishTime: string // 完成时间
2820
}
2921

30-
export interface ImageMjActionVO {
31-
id: string // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
32-
customId: string // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
33-
}
34-
35-
3622
export interface ImagePageReqVO {
3723
pageNo: number // 分页编号
3824
pageSize: number // 分页大小
3925
}
4026

41-
export interface ImageDallReqVO {
42-
prompt: string // 提示词
43-
model: string // 模型
44-
style: string // 图像生成的风格
45-
width: string // 图片宽度
46-
height: string // 图片高度
47-
}
48-
4927
export interface ImageDrawReqVO {
5028
platform: string // 平台
5129
prompt: string // 提示词
@@ -65,34 +43,66 @@ export interface ImageMidjourneyImagineReqVO {
6543
version: string // 版本
6644
}
6745

68-
// TODO 芋艿:review 下整体注释、方法名
46+
export interface ImageMjActionVO {
47+
id: number // 图片编号
48+
customId: string // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
49+
}
50+
51+
export interface ImageMjButtonsVO {
52+
customId: string // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
53+
emoji: string // 图标 emoji
54+
label: string // Make Variations 文本
55+
style: number // 样式: 2(Primary)、3(Green)
56+
}
57+
6958
// AI API 密钥 API
7059
export const ImageApi = {
71-
// 获取 image 列表
72-
getImageList: async (params: ImagePageReqVO) => {
60+
// 获取【我的】绘图分页
61+
getImagePageMy: async (params: ImagePageReqVO) => {
7362
return await request.get({ url: `/ai/image/my-page`, params })
7463
},
75-
// 获取 image 详细信息
76-
getImageDetail: async (id: number) => {
77-
return await request.get({ url: `/ai/image/get-my?id=${id}`})
64+
// 获取【我的】绘图记录
65+
getImageMy: async (id: number) => {
66+
return await request.get({ url: `/ai/image/get-my?id=${id}` })
67+
},
68+
// 获取【我的】绘图记录列表
69+
getImageListMyByIds: async (ids: number[]) => {
70+
return await request.get({ url: `/ai/image/my-list-by-ids`, params: { ids: ids.join(',') } })
7871
},
7972
// 生成图片
80-
drawImage: async (data: ImageDrawReqVO)=> {
73+
drawImage: async (data: ImageDrawReqVO) => {
8174
return await request.post({ url: `/ai/image/draw`, data })
8275
},
83-
// 删除
84-
deleteImage: async (id: number)=> {
85-
return await request.delete({ url: `/ai/image/delete-my?id=${id}`})
76+
// 删除【我的】绘画记录
77+
deleteImageMy: async (id: number) => {
78+
return await request.delete({ url: `/ai/image/delete-my?id=${id}` })
8679
},
8780

88-
// ------------ midjourney
81+
// ================ midjourney 专属 ================
8982

90-
// midjourney - imagine
91-
midjourneyImagine: async (data: ImageMidjourneyImagineReqVO)=> {
83+
// 【Midjourney】生成图片
84+
midjourneyImagine: async (data: ImageMidjourneyImagineReqVO) => {
9285
return await request.post({ url: `/ai/image/midjourney/imagine`, data })
9386
},
94-
// midjourney - action
95-
midjourneyAction: async (params: ImageMjActionVO)=> {
96-
return await request.get({ url: `/ai/image/midjourney/action`, params })
87+
// 【Midjourney】Action 操作(二次生成图片)
88+
midjourneyAction: async (data: ImageMjActionVO) => {
89+
return await request.post({ url: `/ai/image/midjourney/action`, data })
9790
},
91+
92+
// ================ 绘图管理 ================
93+
94+
// 查询绘画分页
95+
getImagePage: async (params: any) => {
96+
return await request.get({ url: `/ai/image/page`, params })
97+
},
98+
99+
// 更新绘画发布状态
100+
updateImage: async (data: any) => {
101+
return await request.put({ url: '/ai/image/update-public-status', data })
102+
},
103+
104+
// 删除绘画
105+
deleteImage: async (id: number) => {
106+
return await request.delete({ url: `/ai/image/delete?id=` + id })
107+
}
98108
}

src/api/ai/music/index.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import request from '@/config/axios'
2+
3+
// AI 音乐 VO
4+
export interface MusicVO {
5+
id: number // 编号
6+
userId: number // 用户编号
7+
title: string // 音乐名称
8+
lyric: string // 歌词
9+
imageUrl: string // 图片地址
10+
audioUrl: string // 音频地址
11+
videoUrl: string // 视频地址
12+
status: number // 音乐状态
13+
gptDescriptionPrompt: string // 描述词
14+
prompt: string // 提示词
15+
platform: string // 模型平台
16+
model: string // 模型
17+
generateMode: number // 生成模式
18+
tags: string // 音乐风格标签
19+
duration: number // 音乐时长
20+
publicStatus: boolean // 是否发布
21+
taskId: string // 任务id
22+
errorMessage: string // 错误信息
23+
}
24+
25+
// AI 音乐 API
26+
export const MusicApi = {
27+
// 查询音乐分页
28+
getMusicPage: async (params: any) => {
29+
return await request.get({ url: `/ai/music/page`, params })
30+
},
31+
32+
// 更新音乐
33+
updateMusic: async (data: any) => {
34+
return await request.put({ url: '/ai/music/update', data })
35+
},
36+
37+
// 删除音乐
38+
deleteMusic: async (id: number) => {
39+
return await request.delete({ url: `/ai/music/delete?id=` + id })
40+
}
41+
}

src/api/infra/jobLog/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export interface JobLogVO {
1212
duration: string
1313
status: number
1414
createTime: string
15+
result: string
1516
}
1617

1718
// 任务日志列表
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import request from '@/config/axios'
2+
3+
export interface KeFuConversationRespVO {
4+
id: number // 编号
5+
userId: number // 会话所属用户
6+
userAvatar: string // 会话所属用户头像
7+
userNickname: string // 会话所属用户昵称
8+
lastMessageTime: Date // 最后聊天时间
9+
lastMessageContent: string // 最后聊天内容
10+
lastMessageContentType: number // 最后发送的消息类型
11+
adminPinned: boolean // 管理端置顶
12+
userDeleted: boolean // 用户是否可见
13+
adminDeleted: boolean // 管理员是否可见
14+
adminUnreadMessageCount: number // 管理员未读消息数
15+
createTime?: string // 创建时间
16+
}
17+
18+
// 客服会话 API
19+
export const KeFuConversationApi = {
20+
// 获得客服会话列表
21+
getConversationList: async () => {
22+
return await request.get({ url: '/promotion/kefu-conversation/list' })
23+
},
24+
// 客服会话置顶
25+
updateConversationPinned: async (data: any) => {
26+
return await request.put({
27+
url: '/promotion/kefu-conversation/update-conversation-pinned',
28+
data
29+
})
30+
},
31+
// 删除客服会话
32+
deleteConversation: async (id: number) => {
33+
return await request.get({ url: '/promotion/kefu-conversation/delete?id' + id })
34+
}
35+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import request from '@/config/axios'
2+
3+
export interface KeFuMessageRespVO {
4+
id: number // 编号
5+
conversationId: number // 会话编号
6+
senderId: number // 发送人编号
7+
senderAvatar: string // 发送人头像
8+
senderType: number // 发送人类型
9+
receiverId: number // 接收人编号
10+
receiverType: number // 接收人类型
11+
contentType: number // 消息类型
12+
content: string // 消息
13+
readStatus: boolean // 是否已读
14+
createTime: Date // 创建时间
15+
}
16+
17+
// 客服会话 API
18+
export const KeFuMessageApi = {
19+
// 发送客服消息
20+
sendKeFuMessage: async (data: any) => {
21+
return await request.post({
22+
url: '/promotion/kefu-message/send',
23+
data
24+
})
25+
},
26+
// 更新客服消息已读状态
27+
updateKeFuMessageReadStatus: async (conversationId: number) => {
28+
return await request.put({
29+
url: '/promotion/kefu-message/update-read-status?conversationId=' + conversationId
30+
})
31+
},
32+
// 获得消息分页数据
33+
getKeFuMessagePage: async (params: any) => {
34+
return await request.get({ url: '/promotion/kefu-message/page', params })
35+
}
36+
}

src/api/mall/promotion/seckill/seckillConfig.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const SeckillConfigApi = {
1919

2020
// 查询秒杀时段列表
2121
getSimpleSeckillConfigList: async () => {
22-
return await request.get({ url: `/promotion/seckill-config/simple-list` })
22+
return await request.get({ url: `/promotion/seckill-config/list` })
2323
},
2424

2525
// 查询秒杀时段详情

src/assets/ai/dall2.jpg

108 KB
Loading

0 commit comments

Comments
 (0)