mirror of
https://github.com/doocs/md.git
synced 2025-02-03 03:37:53 +08:00
refactor: update mpFileUpload (#524)
This commit is contained in:
parent
48e96440cc
commit
c9b7213863
@ -344,37 +344,37 @@ async function mpFileUpload(file: File) {
|
||||
const { appID, appsecret, proxyOrigin } = JSON.parse(
|
||||
localStorage.getItem(`mpConfig`)!,
|
||||
)
|
||||
/* eslint-disable no-async-promise-executor */
|
||||
return new Promise<string>(async (resolve, reject) => {
|
||||
try {
|
||||
const access_token = await getMpToken(appID, appsecret, proxyOrigin).catch(e => console.error(e))
|
||||
|
||||
const access_token = await getMpToken(appID, appsecret, proxyOrigin)
|
||||
if (!access_token) {
|
||||
reject(new Error(`获取 access_token 失败,请检查console日志`))
|
||||
return
|
||||
throw new Error(`获取 access_token 失败`)
|
||||
}
|
||||
|
||||
const formdata = new FormData()
|
||||
formdata.append(`media`, file, file.name)
|
||||
|
||||
const requestOptions = {
|
||||
method: `POST`,
|
||||
data: formdata,
|
||||
}
|
||||
|
||||
let url = `https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=${access_token}&type=image`
|
||||
if (proxyOrigin) {
|
||||
url = `${proxyOrigin}/cgi-bin/material/add_material?access_token=${access_token}&type=image`
|
||||
}
|
||||
const res = await fetch<any, {
|
||||
url: string
|
||||
}>(url, requestOptions)
|
||||
|
||||
const res = await fetch<any, { url: string }>(url, requestOptions)
|
||||
|
||||
if (!res.url) {
|
||||
throw new Error(`上传失败,未获取到URL`)
|
||||
}
|
||||
|
||||
let imageUrl = res.url
|
||||
if (proxyOrigin && window.location.href.startsWith(`http`)) {
|
||||
imageUrl = `https://wsrv.nl?url=${encodeURIComponent(imageUrl)}`
|
||||
}
|
||||
resolve(imageUrl)
|
||||
}
|
||||
catch (e) {
|
||||
reject(e)
|
||||
}
|
||||
})
|
||||
|
||||
return imageUrl
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user