1.8 KiB
1.8 KiB
title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
| title | type | permalink | stable_id | scope | memory_type | project_id | usage_profile_id | status | revision | request_id | created_at | updated_at | tags | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Checkpoint 2026-08-31 08:57:38 UTC [b439f5be00] | checkpoint | main/projects/6553b53c-bf14-49e3-a3de-1ee2f3533d51/checkpoint-2026-08-31-08-57-38-utc-b439f5be00 | 12faa41a-7590-4ff8-b3c3-990b38257a50 | project | checkpoint | 6553b53c-bf14-49e3-a3de-1ee2f3533d51 | 7aee455b-24cc-4008-bdaf-443721e6f939 | active | 1 | hantele-login-implementation-final-20260831-001 | 2026-08-31T08:57:38.906378+00:00 | 2026-08-31T08:57:38.906378+00:00 |
|
最终交接:在原空目录 E:\code\HanteleWorkTime 创建 Python CLI 自动登录工具。hantele_login.py 实现 randomStr、验证码下载、ddddocr 识别、Base64 密码、OAuth 登录、最多 N 次验证码重试、Bearer 用户信息验证;默认不输出 Token,用户信息只保留账号、姓名、角色和权限数量。requirements.txt 固定 requests/ddddocr 主版本;README.md 包含安装和参数;test_hantele_login.py 覆盖 Base64、randomStr、请求结构和敏感字段脱敏;.gitignore 排除 .venv、缓存、失败验证码和 aidocs。环境:uv 创建 Python 3.12 .venv,依赖安装成功。验证:4/4 unittest 通过,compileall 通过,两次真实登录成功,ddddocr 均首轮识别验证码成功,最终 CLI 未输出 Token、密码哈希、手机号或邮箱。目录不是 Git 仓库,未创建提交。凭据只在密码库中。下一步:基于 HanteleClient 增加具体考勤查询/提交 API;如要无人值守,在任务运行器中注入 HANTELE_USERNAME/HANTELE_PASSWORD,不写入脚本。陷阱:服务证书 SAN 为空,当前只能为该客户端显式使用 --insecure;失败验证码目录可能包含图片样本,已被 .gitignore 排除。