添加产品规格文档并优化项目结构

Made-with: Cursor
This commit is contained in:
刘国栋
2026-04-30 18:37:46 +08:00
parent bf2551d529
commit fb309299bf
101 changed files with 9586 additions and 14386 deletions
+11
View File
@@ -0,0 +1,11 @@
"""
服务层:封装对 modules 业务模块的常用工作流,供 UI 层(tab_*.py)按需调用。
- 不替代现有业务类,仅做薄封装与流程编排。
- Tab 可继续直接使用 modules.*,也可逐步改为调用本层以集中错误处理、参数归一化等。
"""
from . import schema_service
from . import tech_config_service
__all__ = ["schema_service", "tech_config_service"]
+40
View File
@@ -0,0 +1,40 @@
"""
Schema 服务:封装 SchemaGenerator 的常用工作流,供 Tab(文章优化、自动创作等)调用。
"""
from typing import Any, Dict, List, Tuple
from modules.schema_generator import SchemaGenerator
def get_combined_schema(
brand_name: str,
advantages: str = "",
schema_types: List[str] = None,
**kwargs: Any,
) -> Dict:
"""生成组合 JSON-LD Schema。返回可序列化为 JSON 的字典。"""
gen = SchemaGenerator()
return gen.generate_combined_schema(
brand_name=brand_name,
advantages=advantages,
schema_types=schema_types,
**kwargs,
)
def get_combined_schema_and_html(
brand_name: str,
advantages: str = "",
schema_types: List[str] = None,
**kwargs: Any,
) -> Tuple[Dict, str]:
"""生成组合 Schema 及其 HTML script 标签片段。返回 (schema_dict, html_script_str)。"""
gen = SchemaGenerator()
schema = gen.generate_combined_schema(
brand_name=brand_name,
advantages=advantages,
schema_types=schema_types or ["Organization", "SoftwareApplication"],
**kwargs,
)
html = gen.generate_html_script_tag(schema)
return schema, html
+42
View File
@@ -0,0 +1,42 @@
"""
技术配置服务:封装 TechnicalConfigGenerator 的常用工作流,供 Tab(文章优化等)调用。
"""
from typing import Any, Dict, List, Optional
from modules.technical_config_generator import TechnicalConfigGenerator
def generate_robots_txt(
base_url: str = "",
allow_paths: Optional[List[str]] = None,
disallow_paths: Optional[List[str]] = None,
sitemap_url: str = "",
user_agent: str = "*",
crawl_delay: Optional[int] = None,
) -> str:
"""生成 robots.txt 内容。"""
gen = TechnicalConfigGenerator()
return gen.generate_robots_txt(
base_url=base_url,
allow_paths=allow_paths,
disallow_paths=disallow_paths,
sitemap_url=sitemap_url,
user_agent=user_agent,
crawl_delay=crawl_delay,
)
def generate_sitemap_xml(
base_url: str,
urls: Optional[List[Dict[str, Any]]] = None,
keywords: Optional[List[str]] = None,
lastmod: Optional[str] = None,
) -> str:
"""生成 sitemap.xml 内容。"""
gen = TechnicalConfigGenerator()
return gen.generate_sitemap_xml(
base_url=base_url,
urls=urls,
keywords=keywords,
lastmod=lastmod,
)