修复微信二维码展示

This commit is contained in:
yml
2026-04-12 14:53:28 +08:00
parent 381d18f3c9
commit eb5041ea60
4 changed files with 39 additions and 14 deletions
@@ -94,12 +94,40 @@ export async function extractQqQrState(page) {
}
try {
const qrVisible = await frame
.locator('#qrlogin_img')
.first()
.isVisible()
.catch(() => false)
const bodyText = String(await frame.locator('body').textContent()).replace(/\s+/g, ' ').trim()
const { qrVisible, bodyText } = await frame
.evaluate(() => {
const isVisible = (element) => {
if (!(element instanceof HTMLElement)) {
return false
}
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 {
visible: true,
@@ -120,12 +120,9 @@ export async function extractWxQrState(page) {
}
try {
const qrVisible = await frame
.locator('.js_qrcode_img')
.first()
.isVisible()
.catch(() => false)
const bodyText = String(await frame.locator('body').textContent()).replace(/\s+/g, ' ').trim()
const viewState = await inspectWxLoginView(frame)
const qrVisible = viewState.qrVisible
const bodyText = viewState.bodyText
return {
visible: true,
+1 -1
View File
@@ -40,7 +40,7 @@ services:
DATABASE_MAX_CONNECTIONS: ${DATABASE_MAX_CONNECTIONS:-10}
OCR_PROJECT_ROOT: /app/subservices/ocr-worker
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_PREWARM: ${TENCENT_BROWSER_PREWARM:-true}
TENCENT_BROWSER_KEEP_ALIVE: ${TENCENT_BROWSER_KEEP_ALIVE:-true}
+1 -1
View File
@@ -33,7 +33,7 @@ services:
DATABASE_MAX_CONNECTIONS: ${DATABASE_MAX_CONNECTIONS:-20}
OCR_PROJECT_ROOT: /app/subservices/ocr-worker
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_PREWARM: ${TENCENT_BROWSER_PREWARM:-true}
TENCENT_BROWSER_KEEP_ALIVE: ${TENCENT_BROWSER_KEEP_ALIVE:-true}