# CONSENSUS — qcwy_signature_refactor

阶段: Align 最终共识

明确的需求与验收标准
- 需求: 提取 51job 爬虫的签名函数与 property 构建函数为独立方法，并在 JobCrawler 内复用；对齐 boss_api.py 的日志与调试输出风格；仅修改与爬虫相关的代码。
- 验收标准:
  - 存在 generate_qcwy_signature(sign_key, url_path, data) 独立函数，输出与原有签名一致。
  - 存在 build_qcwy_property(manual_login_method, page_code) 独立函数，并在 JobCrawler.build_property 内复用。
  - 在模块顶部添加 [DEBUG] 输出与 logging StreamHandler，日志风格一致。
  - 不影响对外调用契约与数据上报逻辑。

技术实现方案与约束
- 保持 httpx.Client 以减少非爬虫相关的改动；签名与 property 独立函数供各 API 组装复用。
- 函数注释与类型标注齐全；布尔值在签名前转换为字符串，确保线上一致性。
- 不引入新依赖，严格遵守 .env 管理敏感配置的规范。

集成方案
- JobCrawler 内部继续使用 self.signature_generator.generate_signature 与 self.build_property，但内部转调独立函数，保证现有方法签名不变。

边界与限制
- 不调整代理与上报接口的现有实现；如需进一步统一至 requests.Session，需单独评审并更新 DESIGN/TASK 文档。

不确定性状态
- 当前均已解决；若后续出现兼容性问题，将在 TASK/ACCEPTANCE 文档中记录并处置。