Skip to content

Commit 39facc2

Browse files
committed
【增加】midjourney 重新生成
1 parent 807e927 commit 39facc2

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

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

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
v-for="imageSize in imageSizeList"
4040
:key="imageSize.key"
4141
@click="handlerSizeClick(imageSize)">
42-
<div :class="selectImageSize === imageSize ? 'size-wrapper selectImageSize' : 'size-wrapper'">
42+
<div :class="selectImageSize === imageSize.key ? 'size-wrapper selectImageSize' : 'size-wrapper'">
4343
<div :style="imageSize.style"></div>
4444
</div>
4545
<div class="size-font">{{ imageSize.key }}</div>
@@ -74,7 +74,7 @@
7474
</div>
7575
<el-space wrap class="model-list">
7676
<div
77-
:class="selectModel === model ? 'modal-item selectModel' : 'modal-item'"
77+
:class="selectModel === model.key ? 'modal-item selectModel' : 'modal-item'"
7878
v-for="model in models"
7979
:key="model.key"
8080

@@ -129,7 +129,7 @@ const prompt = ref<string>('') // 提示词
129129
const referImage = ref<any>() // 参考图
130130
const selectHotWord = ref<string>('') // 选中的热词
131131
const hotWords = ref<string[]>(['中国旗袍', '古装美女', '卡通头像', '机甲战士', '童话小屋', '中国长城']) // 热词
132-
const selectModel = ref<any>() // 选中的热词
132+
const selectModel = ref<string>('midjourney') // 选中的热词
133133
const models = ref<ImageModelVO[]>([
134134
{
135135
key: 'midjourney',
@@ -142,9 +142,8 @@ const models = ref<ImageModelVO[]>([
142142
image: 'https://bigpt8.com/pc/_nuxt/nj.ca79b143.png',
143143
},
144144
]) // 模型
145-
selectModel.value = models.value[0] // 默认选中
146145
147-
const selectImageSize = ref<ImageSizeVO>({} as ImageSizeVO) // 选中 size
146+
const selectImageSize = ref<string>('1:1') // 选中 size
148147
const imageSizeList = ref<ImageSizeVO[]>([
149148
{
150149
key: '1:1',
@@ -177,10 +176,8 @@ const imageSizeList = ref<ImageSizeVO[]>([
177176
style: 'width: 50px; height: 30px;background-color: #dcdcdc;',
178177
},
179178
]) // size
180-
selectImageSize.value = imageSizeList.value[0]
181179
182180
// version
183-
let versionList = ref<any>([]) // version 列表
184181
const midjourneyVersionList = ref<any>([
185182
{
186183
value: '6.0',
@@ -210,6 +207,7 @@ const nijiVersionList = ref<any>([
210207
},
211208
])
212209
const selectVersion = ref<any>('6.0') // 选中的 version
210+
let versionList = ref<any>([]) // version 列表
213211
versionList.value = midjourneyVersionList.value // 默认选择 midjourney
214212
215213
/** 热词 - click */
@@ -227,16 +225,12 @@ const handlerHotWordClick = async (hotWord: string) => {
227225
228226
/** size - click */
229227
const handlerSizeClick = async (imageSize: ImageSizeVO) => {
230-
if (selectImageSize.value === imageSize) {
231-
selectImageSize.value = {} as ImageSizeVO
232-
return
233-
}
234-
selectImageSize.value = imageSize
228+
selectImageSize.value = imageSize.key
235229
}
236230
237231
/** 模型 - click */
238232
const handlerModelClick = async (model: ImageModelVO) => {
239-
selectModel.value = model
233+
selectModel.value = model.key
240234
if (model.key === 'niji') {
241235
versionList.value = nijiVersionList.value // 默认选择 niji
242236
} else {
@@ -258,26 +252,38 @@ const handlerGenerateImage = async () => {
258252
try {
259253
console.log('referImage.value', referImage.value)
260254
// 回调
261-
emits('onDrawStart', selectModel.value.key)
255+
emits('onDrawStart', selectModel.value)
262256
// 发送请求
257+
const imageSize = imageSizeList.value.find(item => selectImageSize === item.key) as ImageSizeVO
263258
const req = {
264259
prompt: prompt.value,
265-
model: selectModel.value.key,
266-
width: selectImageSize.value.width,
267-
height: selectImageSize.value.height,
260+
model: selectModel.value,
261+
width: imageSize.width,
262+
height: imageSize.height,
268263
version: selectVersion.value,
269264
referImageUrl: referImage.value,
270265
} as ImageMidjourneyImagineReqVO
271266
await ImageApi.midjourneyImagine(req)
272267
} finally {
273268
// 回调
274-
emits('onDrawComplete', selectModel.value.key)
269+
emits('onDrawComplete', selectModel.value)
275270
}
276271
}
277272
278273
/** 填充值 */
279274
const settingValues = async (imageDetail: ImageVO) => {
275+
// 提示词
280276
prompt.value = imageDetail.prompt
277+
// image size
278+
const imageSize = imageSizeList.value.find(item => item.key === `${imageDetail.width}:${imageDetail.height}`) as ImageSizeVO
279+
selectImageSize.value = imageSize.key
280+
// 选中模型
281+
const model = models.value.find(item => item.key === imageDetail.options?.model) as ImageModelVO
282+
await handlerModelClick(model)
283+
// 版本
284+
selectVersion.value = versionList.value.find(item => item.value === imageDetail.options?.version).value
285+
// image
286+
referImage.value = imageDetail.options.referImageUrl
281287
}
282288
283289
/** 暴露组件方法 */

0 commit comments

Comments
 (0)