perf:resetCookie加锁
This commit is contained in:
父節點
5884aadc13
當前提交
a0ef04285e
@ -81,7 +81,7 @@ export async function acquireCourse(course: IJsonCourse, channel: TChannel): Pro
|
|||||||
} else {
|
} else {
|
||||||
logAndNotifyUser(resp.data.message)
|
logAndNotifyUser(resp.data.message)
|
||||||
if (resp.data.message.includes('当前账号已在别处登录')) {
|
if (resp.data.message.includes('当前账号已在别处登录')) {
|
||||||
await resetCookie()
|
await resetCookie()// TODO 加锁、优化
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@ -108,7 +108,15 @@ export async function exitCourse(course: IJsonCourse): Promise<boolean> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let resetCookieLock = false
|
||||||
|
|
||||||
export async function resetCookie() {
|
export async function resetCookie() {
|
||||||
|
if (resetCookieLock) {
|
||||||
|
console.log('resetCookie 已被锁定')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resetCookieLock = true
|
||||||
|
try {
|
||||||
let cookieJar = new tough.CookieJar()
|
let cookieJar = new tough.CookieJar()
|
||||||
let cookieAxios = axios.create({
|
let cookieAxios = axios.create({
|
||||||
headers: {
|
headers: {
|
||||||
@ -144,6 +152,11 @@ export async function resetCookie() {
|
|||||||
console.log('[cookie]取得Cookie:' + cookieString)
|
console.log('[cookie]取得Cookie:' + cookieString)
|
||||||
appConfig.cookie = cookieString
|
appConfig.cookie = cookieString
|
||||||
sduAxios.defaults.headers['Cookie'] = cookieString
|
sduAxios.defaults.headers['Cookie'] = cookieString
|
||||||
|
} catch (e) {
|
||||||
|
throw e
|
||||||
|
} finally {
|
||||||
|
resetCookieLock = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function countStr(str: string, word: string) {
|
export function countStr(str: string, word: string) {
|
||||||
|
載入中…
x
新增問題並參考
Block a user