Skip to content

Commit bb34c2b

Browse files
committed
【增加】openai 重新生成
1 parent 39facc2 commit bb34c2b

File tree

1 file changed

+23
-30
lines changed

1 file changed

+23
-30
lines changed

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

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
</div>
3838
<el-space wrap class="model-list">
3939
<div
40-
:class="selectModel === model ? 'modal-item selectModel' : 'modal-item'"
40+
:class="selectModel === model.key ? 'modal-item selectModel' : 'modal-item'"
4141
v-for="model in models"
4242
:key="model.key"
4343

@@ -57,7 +57,7 @@
5757
</div>
5858
<el-space wrap class="image-style-list">
5959
<div
60-
:class="selectImageStyle === imageStyle ? 'image-style-item selectImageStyle' : 'image-style-item'"
60+
:class="selectImageStyle === imageStyle.key ? 'image-style-item selectImageStyle' : 'image-style-item'"
6161
v-for="imageStyle in imageStyleList"
6262
:key="imageStyle.key"
6363
>
@@ -79,7 +79,7 @@
7979
v-for="imageSize in imageSizeList"
8080
:key="imageSize.key"
8181
@click="handlerSizeClick(imageSize)">
82-
<div :class="selectImageSize === imageSize ? 'size-wrapper selectImageSize' : 'size-wrapper'">
82+
<div :class="selectImageSize === imageSize.key ? 'size-wrapper selectImageSize' : 'size-wrapper'">
8383
<div :style="imageSize.style"></div>
8484
</div>
8585
<div class="size-font">{{ imageSize.name }}</div>
@@ -120,7 +120,7 @@ const prompt = ref<string>('') // 提示词
120120
const drawIn = ref<boolean>(false) // 生成中
121121
const selectHotWord = ref<string>('') // 选中的热词
122122
const hotWords = ref<string[]>(['中国旗袍', '古装美女', '卡通头像', '机甲战士', '童话小屋', '中国长城']) // 热词
123-
const selectModel = ref<any>({}) // 模型
123+
const selectModel = ref<string>('dall-e-3') // 模型
124124
// message
125125
const message = useMessage()
126126
// TODO @fan:image 改成项目里自己的哈
@@ -137,9 +137,8 @@ const models = ref<ImageModelVO[]>([
137137
image: 'https://h5.cxyhub.com/images/model_1.png',
138138
},
139139
]) // 模型
140-
selectModel.value = models.value[0]
141140
142-
const selectImageStyle = ref<any>({}) // style 样式
141+
const selectImageStyle = ref<string>('vivid') // style 样式
143142
// TODO @fan:image 改成项目里自己的哈
144143
const imageStyleList = ref<ImageModelVO[]>([
145144
{
@@ -153,9 +152,8 @@ const imageStyleList = ref<ImageModelVO[]>([
153152
image: 'https://h5.cxyhub.com/images/model_2.png',
154153
},
155154
]) // style
156-
selectImageStyle.value = imageStyleList.value[0]
157155
158-
const selectImageSize = ref<ImageSizeVO>({} as ImageSizeVO) // 选中 size
156+
const selectImageSize = ref<string>('1024x1024') // 选中 size
159157
const imageSizeList = ref<ImageSizeVO[]>([
160158
{
161159
key: '1024x1024',
@@ -179,7 +177,6 @@ const imageSizeList = ref<ImageSizeVO[]>([
179177
style: 'width: 50px; height: 30px;background-color: #dcdcdc;',
180178
}
181179
]) // size
182-
selectImageSize.value = imageSizeList.value[0]
183180
184181
// 定义 Props
185182
const props = defineProps({})
@@ -203,29 +200,17 @@ const handlerHotWordClick = async (hotWord: string) => {
203200
204201
/** 模型 - click */
205202
const handlerModelClick = async (model: ImageModelVO) => {
206-
if (selectModel.value === model) {
207-
selectModel.value = {} as ImageModelVO
208-
return
209-
}
210-
selectModel.value = model
203+
selectModel.value = model.key
211204
}
212205
213206
/** 样式 - click */
214207
const handlerStyleClick = async (imageStyle: ImageModelVO) => {
215-
if (selectImageStyle.value === imageStyle) {
216-
selectImageStyle.value = {} as ImageModelVO
217-
return
218-
}
219-
selectImageStyle.value = imageStyle
208+
selectImageStyle.value = imageStyle.key
220209
}
221210
222211
/** size - click */
223212
const handlerSizeClick = async (imageSize: ImageSizeVO) => {
224-
if (selectImageSize.value === imageSize) {
225-
selectImageSize.value = {} as ImageSizeVO
226-
return
227-
}
228-
selectImageSize.value = imageSize
213+
selectImageSize.value = imageSize.key
229214
}
230215
231216
/** 图片生产 */
@@ -236,22 +221,23 @@ const handlerGenerateImage = async () => {
236221
// 加载中
237222
drawIn.value = true
238223
// 回调
239-
emits('onDrawStart', selectModel.value.key)
224+
emits('onDrawStart', selectModel.value)
225+
const imageSize = imageSizeList.value.find(item => item.key === selectImageSize.value) as ImageSizeVO
240226
const form = {
241227
platform: 'OpenAI',
242228
prompt: prompt.value, // 提示词
243-
model: selectModel.value.key, // 模型
244-
width: selectImageSize.value.width, // size 不能为空
245-
height: selectImageSize.value.height, // size 不能为空
229+
model: selectModel.value, // 模型
230+
width: imageSize.width, // size 不能为空
231+
height: imageSize.height, // size 不能为空
246232
options: {
247-
style: selectImageStyle.value.key, // 图像生成的风格
233+
style: selectImageStyle.value, // 图像生成的风格
248234
}
249235
} as ImageDrawReqVO
250236
// 发送请求
251237
await ImageApi.drawImage(form)
252238
} finally {
253239
// 回调
254-
emits('onDrawComplete', selectModel.value.key)
240+
emits('onDrawComplete', selectModel.value)
255241
// 加载结束
256242
drawIn.value = false
257243
}
@@ -260,6 +246,13 @@ const handlerGenerateImage = async () => {
260246
/** 填充值 */
261247
const settingValues = async (imageDetail: ImageVO) => {
262248
prompt.value = imageDetail.prompt
249+
selectModel.value = imageDetail.model
250+
//
251+
selectImageStyle.value = imageDetail.options?.style
252+
//
253+
const imageSize = imageSizeList.value.find(item => item.key === `${imageDetail.width}x${imageDetail.height}`) as ImageSizeVO
254+
console.log('imageSize', imageSize)
255+
await handlerSizeClick(imageSize)
263256
}
264257
265258
/** 暴露组件方法 */

0 commit comments

Comments
 (0)