mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-09-08 17:09:07 +08:00
when current account is limited, throw error directly
This commit is contained in:
@@ -92,22 +92,27 @@ export async function mainLoop (hooks) {
|
|||||||
}
|
}
|
||||||
await setDomainLocalStorage(browser, localStoragePageUrl, bossLocalStorage)
|
await setDomainLocalStorage(browser, localStoragePageUrl, bossLocalStorage)
|
||||||
await page.bringToFront()
|
await page.bringToFront()
|
||||||
let userInfoResponse
|
let userInfoPromise = page.waitForResponse((response) => {
|
||||||
await Promise.all([
|
|
||||||
page.goto(recommendJobPageUrl, { timeout: 0 }),
|
|
||||||
page.waitForResponse((response) => {
|
|
||||||
if (response.url().startsWith('https://www.zhipin.com/wapi/zpuser/wap/getUserInfo.json')) {
|
if (response.url().startsWith('https://www.zhipin.com/wapi/zpuser/wap/getUserInfo.json')) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
return res.json()
|
return res.json()
|
||||||
}).then((res) => {
|
})
|
||||||
userInfoResponse = res
|
await Promise.all([
|
||||||
}),
|
page.goto(recommendJobPageUrl, { timeout: 60 * 1000 }),
|
||||||
page.waitForNavigation(),
|
page.waitForNavigation(),
|
||||||
])
|
])
|
||||||
|
if (
|
||||||
|
page.url().startsWith('https://www.zhipin.com/web/common/403.html') ||
|
||||||
|
page.url().startsWith('https://www.zhipin.com/web/common/error.html')
|
||||||
|
) {
|
||||||
|
throw new Error("ACCESS_IS_DENIED")
|
||||||
|
}
|
||||||
hooks.pageLoaded?.call()
|
hooks.pageLoaded?.call()
|
||||||
|
|
||||||
|
let userInfoResponse = await userInfoPromise
|
||||||
hooks.userInfoResponse?.call(userInfoResponse)
|
hooks.userInfoResponse?.call(userInfoResponse)
|
||||||
|
|
||||||
if (userInfoResponse.code !== 0) {
|
if (userInfoResponse.code !== 0) {
|
||||||
@@ -354,14 +359,16 @@ export async function mainLoop (hooks) {
|
|||||||
// ;await browser.close()
|
// ;await browser.close()
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
closeBrowserWindow()
|
closeBrowserWindow()
|
||||||
|
|
||||||
console.error(err)
|
|
||||||
throw err
|
throw err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function closeBrowserWindow () {
|
export async function closeBrowserWindow () {
|
||||||
browser?.close()
|
browser?.close()
|
||||||
|
const browserProcess = browser?.process()
|
||||||
|
if (browserProcess) {
|
||||||
|
process.kill(browserProcess.pid)
|
||||||
|
}
|
||||||
browser = null
|
browser = null
|
||||||
page = null
|
page = null
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user