mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-09-07 00:17:17 +08:00
close browser when find bad cookie
This commit is contained in:
@@ -699,7 +699,7 @@ async function toRecommendPage (hooks) {
|
|||||||
hooks.pageLoaded?.call()
|
hooks.pageLoaded?.call()
|
||||||
|
|
||||||
let userInfoResponse = await userInfoPromise
|
let userInfoResponse = await userInfoPromise
|
||||||
await hooks.userInfoResponse?.promise(userInfoResponse)
|
await hooks.userInfoResponse?.promise({ userInfoResponse, browser })
|
||||||
if (userInfoResponse?.code !== 0) {
|
if (userInfoResponse?.code !== 0) {
|
||||||
autoStartChatEventBus.emit('LOGIN_STATUS_INVALID', {
|
autoStartChatEventBus.emit('LOGIN_STATUS_INVALID', {
|
||||||
userInfoResponse
|
userInfoResponse
|
||||||
@@ -1713,7 +1713,7 @@ export async function mainLoop (hooks) {
|
|||||||
//set cookies
|
//set cookies
|
||||||
const bossCookies = readStorageFile('boss-cookies.json')
|
const bossCookies = readStorageFile('boss-cookies.json')
|
||||||
const bossLocalStorage = readStorageFile('boss-local-storage.json')
|
const bossLocalStorage = readStorageFile('boss-local-storage.json')
|
||||||
await hooks.cookieWillSet?.promise(bossCookies)
|
await hooks.cookieWillSet?.promise({ cookies: bossCookies, browser })
|
||||||
for(let i = 0; i < bossCookies.length; i++){
|
for(let i = 0; i < bossCookies.length; i++){
|
||||||
if (Object.hasOwn(bossCookies[i], 'sameSite')) {
|
if (Object.hasOwn(bossCookies[i], 'sameSite')) {
|
||||||
bossCookies[i].sameSite = 'unspecified'
|
bossCookies[i].sameSite = 'unspecified'
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ export default class SqlitePlugin {
|
|||||||
)
|
)
|
||||||
hooks.userInfoResponse.tapPromise(
|
hooks.userInfoResponse.tapPromise(
|
||||||
"SqlitePlugin",
|
"SqlitePlugin",
|
||||||
async (userInfoResponse) => {
|
async ({ userInfoResponse } = {}) => {
|
||||||
if (!userInfoResponse || userInfoResponse.code !== 0) {
|
if (!userInfoResponse || userInfoResponse.code !== 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
const runRecordId = minimist(process.argv.slice(2))['run-record-id'] ?? null
|
||||||
export class CookieInvalidHandlePlugin {
|
export class CookieInvalidHandlePlugin {
|
||||||
apply(hooks) {
|
apply(hooks) {
|
||||||
hooks.cookieWillSet.tapPromise('CookieInvalidHandlePlugin', async (cookies) => {
|
hooks.cookieWillSet.tapPromise('CookieInvalidHandlePlugin', async ({ cookies, browser } = {}) => {
|
||||||
let isValid = checkCookieListFormat(cookies)
|
let isValid = checkCookieListFormat(cookies)
|
||||||
while (!isValid) {
|
while (!isValid) {
|
||||||
|
try {
|
||||||
|
browser && (await browser.close())
|
||||||
|
} catch (err) {
|
||||||
|
console.log(`close browser failed`, err)
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
// popup login dialog, then update login status
|
// popup login dialog, then update login status
|
||||||
await loginWithCookieAssistant()
|
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) {
|
if (userInfoResponse.code === 0) {
|
||||||
sendToDaemon({
|
sendToDaemon({
|
||||||
type: 'worker-to-gui-message',
|
type: 'worker-to-gui-message',
|
||||||
@@ -70,6 +75,11 @@ export class CookieInvalidHandlePlugin {
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
browser && (await browser.close())
|
||||||
|
} catch (err) {
|
||||||
|
console.log(`close browser failed`, err)
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
// popup login dialog, then update login status
|
// popup login dialog, then update login status
|
||||||
await loginWithCookieAssistant()
|
await loginWithCookieAssistant()
|
||||||
|
|||||||
@@ -89,7 +89,9 @@ const onlyRemindBossWithoutBlockCompanyName =
|
|||||||
readConfigFile('boss.json').autoReminder?.onlyRemindBossWithoutBlockCompanyName ??
|
readConfigFile('boss.json').autoReminder?.onlyRemindBossWithoutBlockCompanyName ??
|
||||||
!!blockCompanyNameRegExp
|
!!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 = (() => {
|
const constantOpenContent = (() => {
|
||||||
let constantOpenContent = readConfigFile('boss.json').autoReminder?.constantOpenContent ?? ''
|
let constantOpenContent = readConfigFile('boss.json').autoReminder?.constantOpenContent ?? ''
|
||||||
if (constantOpenContent?.trim?.()) {
|
if (constantOpenContent?.trim?.()) {
|
||||||
@@ -302,6 +304,11 @@ const mainLoop = async () => {
|
|||||||
let bossCookies = readStorageFile('boss-cookies.json')
|
let bossCookies = readStorageFile('boss-cookies.json')
|
||||||
let cookieCheckResult = checkCookieListFormat(bossCookies)
|
let cookieCheckResult = checkCookieListFormat(bossCookies)
|
||||||
while (!cookieCheckResult) {
|
while (!cookieCheckResult) {
|
||||||
|
try {
|
||||||
|
browser && (await browser.close())
|
||||||
|
} catch (err) {
|
||||||
|
console.log(`close browser failed`, err)
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
await loginWithCookieAssistant()
|
await loginWithCookieAssistant()
|
||||||
bossCookies = readStorageFile('boss-cookies.json')
|
bossCookies = readStorageFile('boss-cookies.json')
|
||||||
@@ -357,6 +364,11 @@ const mainLoop = async () => {
|
|||||||
// #region
|
// #region
|
||||||
if (currentPageUrl.startsWith('https://www.zhipin.com/web/user/')) {
|
if (currentPageUrl.startsWith('https://www.zhipin.com/web/user/')) {
|
||||||
writeStorageFile('boss-cookies.json', [])
|
writeStorageFile('boss-cookies.json', [])
|
||||||
|
try {
|
||||||
|
browser && (await browser.close())
|
||||||
|
} catch (err) {
|
||||||
|
console.log(`close browser failed`, err)
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
// popup login dialog, then update login status
|
// popup login dialog, then update login status
|
||||||
await loginWithCookieAssistant()
|
await loginWithCookieAssistant()
|
||||||
|
|||||||
Reference in New Issue
Block a user