mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-09-06 07:57:06 +08:00
close browser when find bad cookie
This commit is contained in:
@@ -8,9 +8,14 @@ import { readStorageFile } from '@geekgeekrun/geek-auto-start-chat-with-boss/run
|
||||
const runRecordId = minimist(process.argv.slice(2))['run-record-id'] ?? null
|
||||
export class CookieInvalidHandlePlugin {
|
||||
apply(hooks) {
|
||||
hooks.cookieWillSet.tapPromise('CookieInvalidHandlePlugin', async (cookies) => {
|
||||
hooks.cookieWillSet.tapPromise('CookieInvalidHandlePlugin', async ({ cookies, browser } = {}) => {
|
||||
let isValid = checkCookieListFormat(cookies)
|
||||
while (!isValid) {
|
||||
try {
|
||||
browser && (await browser.close())
|
||||
} catch (err) {
|
||||
console.log(`close browser failed`, err)
|
||||
}
|
||||
try {
|
||||
// popup login dialog, then update login status
|
||||
await loginWithCookieAssistant()
|
||||
@@ -54,7 +59,7 @@ export class CookieInvalidHandlePlugin {
|
||||
}
|
||||
})
|
||||
})
|
||||
hooks.userInfoResponse.tapPromise('CookieInvalidHandlePlugin', async (userInfoResponse) => {
|
||||
hooks.userInfoResponse.tapPromise('CookieInvalidHandlePlugin', async ({ userInfoResponse, browser } = {}) => {
|
||||
if (userInfoResponse.code === 0) {
|
||||
sendToDaemon({
|
||||
type: 'worker-to-gui-message',
|
||||
@@ -70,6 +75,11 @@ export class CookieInvalidHandlePlugin {
|
||||
})
|
||||
return
|
||||
}
|
||||
try {
|
||||
browser && (await browser.close())
|
||||
} catch (err) {
|
||||
console.log(`close browser failed`, err)
|
||||
}
|
||||
try {
|
||||
// popup login dialog, then update login status
|
||||
await loginWithCookieAssistant()
|
||||
|
||||
@@ -89,7 +89,9 @@ const onlyRemindBossWithoutBlockCompanyName =
|
||||
readConfigFile('boss.json').autoReminder?.onlyRemindBossWithoutBlockCompanyName ??
|
||||
!!blockCompanyNameRegExp
|
||||
|
||||
const openContentSource = readConfigFile('boss.json').autoReminder?.openContentSource ?? OPEN_CONTENT_SOURCE.CONSTANT_CONTENT
|
||||
const openContentSource =
|
||||
readConfigFile('boss.json').autoReminder?.openContentSource ??
|
||||
OPEN_CONTENT_SOURCE.CONSTANT_CONTENT
|
||||
const constantOpenContent = (() => {
|
||||
let constantOpenContent = readConfigFile('boss.json').autoReminder?.constantOpenContent ?? ''
|
||||
if (constantOpenContent?.trim?.()) {
|
||||
@@ -302,6 +304,11 @@ const mainLoop = async () => {
|
||||
let bossCookies = readStorageFile('boss-cookies.json')
|
||||
let cookieCheckResult = checkCookieListFormat(bossCookies)
|
||||
while (!cookieCheckResult) {
|
||||
try {
|
||||
browser && (await browser.close())
|
||||
} catch (err) {
|
||||
console.log(`close browser failed`, err)
|
||||
}
|
||||
try {
|
||||
await loginWithCookieAssistant()
|
||||
bossCookies = readStorageFile('boss-cookies.json')
|
||||
@@ -357,6 +364,11 @@ const mainLoop = async () => {
|
||||
// #region
|
||||
if (currentPageUrl.startsWith('https://www.zhipin.com/web/user/')) {
|
||||
writeStorageFile('boss-cookies.json', [])
|
||||
try {
|
||||
browser && (await browser.close())
|
||||
} catch (err) {
|
||||
console.log(`close browser failed`, err)
|
||||
}
|
||||
try {
|
||||
// popup login dialog, then update login status
|
||||
await loginWithCookieAssistant()
|
||||
|
||||
Reference in New Issue
Block a user