|
27 | 27 |
|
28 | 28 | MAX_CONCURRENT_DOWNLOADS = 10 |
29 | 29 | AVATAR_CACHE_EXPIRE_TIME = 259200 |
30 | | -_VIEWPORT_TAG_PATTERN = re.compile( |
31 | | - r'<meta\s+name=["\']viewport["\'][^>]*>', re.IGNORECASE |
32 | | -) |
33 | | -_DESKTOP_VIEWPORT_TAG = ( |
34 | | - '<meta name="viewport" content="width=1280, viewport-fit=cover">' |
35 | | -) |
36 | 30 |
|
37 | 31 |
|
38 | 32 | class ReportGenerator(IReportGenerator): |
@@ -416,7 +410,6 @@ async def generate_html_report( |
416 | 410 | logger.error("HTML报告渲染失败:返回空内容") |
417 | 411 | return None, None |
418 | 412 |
|
419 | | - html_content = self._force_desktop_viewport(html_content) |
420 | 413 | logger.info(f"HTML 内容生成完成,长度: {len(html_content)} 字符") |
421 | 414 |
|
422 | 415 | # 保存 HTML 文件 |
@@ -487,24 +480,6 @@ def build_html_caption(self, html_path: str) -> str: |
487 | 480 | encoded_relative_url = quote(relative_url, safe="/") |
488 | 481 | return caption + f"\n{base_url.rstrip('/')}/{encoded_relative_url}" |
489 | 482 |
|
490 | | - @staticmethod |
491 | | - def _force_desktop_viewport(rendered_html: str) -> str: |
492 | | - """统一导出 HTML 的 viewport,避免移动端按窄屏重排。""" |
493 | | - if _VIEWPORT_TAG_PATTERN.search(rendered_html): |
494 | | - return _VIEWPORT_TAG_PATTERN.sub( |
495 | | - _DESKTOP_VIEWPORT_TAG, rendered_html, count=1 |
496 | | - ) |
497 | | - |
498 | | - head_close = rendered_html.lower().find("</head>") |
499 | | - if head_close != -1: |
500 | | - return ( |
501 | | - rendered_html[:head_close] |
502 | | - + f" {_DESKTOP_VIEWPORT_TAG}\n" |
503 | | - + rendered_html[head_close:] |
504 | | - ) |
505 | | - |
506 | | - return f"{_DESKTOP_VIEWPORT_TAG}\n{rendered_html}" |
507 | | - |
508 | 483 | def generate_text_report(self, analysis_result: dict) -> str: |
509 | 484 | """生成文本格式的分析报告""" |
510 | 485 | stats = analysis_result["statistics"] |
|
0 commit comments