Skip to content

Commit 1eacbe6

Browse files
committed
Merge remote-tracking branch 'origin/dev' into dev
2 parents a2474c9 + cc9e118 commit 1eacbe6

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed

src/api/ai/image/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ export interface ImageMidjourneyImagineReqVO {
4242
prompt: string // 提示词
4343
model: string // 模型 mj nijj
4444
base64Array: string[] // size不能为空
45+
width: string // 图片宽度
46+
height: string // 图片高度
4547
}
4648

4749
// TODO 芋艿:review 下整体注释、方法名

src/views/ai/image/midjourney/index.vue

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,22 @@
3030
</el-button>
3131
</el-space>
3232
</div>
33+
<div class="image-size">
34+
<div>
35+
<el-text tag="b">尺寸</el-text>
36+
</div>
37+
<el-space wrap class="size-list">
38+
<div class="size-item"
39+
v-for="imageSize in imageSizeList"
40+
:key="imageSize.key"
41+
@click="handlerSizeClick(imageSize)">
42+
<div :class="selectImageSize === imageSize ? 'size-wrapper selectImageSize' : 'size-wrapper'">
43+
<div :style="imageSize.style"></div>
44+
</div>
45+
<div class="size-font">{{ imageSize.key }}</div>
46+
</div>
47+
</el-space>
48+
</div>
3349
<div class="model">
3450
<div>
3551
<el-text tag="b">模型</el-text>
@@ -73,6 +89,8 @@ interface ImageModelVO {
7389
interface ImageSizeVO {
7490
key: string
7591
style: string,
92+
width: string,
93+
height: string,
7694
}
7795
7896
// 定义属性
@@ -94,6 +112,41 @@ const models = ref<ImageModelVO[]>([
94112
]) // 模型
95113
selectModel.value = models.value[0] // 默认选中
96114
115+
const selectImageSize = ref<ImageSizeVO>({} as ImageSizeVO) // 选中 size
116+
const imageSizeList = ref<ImageSizeVO[]>([
117+
{
118+
key: '1:1',
119+
width: "1",
120+
height: "1",
121+
style: 'width: 30px; height: 30px;background-color: #dcdcdc;',
122+
},
123+
{
124+
key: '3:4',
125+
width: "3",
126+
height: "4",
127+
style: 'width: 30px; height: 40px;background-color: #dcdcdc;',
128+
},
129+
{
130+
key: '4:3',
131+
width: "4",
132+
height: "3",
133+
style: 'width: 40px; height: 30px;background-color: #dcdcdc;',
134+
},
135+
{
136+
key: '9:16',
137+
width: "9",
138+
height: "16",
139+
style: 'width: 30px; height: 50px;background-color: #dcdcdc;',
140+
},
141+
{
142+
key: '16:9',
143+
width: "16",
144+
height: "9",
145+
style: 'width: 50px; height: 30px;background-color: #dcdcdc;',
146+
},
147+
]) // size
148+
selectImageSize.value = imageSizeList.value[0]
149+
97150
// 定义 Props
98151
const props = defineProps({})
99152
@@ -112,6 +165,17 @@ const handlerHotWordClick = async (hotWord: string) => {
112165
prompt.value = hotWord
113166
}
114167
168+
/**
169+
* size - click
170+
*/
171+
const handlerSizeClick = async (imageSize: ImageSizeVO) => {
172+
if (selectImageSize.value === imageSize) {
173+
selectImageSize.value = {} as ImageSizeVO
174+
return
175+
}
176+
selectImageSize.value = imageSize
177+
}
178+
115179
/**
116180
* 模型 - click
117181
*/
@@ -131,6 +195,8 @@ const handlerGenerateImage = async () => {
131195
const req = {
132196
prompt: prompt.value,
133197
model: selectModel.value.key,
198+
width: selectImageSize.value.width,
199+
height: selectImageSize.value.height,
134200
base64Array: [],
135201
} as ImageMidjourneyImagineReqVO
136202
await ImageApi.midjourneyImagine(req)

0 commit comments

Comments
 (0)