提交一波

This commit is contained in:
aixianling
2024-06-21 11:51:14 +08:00
parent a496620c83
commit 4cb1d29054
5 changed files with 118 additions and 42 deletions

View File

@@ -1,41 +1,45 @@
const {axios, $glob} = window
const init = () => new Promise(resolve => {
const {axios, $glob} = window
let getAuthing = false
const getToken = () => {
getAuthing = true
return axios.post("http://10.0.97.209/data-boot/na/sys/login", {
t: Date.now(),
userAcc: "kengee",
password: "kengee@123",
uuid: "",
captcha: ""
}).then(res => {
if (res?.data?.data) {
$glob.token = res.data.data.token
let getAuthing = false
const getToken = () => {
getAuthing = true
return axios.post("http://10.0.97.209/data-boot/na/sys/login", {
t: Date.now(),
userAcc: "kengee",
password: "kengee@123",
uuid: "",
captcha: ""
}).then(res => {
if (res?.data?.data) {
$glob.token = res.data.data.token
}
}).finally(() => getAuthing = false)
}
const http = axios.create({baseURL: '/'})
const addToken = (config) => {
config.headers['h-token'] = $glob.token
return config
}
window.$wait = (t = 500) => new Promise(resolve => setTimeout(resolve, t))
http.interceptors.request.use(async config => {
while (getAuthing) {
await $wait()
}
}).finally(() => getAuthing = false)
}
const http = axios.create({baseURL: '/'})
const addToken = (config) => {
config.headers['h-token'] = $glob.token
return config
}
window.$wait = (t = 500) => new Promise(resolve => setTimeout(resolve, t))
http.interceptors.request.use(async config => {
while (getAuthing) {
await $wait()
}
if (!$glob.token && !getAuthing) {
await getToken()
}
return addToken(config)
if (!$glob.token && !getAuthing) {
await getToken()
}
return addToken(config)
})
http.interceptors.response.use(res => {
if (res?.data) {
return res.data
} else if (res?.code == 401) {
return getToken().then(() => http.request(res.config))
}
return res
})
window.$http = http
resolve()
})
http.interceptors.response.use(res => {
if (res?.data) {
return res.data
} else if (res?.code == 401) {
return getToken().then(() => http.request(res.config))
}
return res
})
window.$http = http
await init()

12
src/utils/inject.js Normal file
View File

@@ -0,0 +1,12 @@
const KENGEE_CDN_BASE = "http://10.0.97.209/presource/datascreen/"
const libs = [`${KENGEE_CDN_BASE}/js/pinyin.min.js`]
Promise.all([
import("./fetch"),
...libs.map(url => new Promise(resolve => {
const script = document.createElement("script")
script.src = url
document.head.appendChild(script)
script.onload = () => resolve()
})),
])