wip: create course generate

This commit is contained in:
2024-06-24 22:03:46 +08:00
parent 4ef71c2691
commit 48aced8b6e
4 changed files with 126 additions and 27 deletions

View File

@@ -0,0 +1,16 @@
export const useDownload = (url: string, filename: string) => {
const download = () => {
fetch(url)
.then((response) => response.blob())
.then((blob) => {
const url = window.URL.createObjectURL(new Blob([blob]))
const link = document.createElement('a')
link.href = url
link.setAttribute('download', filename)
document.body.appendChild(link)
link.click()
link.parentNode?.removeChild(link)
})
}
return { download }
}

View File

@@ -1,4 +1,4 @@
import {useFetchWrapped} from '~/composables/useFetchWrapped';
import { useFetchWrapped } from '~/composables/useFetchWrapped'
const putOSS = (file: File, signed_url: string) => new Promise<void>((resolve, reject) => {
let xhr = new XMLHttpRequest()
@@ -16,17 +16,17 @@ const putOSS = (file: File, signed_url: string) => new Promise<void>((resolve, r
})
export const useFileGo = (file: File) => new Promise<string>((resolve, reject) => {
useFetchWrapped<req.file.Upload & AuthedRequest, string>('App.Tools_Upload.GoOss', {
useFetchWrapped<req.file.Upload & AuthedRequest, BaseResponse<string>>('App.Tools_Upload.UploadOssMaterial', {
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 !== '') {
if (res.data !== '') {
try {
await putOSS(file, res)
let url = res.split('?')[0]
await putOSS(file, res.data)
let url = res.data.split('?')[0]
resolve(url)
} catch (err) {
reject(err)