61
61
</el-select >
62
62
</el-space >
63
63
</div >
64
-
65
- <div class =" group-item" >
66
- <div >
67
- <el-text tag =" b" >风格</el-text >
68
- </div >
69
- <el-space wrap class =" group-item-body" >
70
- <el-select v-model =" stylePreset" placeholder =" Select" size =" large" class =" !w-350px" >
71
- <el-option
72
- v-for =" item in stylePresetList"
73
- :key =" item.key"
74
- :label =" item.name"
75
- :value =" item.key"
76
- />
77
- </el-select >
78
- </el-space >
79
- </div >
80
64
<div class =" group-item" >
81
65
<div >
82
66
<el-text tag =" b" >图片尺寸</el-text >
83
67
</div >
84
68
<el-space wrap class =" group-item-body" >
85
- <el-input v-model =" width" class =" w-170px" placeholder =" 图片宽度" />
86
- <el-input v-model =" height" class =" w-170px" placeholder =" 图片高度" />
87
- </el-space >
88
- </div >
89
- <div class =" group-item" >
90
- <div >
91
- <el-text tag =" b" >迭代步数</el-text >
92
- </div >
93
- <el-space wrap class =" group-item-body" >
94
- <el-input
95
- v-model =" steps"
96
- type =" number"
97
- size =" large"
98
- class =" !w-350px"
99
- placeholder =" Please input"
100
- />
101
- </el-space >
102
- </div >
103
- <div class =" group-item" >
104
- <div >
105
- <el-text tag =" b" >引导系数</el-text >
106
- </div >
107
- <el-space wrap class =" group-item-body" >
108
- <el-input
109
- v-model =" scale"
110
- type =" number"
111
- size =" large"
112
- class =" !w-350px"
113
- placeholder =" Please input"
114
- />
115
- </el-space >
116
- </div >
117
- <div class =" group-item" >
118
- <div >
119
- <el-text tag =" b" >随机因子</el-text >
120
- </div >
121
- <el-space wrap class =" group-item-body" >
122
- <el-input
123
- v-model =" seed"
124
- type =" number"
125
- size =" large"
126
- class =" !w-350px"
127
- placeholder =" Please input"
128
- />
129
- </el-space >
130
- </div >
131
- <div class =" group-item" >
132
- <div >
133
- <el-text tag =" b" >参考图</el-text >
134
- </div >
135
- <el-space wrap class =" group-item-body" >
136
- <UploadImg v-model =" referImageUrl" height =" 120px" width =" 120px" />
69
+ <el-input v-model =" width" type =" number" class =" w-170px" placeholder =" 图片宽度" />
70
+ <el-input v-model =" height" type =" number" class =" w-170px" placeholder =" 图片高度" />
137
71
</el-space >
138
72
</div >
139
73
<div class =" btns" >
144
78
</template >
145
79
<script setup lang="ts">
146
80
import {ImageApi , ImageDrawReqVO , ImageVO } from ' @/api/ai/image'
147
- import {hasChinese } from ' @/views/ai/utils/utils'
148
81
import {
149
82
AiPlatformEnum ,
150
- ImageHotWords , ImageModelVO , OtherPlatformEnum , TongYiWanXiangModels ,
151
- TongYiWanXiangStylePresets
83
+ ImageHotWords ,
84
+ ImageModelVO ,
85
+ OtherPlatformEnum ,
86
+ TongYiWanXiangModels
152
87
} from ' @/views/ai/utils/constants'
153
88
154
89
const message = useMessage () // 消息弹窗
@@ -160,13 +95,7 @@ const selectHotWord = ref<string>('') // 选中的热词
160
95
const prompt = ref <string >(' ' ) // 提示词
161
96
const width = ref <number >(512 ) // 图片宽度
162
97
const height = ref <number >(512 ) // 图片高度
163
- const steps = ref <number >(20 ) // 迭代步数
164
- const seed = ref <number >(42 ) // 控制生成图像的随机性
165
- const scale = ref <number >(7.5 ) // 引导系数
166
- const referImageUrl = ref <any >() // 参考图
167
- const stylePreset = ref <string >(' -1' ) // 风格
168
- const stylePresetList = ref <ImageModelVO []>(TongYiWanXiangStylePresets ) // 风格列表
169
- const otherPlatform = ref <string >(AiPlatformEnum .TONG_YI_WAN_XIANG ) // 平台
98
+ const otherPlatform = ref <string >(AiPlatformEnum .TONG_YI ) // 平台
170
99
const models = ref <ImageModelVO []>(TongYiWanXiangModels ) // 模型
171
100
const model = ref <string >(models .value [0 ].key ) // 模型
172
101
@@ -198,16 +127,11 @@ const handleGenerateImage = async () => {
198
127
// 发送请求
199
128
const form = {
200
129
platform: otherPlatform .value ,
201
- model: ' --- ' , // 1
202
- prompt: prompt .value , // 提示词 1
203
- width: width .value , // 图片宽度 1
204
- height: height .value , // 图片高度 1
130
+ model: model . value , // 模型
131
+ prompt: prompt .value , // 提示词
132
+ width: width .value , // 图片宽度
133
+ height: height .value , // 图片高度
205
134
options: {
206
- seed: seed .value , // 随机种子 1
207
- steps: steps .value , // 图片生成步数 1
208
- scale: scale .value , // 引导系数 1
209
- stylePreset: stylePreset .value , // 风格
210
- referImage: referImageUrl .value // 参考图
211
135
}
212
136
} as ImageDrawReqVO
213
137
await ImageApi .drawImage (form )
@@ -224,29 +148,22 @@ const settingValues = async (detail: ImageVO) => {
224
148
prompt .value = detail .prompt
225
149
width .value = detail .width
226
150
height .value = detail .height
227
- seed .value = detail .options ?.seed
228
- steps .value = detail .options ?.steps
229
- scale .value = detail .options ?.scale
230
- stylePreset .value = detail .options ?.stylePreset
151
+
231
152
}
232
153
233
154
/** 平台切换 */
234
155
const handlerPlatformChange = async (platform ) => {
235
156
// 切换平台,切换模型、风格
236
- if (AiPlatformEnum .TONG_YI_WAN_XIANG === platform ) {
157
+ if (AiPlatformEnum .YI_YAN === platform ) {
237
158
models .value = TongYiWanXiangModels
238
- stylePresetList .value = TongYiWanXiangStylePresets
239
159
} else {
240
160
models .value = []
241
- stylePresetList .value = []
242
161
}
243
162
// 切换平台,默认选择一个风格
244
- if (stylePresetList .value .length > 0 ) {
163
+ if (models .value .length > 0 ) {
245
164
model .value = models .value [0 ].key
246
- stylePreset .value = stylePresetList .value [0 ].key
247
165
} else {
248
166
model .value = ' '
249
- stylePreset .value = ' '
250
167
}
251
168
}
252
169
0 commit comments