修复微信二维码展示
This commit is contained in:
@@ -94,12 +94,40 @@ export async function extractQqQrState(page) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const qrVisible = await frame
|
const { qrVisible, bodyText } = await frame
|
||||||
.locator('#qrlogin_img')
|
.evaluate(() => {
|
||||||
.first()
|
const isVisible = (element) => {
|
||||||
.isVisible()
|
if (!(element instanceof HTMLElement)) {
|
||||||
.catch(() => false)
|
return false
|
||||||
const bodyText = String(await frame.locator('body').textContent()).replace(/\s+/g, ' ').trim()
|
}
|
||||||
|
|
||||||
|
const style = window.getComputedStyle(element)
|
||||||
|
const rect = element.getBoundingClientRect()
|
||||||
|
return (
|
||||||
|
style.display !== 'none' &&
|
||||||
|
style.visibility !== 'hidden' &&
|
||||||
|
style.opacity !== '0' &&
|
||||||
|
rect.width > 0 &&
|
||||||
|
rect.height > 0
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
const qrImage = document.querySelector('#qrlogin_img')
|
||||||
|
const bodyText = String(document.body?.textContent || '').replace(/\s+/g, ' ').trim()
|
||||||
|
|
||||||
|
return {
|
||||||
|
qrVisible:
|
||||||
|
qrImage instanceof HTMLImageElement &&
|
||||||
|
isVisible(qrImage) &&
|
||||||
|
Number(qrImage.naturalWidth || 0) > 0 &&
|
||||||
|
Number(qrImage.naturalHeight || 0) > 0,
|
||||||
|
bodyText,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(() => ({
|
||||||
|
qrVisible: false,
|
||||||
|
bodyText: '',
|
||||||
|
}))
|
||||||
|
|
||||||
return {
|
return {
|
||||||
visible: true,
|
visible: true,
|
||||||
|
|||||||
@@ -120,12 +120,9 @@ export async function extractWxQrState(page) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const qrVisible = await frame
|
const viewState = await inspectWxLoginView(frame)
|
||||||
.locator('.js_qrcode_img')
|
const qrVisible = viewState.qrVisible
|
||||||
.first()
|
const bodyText = viewState.bodyText
|
||||||
.isVisible()
|
|
||||||
.catch(() => false)
|
|
||||||
const bodyText = String(await frame.locator('body').textContent()).replace(/\s+/g, ' ').trim()
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
visible: true,
|
visible: true,
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ services:
|
|||||||
DATABASE_MAX_CONNECTIONS: ${DATABASE_MAX_CONNECTIONS:-10}
|
DATABASE_MAX_CONNECTIONS: ${DATABASE_MAX_CONNECTIONS:-10}
|
||||||
OCR_PROJECT_ROOT: /app/subservices/ocr-worker
|
OCR_PROJECT_ROOT: /app/subservices/ocr-worker
|
||||||
CLAIM_BASE_URL: ${CLAIM_BASE_URL:-http://localhost/#/claim}
|
CLAIM_BASE_URL: ${CLAIM_BASE_URL:-http://localhost/#/claim}
|
||||||
TENCENT_REDEEM_PROOF_MODE: ${TENCENT_REDEEM_PROOF_MODE:-basic}
|
TENCENT_REDEEM_PROOF_MODE: ${TENCENT_REDEEM_PROOF_MODE:-full}
|
||||||
TENCENT_BROWSER_HEADLESS: ${TENCENT_BROWSER_HEADLESS:-true}
|
TENCENT_BROWSER_HEADLESS: ${TENCENT_BROWSER_HEADLESS:-true}
|
||||||
TENCENT_BROWSER_PREWARM: ${TENCENT_BROWSER_PREWARM:-true}
|
TENCENT_BROWSER_PREWARM: ${TENCENT_BROWSER_PREWARM:-true}
|
||||||
TENCENT_BROWSER_KEEP_ALIVE: ${TENCENT_BROWSER_KEEP_ALIVE:-true}
|
TENCENT_BROWSER_KEEP_ALIVE: ${TENCENT_BROWSER_KEEP_ALIVE:-true}
|
||||||
|
|||||||
+1
-1
@@ -33,7 +33,7 @@ services:
|
|||||||
DATABASE_MAX_CONNECTIONS: ${DATABASE_MAX_CONNECTIONS:-20}
|
DATABASE_MAX_CONNECTIONS: ${DATABASE_MAX_CONNECTIONS:-20}
|
||||||
OCR_PROJECT_ROOT: /app/subservices/ocr-worker
|
OCR_PROJECT_ROOT: /app/subservices/ocr-worker
|
||||||
CLAIM_BASE_URL: ${CLAIM_BASE_URL:-http://localhost/#/claim}
|
CLAIM_BASE_URL: ${CLAIM_BASE_URL:-http://localhost/#/claim}
|
||||||
TENCENT_REDEEM_PROOF_MODE: ${TENCENT_REDEEM_PROOF_MODE:-basic}
|
TENCENT_REDEEM_PROOF_MODE: ${TENCENT_REDEEM_PROOF_MODE:-full}
|
||||||
TENCENT_BROWSER_HEADLESS: ${TENCENT_BROWSER_HEADLESS:-true}
|
TENCENT_BROWSER_HEADLESS: ${TENCENT_BROWSER_HEADLESS:-true}
|
||||||
TENCENT_BROWSER_PREWARM: ${TENCENT_BROWSER_PREWARM:-true}
|
TENCENT_BROWSER_PREWARM: ${TENCENT_BROWSER_PREWARM:-true}
|
||||||
TENCENT_BROWSER_KEEP_ALIVE: ${TENCENT_BROWSER_KEEP_ALIVE:-true}
|
TENCENT_BROWSER_KEEP_ALIVE: ${TENCENT_BROWSER_KEEP_ALIVE:-true}
|
||||||
|
|||||||
Reference in New Issue
Block a user