fix: 适配网站结构更新
1. 标记已读改用预览通道 (download2.ashx) 2. 截图优先直接访问目标页面,避免 iframe 加载问题 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -386,8 +386,8 @@ class APIBrowser:
|
|||||||
return attachments
|
return attachments
|
||||||
|
|
||||||
def mark_read(self, attach_id: str, channel_id: str = '1') -> bool:
|
def mark_read(self, attach_id: str, channel_id: str = '1') -> bool:
|
||||||
"""通过访问下载链接标记已读"""
|
"""通过访问预览通道标记已读"""
|
||||||
download_url = f"{BASE_URL}/tools/download.ashx?site=main&id={attach_id}&channel_id={channel_id}"
|
download_url = f"{BASE_URL}/tools/download2.ashx?site=main&id={attach_id}&channel_id={channel_id}"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
resp = self._request_with_retry("get", download_url, stream=True)
|
resp = self._request_with_retry("get", download_url, stream=True)
|
||||||
|
|||||||
@@ -311,7 +311,14 @@ def take_screenshot_for_account(
|
|||||||
screenshot_path = os.path.join(SCREENSHOTS_DIR, screenshot_filename)
|
screenshot_path = os.path.join(SCREENSHOTS_DIR, screenshot_filename)
|
||||||
|
|
||||||
cookies_for_shot = cookie_path if is_cookie_jar_fresh(cookie_path) else None
|
cookies_for_shot = cookie_path if is_cookie_jar_fresh(cookie_path) else None
|
||||||
|
# 优先直接截取目标页面(center.aspx?bz=X),避免 iframe 加载问题
|
||||||
if take_screenshot_wkhtmltoimage(
|
if take_screenshot_wkhtmltoimage(
|
||||||
|
target_url,
|
||||||
|
screenshot_path,
|
||||||
|
cookies_path=cookies_for_shot,
|
||||||
|
proxy_server=proxy_server,
|
||||||
|
log_callback=custom_log,
|
||||||
|
) or take_screenshot_wkhtmltoimage(
|
||||||
index_url,
|
index_url,
|
||||||
screenshot_path,
|
screenshot_path,
|
||||||
cookies_path=cookies_for_shot,
|
cookies_path=cookies_for_shot,
|
||||||
@@ -319,12 +326,6 @@ def take_screenshot_for_account(
|
|||||||
run_script=run_script,
|
run_script=run_script,
|
||||||
window_status="ready",
|
window_status="ready",
|
||||||
log_callback=custom_log,
|
log_callback=custom_log,
|
||||||
) or take_screenshot_wkhtmltoimage(
|
|
||||||
target_url,
|
|
||||||
screenshot_path,
|
|
||||||
cookies_path=cookies_for_shot,
|
|
||||||
proxy_server=proxy_server,
|
|
||||||
log_callback=custom_log,
|
|
||||||
):
|
):
|
||||||
if os.path.exists(screenshot_path) and os.path.getsize(screenshot_path) > 1000:
|
if os.path.exists(screenshot_path) and os.path.getsize(screenshot_path) > 1000:
|
||||||
log_to_client(f"✓ 截图成功: {screenshot_filename}", user_id, account_id)
|
log_to_client(f"✓ 截图成功: {screenshot_filename}", user_id, account_id)
|
||||||
|
|||||||
Reference in New Issue
Block a user