feat: 图生图功能

feat: 参考图片(图生图)选择器
ui: 文件上传(预留) composable
ui: 登录过期提示
ui: 调整部分 ui
This commit is contained in:
2024-03-22 16:34:00 +08:00
parent 75f431d7bf
commit 5d52e8dafa
9 changed files with 295 additions and 32 deletions

38
composables/useFileGo.ts Normal file
View File

@@ -0,0 +1,38 @@
import {useFetchWrapped} from '~/composables/useFetchWrapped';
const putOSS = (file: File, signed_url: string) => new Promise<void>((resolve, reject) => {
let xhr = new XMLHttpRequest()
xhr.open('PUT', signed_url as string)
xhr.setRequestHeader('Content-Type', '')
xhr.onload = () => {
if (xhr.status === 200) {
resolve()
} else {
reject()
}
}
xhr.onerror = reject
xhr.send(file)
})
export const useFileGo = (file: File) => new Promise<string>((resolve, reject) => {
useFetchWrapped<req.file.Upload & AuthedRequest, string>('App.Tools_Upload.GoOss', {
token: useLoginState().token!,
user_id: useLoginState().user.id,
file_name: file.name,
file_type: file.type,
file_size: file.size,
}).then(async res => {
if (res !== '') {
try {
await putOSS(file, res)
let url = res.split('?')[0]
resolve(url)
} catch (err) {
reject(err)
}
}
}).catch(err => {
reject(err)
})
})