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