@@ -61,7 +61,7 @@ const modalMode = ref('')
61
61
const tempModifiedItem = ref <any >({})
62
62
63
63
// 添加修改导入都使用一个Modal, 临时修改内容占用tempPromptKey,切换状态前先将内容都清楚
64
- const changeShowModal = (mode : string , selected = { key: ' ' , value: ' ' }) => {
64
+ const changeShowModal = (mode : ' add ' | ' modify ' | ' local_import ' , selected = { key: ' ' , value: ' ' }) => {
65
65
if (mode === ' add' ) {
66
66
tempPromptKey .value = ' '
67
67
tempPromptValue .value = ' '
@@ -103,7 +103,7 @@ const addPromptTemplate = () => {
103
103
}
104
104
promptList .value .unshift ({ key: tempPromptKey .value , value: tempPromptValue .value } as never )
105
105
message .success (t (' common.addSuccess' ))
106
- changeShowModal (' ' )
106
+ changeShowModal (' add ' )
107
107
}
108
108
109
109
const modifyPromptTemplate = () => {
@@ -132,7 +132,7 @@ const modifyPromptTemplate = () => {
132
132
133
133
promptList .value = [{ key: tempPromptKey .value , value: tempPromptValue .value }, ... tempList ] as never
134
134
message .success (t (' common.editSuccess' ))
135
- changeShowModal (' ' )
135
+ changeShowModal (' modify ' )
136
136
}
137
137
138
138
const deletePromptTemplate = (row : { key: string ; value: string }) => {
@@ -187,11 +187,9 @@ const importPromptTemplate = () => {
187
187
promptList .value .unshift ({ key: i [key ], value: i [value ] } as never )
188
188
}
189
189
message .success (t (' common.importSuccess' ))
190
- changeShowModal (' ' )
191
190
}
192
191
catch {
193
192
message .error (' JSON 格式错误,请检查 JSON 格式' )
194
- changeShowModal (' ' )
195
193
}
196
194
}
197
195
@@ -213,17 +211,25 @@ const exportPromptTemplate = () => {
213
211
const downloadPromptTemplate = async () => {
214
212
try {
215
213
importLoading .value = true
216
- await fetch (downloadURL .value )
217
- .then (response => response .json ())
218
- .then ((jsonData ) => {
219
- tempPromptValue .value = JSON .stringify (jsonData )
220
- }).then (() => {
221
- importPromptTemplate ()
214
+ const response = await fetch (downloadURL .value )
215
+ const jsonData = await response .json ()
216
+ if (' key' in jsonData [0 ] && ' value' in jsonData [0 ])
217
+ tempPromptValue .value = JSON .stringify (jsonData )
218
+ if (' act' in jsonData [0 ] && ' prompt' in jsonData [0 ]) {
219
+ const newJsonData = jsonData .map ((item : { act: string ; prompt: string }) => {
220
+ return {
221
+ key: item .act ,
222
+ value: item .prompt ,
223
+ }
222
224
})
225
+ tempPromptValue .value = JSON .stringify (newJsonData )
226
+ }
227
+ importPromptTemplate ()
223
228
downloadURL .value = ' '
224
229
}
225
230
catch {
226
231
message .error (t (' store.downloadError' ))
232
+ downloadURL .value = ' '
227
233
}
228
234
finally {
229
235
importLoading .value = false
0 commit comments