|
1794
|
4
|
1
|
4
|
20
|
0
|
0
|
|
1
|
|
1778224865
|
Edit
Delete
|
|
1795
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
|
1778225527
|
Edit
Delete
|
|
1796
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"b67540a3d {"Commits":[{"Sha1":"b67540a3d946a34763315b7a73ac62de3610c28a","Message":"initial commit: httpclient_x86 with SOCK_CLOEXEC fix and version update 2026.05.08.01\n\n- Add SOCK_CLOEXEC to all UDP socket creations in UDP_Open() to prevent\n port inheritance by platformd child process on restart\n- Update version to 2026.05.08.01 / httpclientUpdateVersion to 2026050801\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T15:29:08+08:00"}],"HeadCommit":{"Sha1":"b67540a3d946a34763315b7a73ac62de3610c28a","Message":"initial commit: httpclient_x86 with SOCK_CLOEXEC fix and version update 2026.05.08.01\n\n- Add SOCK_CLOEXEC to all UDP socket creations in UDP_Open() to prevent\n port inheritance by platformd child process on restart\n- Update version to 2026.05.08.01 / httpclientUpdateVersion to 2026050801\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T15:29:08+08:00"},"CompareURL":"","Len":1}...
|
1778225527
|
Edit
Delete
|
|
1797
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d34986cbf {"Commits":[{"Sha1":"d34986cbf7d3a5571808f43bbf507187e50eeeba","Message":"fix: UDP socket 端口被 platformd 继承导致重启失败 \u0026 版本升级 2026.05.08.01\n\n【问题背景】\nhttpclient 崩溃后守护进程重启时,程序在 CheckPlatformd() 之后尝试\n绑定 UDP 端口(40001/50003/2446/50002/2348)时报 EADDRINUSE 而退出,\n形成循环重启无法恢复。\n\n【根本原因】\nhttpclient 通过 fork/exec 启动 platformd 子进程时,未设置\nSOCK_CLOEXEC,导致已打开的 UDP socket FD 被 platformd 继承。\nhttpclient 进程崩溃后 platformd 仍持有这些 FD,端口持续被占用。\n\n【修复内容】\n1. Function.cpp:2099 — UDP_Open() 中 socket() 调用添加 SOCK_CLOEXEC\n 所有通过 UDP_Open() 创建的 5 个 UDP 端口(40001/50003/2446/50002/2348)\n 均不再被 platformd 子进程继承,httpclient 崩溃重启后可正常绑定端口。\n\n2. Function.cpp:2282 — 查询本机 IP 用的临时 UDP socket 同步添加 SOCK_CLOEXEC\n\n3. main.cpp:46-47 — 版本号更新\n version: \"httpclient-laiqiaojie 2026.05.08.01\"\n httpclientUpdateVersion: \"2026050801\"\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T15:35:33+08:00"}],"HeadCommit":{"Sha1":"d34986cbf7d3a5571808f43bbf507187e50eeeba","Message":"fix: UDP socket 端口被 platformd 继承导致重启失败 \u0026 版本升级 2026.05.08.01\n\n【问题背景】\nhttpclient 崩溃后守护进程重启时,程序在 CheckPlatformd() 之后尝试\n绑定 UDP 端口(40001/50003/2446/50002/2348)时报 EADDRINUSE 而退出,\n形成循环重启无法恢复。\n\n【根本原因】\nhttpclient 通过 fork/exec 启动 platformd 子进程时,未设置\nSOCK_CLOEXEC,导致已打开的 UDP socket FD 被 platformd 继承。\nhttpclient 进程崩溃后 platformd 仍持有这些 FD,端口持续被占用。\n\n【修复内容】\n1. Function.cpp:2099 — UDP_Open() 中 socket() 调用添加 SOCK_CLOEXEC\n 所有通过 UDP_Open() 创建的 5 个 UDP 端口(40001/50003/2446/50002/2348)\n 均不再被 platformd 子进程继承,httpclient 崩溃重启后可正常绑定端口。\n\n2. Function.cpp:2282 — 查询本机 IP 用的临时 UDP socket 同步添加 SOCK_CLOEXEC\n\n3. main.cpp:46-47 — 版本号更新\n version: \"httpclient-laiqiaojie 2026.05.08.01\"\n httpclientUpdateVersion: \"2026050801\"\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T15:35:33+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/b67540a3d946a34763315b7a73ac62de3610c28a...d34986cbf7d3a5571808f43bbf507187e50eeeba","Len":1}...
|
1778225744
|
Edit
Delete
|
|
1798
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"855a00f60 {"Commits":[{"Sha1":"855a00f60c91a68c2e8ad319c975b9d734758f41","Message":"docs: 添加 Claude Code 开发流程迁移文档\n\n- 新增 CLAUDE.md:项目架构、构建方式、协议约定、数据库 Schema、\n 开发注意事项等 AI 上下文文档\n- 新增 .claude/settings.json:Claude Code 权限配置(make/ssh/grep 等)\n- 新增 docs/protocol-udp.md:UDP 消息协议(function 码、端口分配、JSON 格式)\n- 新增 docs/protocol-tcp.md:TCP/IPSOCKETPKG 协议与 P2P 服务器通信\n- 新增 docs/api-http.md:云端 REST API 接口文档(逆向生成)\n- 新增 docs/api-socket.md:Function.cpp 全部 TCP/UDP socket 函数接口\n- 新增 docs/database-schema.md:三个数据库四张表的 DDL 与典型 SQL\n- 新增 docs/download-flow.md:CTask 状态机与完整下载流程\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:28:47+08:00"}],"HeadCommit":{"Sha1":"855a00f60c91a68c2e8ad319c975b9d734758f41","Message":"docs: 添加 Claude Code 开发流程迁移文档\n\n- 新增 CLAUDE.md:项目架构、构建方式、协议约定、数据库 Schema、\n 开发注意事项等 AI 上下文文档\n- 新增 .claude/settings.json:Claude Code 权限配置(make/ssh/grep 等)\n- 新增 docs/protocol-udp.md:UDP 消息协议(function 码、端口分配、JSON 格式)\n- 新增 docs/protocol-tcp.md:TCP/IPSOCKETPKG 协议与 P2P 服务器通信\n- 新增 docs/api-http.md:云端 REST API 接口文档(逆向生成)\n- 新增 docs/api-socket.md:Function.cpp 全部 TCP/UDP socket 函数接口\n- 新增 docs/database-schema.md:三个数据库四张表的 DDL 与典型 SQL\n- 新增 docs/download-flow.md:CTask 状态机与完整下载流程\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:28:47+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/d34986cbf7d3a5571808f43bbf507187e50eeeba...855a00f60c91a68c2e8ad319c975b9d734758f41","Len":1}...
|
1778229299
|
Edit
Delete
|
|
1799
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"72e4c3603 {"Commits":[{"Sha1":"72e4c36034d9ac0f45c22b76722e992b2bfba3b5","Message":"docs: 区分编译环境与运行验证环境,记录编译机 IP\n\n- CLAUDE.md 新增\"开发环境说明\"章节,明确区分:\n 编译环境(VMware 192.168.3.41)与运行验证环境(KTV 实体设备)\n- .claude/settings.json 新增 BUILD_HOST/BUILD_USER/BUILD_PROJECT\n 和 DEPLOY_HOST/DEPLOY_USER 环境变量\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:44:23+08:00"}],"HeadCommit":{"Sha1":"72e4c36034d9ac0f45c22b76722e992b2bfba3b5","Message":"docs: 区分编译环境与运行验证环境,记录编译机 IP\n\n- CLAUDE.md 新增\"开发环境说明\"章节,明确区分:\n 编译环境(VMware 192.168.3.41)与运行验证环境(KTV 实体设备)\n- .claude/settings.json 新增 BUILD_HOST/BUILD_USER/BUILD_PROJECT\n 和 DEPLOY_HOST/DEPLOY_USER 环境变量\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:44:23+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/855a00f60c91a68c2e8ad319c975b9d734758f41...72e4c36034d9ac0f45c22b76722e992b2bfba3b5","Len":1}...
|
1778229866
|
Edit
Delete
|
|
1800
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d315418f8 {"Commits":[{"Sha1":"d315418f8d49ded5f9a28dc74c844b636da4a413","Message":"docs: 补充运行验证环境 IP(192.168.3.45)\n\n- CLAUDE.md 更新运行验证环境 IP,补充完整部署验证命令\n- .claude/settings.json 更新 DEPLOY_HOST=192.168.3.45\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:45:37+08:00"}],"HeadCommit":{"Sha1":"d315418f8d49ded5f9a28dc74c844b636da4a413","Message":"docs: 补充运行验证环境 IP(192.168.3.45)\n\n- CLAUDE.md 更新运行验证环境 IP,补充完整部署验证命令\n- .claude/settings.json 更新 DEPLOY_HOST=192.168.3.45\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:45:37+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/72e4c36034d9ac0f45c22b76722e992b2bfba3b5...d315418f8d49ded5f9a28dc74c844b636da4a413","Len":1}...
|
1778229939
|
Edit
Delete
|
|
1801
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"7eb14fbca {"Commits":[{"Sha1":"7eb14fbcafe5e5f5eb49d5cb29c70517a5134dbf","Message":"fix: correct VMware shared folder path in settings and CLAUDE.md\n\nUpdate BUILD_PROJECT from /mnt/hgfs/httpclient_x86 to the actual path\n/mnt/hgfs/workspace/bistroApp/Linux/httpclient_x86 confirmed by successful\ncompilation on 2026-05-08.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:07:38+08:00"}],"HeadCommit":{"Sha1":"7eb14fbcafe5e5f5eb49d5cb29c70517a5134dbf","Message":"fix: correct VMware shared folder path in settings and CLAUDE.md\n\nUpdate BUILD_PROJECT from /mnt/hgfs/httpclient_x86 to the actual path\n/mnt/hgfs/workspace/bistroApp/Linux/httpclient_x86 confirmed by successful\ncompilation on 2026-05-08.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:07:38+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/d315418f8d49ded5f9a28dc74c844b636da4a413...7eb14fbcafe5e5f5eb49d5cb29c70517a5134dbf","Len":1}...
|
1778231263
|
Edit
Delete
|
|
1802
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"a1f24e1c4 {"Commits":[{"Sha1":"a1f24e1c44238d58c016ffaeed9e4bb86a0f7c2c","Message":"docs: add deployment notes for watchdog script and SCP compatibility\n\nDocument the /etc/tool/httpclientktv.sh watchdog behavior on the KTV\ndevice, correct deploy sequence (kill watchdog before process), and\nthe -O flag requirement for scp with OpenSSH 10.x vs old server.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:14:08+08:00"}],"HeadCommit":{"Sha1":"a1f24e1c44238d58c016ffaeed9e4bb86a0f7c2c","Message":"docs: add deployment notes for watchdog script and SCP compatibility\n\nDocument the /etc/tool/httpclientktv.sh watchdog behavior on the KTV\ndevice, correct deploy sequence (kill watchdog before process), and\nthe -O flag requirement for scp with OpenSSH 10.x vs old server.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:14:08+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/7eb14fbcafe5e5f5eb49d5cb29c70517a5134dbf...a1f24e1c44238d58c016ffaeed9e4bb86a0f7c2c","Len":1}...
|
1778231652
|
Edit
Delete
|
|
1803
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d1d787e98 {"Commits":[{"Sha1":"d1d787e981030a2d7012aed000dbfdc71bc292e6","Message":"docs: restructure build/deploy/verify section in CLAUDE.md\n\nConsolidate scattered deployment notes into a single clean workflow:\n- Merge env intro, build, deploy and verify into one section\n- Remove repeated SSH -o flags (both hosts now in ~/.ssh/config)\n- Add expected log output for startup verification\n- Simplify watchdog script description\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:16:14+08:00"}],"HeadCommit":{"Sha1":"d1d787e981030a2d7012aed000dbfdc71bc292e6","Message":"docs: restructure build/deploy/verify section in CLAUDE.md\n\nConsolidate scattered deployment notes into a single clean workflow:\n- Merge env intro, build, deploy and verify into one section\n- Remove repeated SSH -o flags (both hosts now in ~/.ssh/config)\n- Add expected log output for startup verification\n- Simplify watchdog script description\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:16:14+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/a1f24e1c44238d58c016ffaeed9e4bb86a0f7c2c...d1d787e981030a2d7012aed000dbfdc71bc292e6","Len":1}...
|
1778231777
|
Edit
Delete
|
|
2145
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"e7903e9e7 {"Commits":[{"Sha1":"e7903e9e7794ec054036431a7c1fc0a6b7aaf835","Message":"fix: 修复2001接口无错误详情及失败无重试问题\n\n- LIBCURLWrapper: 检查curl_easy_perform返回值,失败时记录errcode/errmsg/http状态码/耗时\n- LIBCURLWrapper: 修正CURLOPT_CONNECTTIMEOUT单位错误(秒误传毫秒),改用CURLOPT_CONNECTTIMEOUT_MS\n- LIBCURLWrapper: response日志增加耗时差值,便于定位慢请求\n- main: GetSongsNamePath失败后最多重试3次(间隔3秒),避免偶发网络抖动丢失下载任务\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-15T17:51:33+08:00"}],"HeadCommit":{"Sha1":"e7903e9e7794ec054036431a7c1fc0a6b7aaf835","Message":"fix: 修复2001接口无错误详情及失败无重试问题\n\n- LIBCURLWrapper: 检查curl_easy_perform返回值,失败时记录errcode/errmsg/http状态码/耗时\n- LIBCURLWrapper: 修正CURLOPT_CONNECTTIMEOUT单位错误(秒误传毫秒),改用CURLOPT_CONNECTTIMEOUT_MS\n- LIBCURLWrapper: response日志增加耗时差值,便于定位慢请求\n- main: GetSongsNamePath失败后最多重试3次(间隔3秒),避免偶发网络抖动丢失下载任务\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-15T17:51:33+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/d1d787e981030a2d7012aed000dbfdc71bc292e6...e7903e9e7794ec054036431a7c1fc0a6b7aaf835","Len":1}...
|
1778838701
|
Edit
Delete
|
|
13335
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"6d546e581 {"Commits":[{"Sha1":"6d546e581b8b1d51deddf92fc7b7b9170ade69a6","Message":"docs: 更新 CLAUDE.md 补充部署流程和登录凭据\n\n- 两台服务器均改为密码认证(.41 密码 8888,.45 密码 2598123)\n- 部署改用 paramiko 脚本,补充旧设备 SFTP 需先 rm -f 再上传的注意事项\n- 编译步骤改为 paramiko 写法与实际一致\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-06-18T18:47:51+08:00"},{"Sha1":"ca4464c5794c860ca8711f68a69f875ac1f5f788","Message":"chore: 更新版本号至 2026.06.18.01\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-06-18T17:11:25+08:00"},{"Sha1":"861d99b1e1e3545b652ec88893aa072e602eac1c","Message":"fix: 启动时关闭 SCSI 磁盘写缓存,防止断电导致 ext4 目录损坏\n\n程序启动时遍历 /sys/class/scsi_disk/*/cache_type,将所有磁盘写缓存\n从 write back 改为 write through,替代 udev 规则无需修改系统配置。\n同时更新 CLAUDE.md 补充 192.168.3.45 密码登录方式。\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-06-18T16:55:03+08:00"},{"Sha1":"f6e6be54464469df9d72ec252ac750de889f6722","Message":"docs: 修正主副机同步描述为副机 pull 模型\n\n原文档将同步描述为「主机下载完成后通过 g_sync_other_server 推送\n分发(function=1001)」,与代码不符。实际机制:\n- 主机下载完成仅 INSERT downloads_path 登记同步源,不主动推送\n- 副机空闲时定时广播 1003 拉取缺歌,主机按 downloads_path_ip\n 账本算差异列表回复,副机下载后发 1004 回报,主机 UPDATE 收敛\n- g_sync_other_server 为死配置:仅赋值从不被任何分支使用,\n 「分发同步」开关无效,同步为强制行为\n\n涉及 architecture.md §1/§5/§6、business.md §2/§3/§5、\ndownload-flow.md 完成分支、protocol-tcp.md 配置示例、CLAUDE.md 变量表\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-06-03T18:08:35+08:00"},{"Sha1":"e4bf05b176f836e33502a434cf82ef2163ca1974","Message":"docs: 新增架构总览、业务流程文档及文档索引\n\n- architecture.md: 系统分层、线程模型、主副机协作、部署拓扑、设计约束\n- business.md: 业务角色、核心场景、业务规则、配置项映射\n- README.md: 文档索引、快速查阅指引、源码对应关系、维护约定\n- 纳入 openapi-*.yaml 机器可读规范\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-06-03T17:53:21+08:00"}],"HeadCommit":{"Sha1":"6d546e581b8b1d51deddf92fc7b7b9170ade69a6","Message":"docs: 更新 CLAUDE.md 补充部署流程和登录凭据\n\n- 两台服务器均改为密码认证(.41 密码 8888,.45 密码 2598123)\n- 部署改用 paramiko 脚本,补充旧设备 SFTP 需先 rm -f 再上传的注意事项\n- 编译步骤改为 paramiko 写法与实际一致\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-06-18T18:47:51+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/e7903e9e7794ec054036431a7c1fc0a6b7aaf835...6d546e581b8b1d51deddf92fc7b7b9170ade69a6","Len":5}...
|
1781779716
|
Edit
Delete
|
|
30488
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"7cfc9df08 {"Commits":[{"Sha1":"7cfc9df08f67dd9f3f2b930de2341efc96063431","Message":"fix: 修复磁盘 I/O 挂起导致主循环永久阻塞及重启崩溃循环\n\n- 下载失败的临时文件改由下载线程 WorkCoping 用 unlink() 清理,主循环不再 system(\"rm\")\n- UDP_Open 在 bind 前设置 SO_REUSEADDR,避免重启时端口占用导致退出循环\n- 新增 ThreadWatchdog:主循环 300s 无心跳则 exit(1),由守护脚本拉起\n- 启动清理补充 /%c/download_temp/*.tmp\n- 版本号更新至 2026.09.16.01\n\n已在 192.168.3.45 用 fsfreeze 冻结磁盘复现 09-15 故障并验证通过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-17T12:31:18+08:00"}],"HeadCommit":{"Sha1":"7cfc9df08f67dd9f3f2b930de2341efc96063431","Message":"fix: 修复磁盘 I/O 挂起导致主循环永久阻塞及重启崩溃循环\n\n- 下载失败的临时文件改由下载线程 WorkCoping 用 unlink() 清理,主循环不再 system(\"rm\")\n- UDP_Open 在 bind 前设置 SO_REUSEADDR,避免重启时端口占用导致退出循环\n- 新增 ThreadWatchdog:主循环 300s 无心跳则 exit(1),由守护脚本拉起\n- 启动清理补充 /%c/download_temp/*.tmp\n- 版本号更新至 2026.09.16.01\n\n已在 192.168.3.45 用 fsfreeze 冻结磁盘复现 09-15 故障并验证通过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-17T12:31:18+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/6d546e581b8b1d51deddf92fc7b7b9170ade69a6...7cfc9df08f67dd9f3f2b930de2341efc96063431","Len":1}...
|
1789621661
|
Edit
Delete
|
|
30504
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"fd06ab91c {"Commits":[{"Sha1":"fd06ab91c814e82d02f85eb28d1214f04834bbd1","Message":"docs: 新增升级包制作发布流程,完善错误日志上传接口文档\n\n- CLAUDE.md 新增\"升级包制作与发布(OTA)\"章节:设备端升级机制、updatelist.txt 格式、OSS 路径与后台 3013 配置、验证方法\n- api-http.md 重写 uploadErrorLog 接口:字段更正为 content,mac 实为 3001 下发的设备编号,补充错误类型/触发场景/排查方向、设备端行为与已知问题\n- openapi.yaml 同步更正 uploadErrorLog 定义;修正 EasyHttpPost 实际走 libcurl\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-17T15:28:00+08:00"}],"HeadCommit":{"Sha1":"fd06ab91c814e82d02f85eb28d1214f04834bbd1","Message":"docs: 新增升级包制作发布流程,完善错误日志上传接口文档\n\n- CLAUDE.md 新增\"升级包制作与发布(OTA)\"章节:设备端升级机制、updatelist.txt 格式、OSS 路径与后台 3013 配置、验证方法\n- api-http.md 重写 uploadErrorLog 接口:字段更正为 content,mac 实为 3001 下发的设备编号,补充错误类型/触发场景/排查方向、设备端行为与已知问题\n- openapi.yaml 同步更正 uploadErrorLog 定义;修正 EasyHttpPost 实际走 libcurl\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-17T15:28:00+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/7cfc9df08f67dd9f3f2b930de2341efc96063431...fd06ab91c814e82d02f85eb28d1214f04834bbd1","Len":1}...
|
1789630084
|
Edit
Delete
|
|
30775
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"4adc0fa29 {"Commits":[{"Sha1":"4adc0fa29c97de90a67a472a35c63a779c147b5a","Message":"feat: 下载临时目录 IO 错误自动修复,错误上报统一前缀\n\n- 临时文件无法打开且为目录级错误(EIO/EUCLEAN/ENOTDIR 等)时,将 /\u003c盘符\u003e/download_temp\n 重命名为 download_temp_bad_\u003c时间\u003e[_n] 并重建;按盘符 trylock、10 分钟冷却、坏目录上限 5 个,\n 修复失败或冷却期内再坏则该盘 30 分钟不参与选盘;文件名级错误不改目录\n- 下载完成前校验临时文件真实大小,防止目录被改名等情况导致残缺文件入库;修复后重置断点与计数\n- 重试耗尽明确置 state=-1,不再依赖线程退出判定\n- uploadBug 改用 cJSON 构建并统一加前缀\"点播服务器:\"\n- libcurl 改用带锁的 CURLSH 共享 DNS 缓存(7.36 全局缓存非线程安全),并在建线程前 curl_global_init\n- 版本号 2026.09.17.01\n\n已在 192.168.3.45 用 dm-error 构造真实 EIO 验证修复、重名、坏盘跳过、冷却与大小校验。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-18T11:10:22+08:00"}],"HeadCommit":{"Sha1":"4adc0fa29c97de90a67a472a35c63a779c147b5a","Message":"feat: 下载临时目录 IO 错误自动修复,错误上报统一前缀\n\n- 临时文件无法打开且为目录级错误(EIO/EUCLEAN/ENOTDIR 等)时,将 /\u003c盘符\u003e/download_temp\n 重命名为 download_temp_bad_\u003c时间\u003e[_n] 并重建;按盘符 trylock、10 分钟冷却、坏目录上限 5 个,\n 修复失败或冷却期内再坏则该盘 30 分钟不参与选盘;文件名级错误不改目录\n- 下载完成前校验临时文件真实大小,防止目录被改名等情况导致残缺文件入库;修复后重置断点与计数\n- 重试耗尽明确置 state=-1,不再依赖线程退出判定\n- uploadBug 改用 cJSON 构建并统一加前缀\"点播服务器:\"\n- libcurl 改用带锁的 CURLSH 共享 DNS 缓存(7.36 全局缓存非线程安全),并在建线程前 curl_global_init\n- 版本号 2026.09.17.01\n\n已在 192.168.3.45 用 dm-error 构造真实 EIO 验证修复、重名、坏盘跳过、冷却与大小校验。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-18T11:10:22+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/fd06ab91c814e82d02f85eb28d1214f04834bbd1...4adc0fa29c97de90a67a472a35c63a779c147b5a","Len":1}...
|
1789701026
|
Edit
Delete
|
|
30790
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"e5cb0cb24 {"Commits":[{"Sha1":"e5cb0cb24826326208966c3ead539ae1d3e5d12a","Message":"feat: DNS 故障自动切换备用 DNS,无需重启进程\n\n- 新增 DnsGuard 守护线程:改写 /etc/resolv.conf 为「原始DNS + 测速最快的2个备用DNS」\n (options timeout:1 attempts:2),并 res_init() 使全进程及 std_wget/libcurl/OSS 生效\n- 首选 DNS 连续 2 次探测失败切换为「备用1,备用2,原始DNS」;原始 DNS 每 5 分钟探测、\n 连续 3 次成功切回;切换冷却 30s;劫持地址 10.10.0.1 视为失败\n- 内置备用:国内 223.5.5.5/119.29.29.29/114.114.114.114,海外 8.8.8.8/1.1.1.1/9.9.9.9,\n 并发测速排序;hdd/dns.ini 可覆盖 region/列表/探测域名,热加载\n- 健康探测超时 1s 与系统 timeout 一致;文件头记录原始 DNS,故障状态下重启、\n 外部追加(setup_dns.sh \u003e\u003e)或拷回备份都能正确识别\n- 各处域名解析失败处调用 DnsGuardReportFailure() 立即唤醒复查\n- 修正 CLAUDE.md 部署脚本 pgrep 自匹配导致两个守护循环互杀的问题\n- 版本号 2026.09.18.01\n\n已在 192.168.3.45 验证:故障切换、区域测速、dns.ini 热加载、故障态重启、外部修改识别。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-18T13:05:37+08:00"}],"HeadCommit":{"Sha1":"e5cb0cb24826326208966c3ead539ae1d3e5d12a","Message":"feat: DNS 故障自动切换备用 DNS,无需重启进程\n\n- 新增 DnsGuard 守护线程:改写 /etc/resolv.conf 为「原始DNS + 测速最快的2个备用DNS」\n (options timeout:1 attempts:2),并 res_init() 使全进程及 std_wget/libcurl/OSS 生效\n- 首选 DNS 连续 2 次探测失败切换为「备用1,备用2,原始DNS」;原始 DNS 每 5 分钟探测、\n 连续 3 次成功切回;切换冷却 30s;劫持地址 10.10.0.1 视为失败\n- 内置备用:国内 223.5.5.5/119.29.29.29/114.114.114.114,海外 8.8.8.8/1.1.1.1/9.9.9.9,\n 并发测速排序;hdd/dns.ini 可覆盖 region/列表/探测域名,热加载\n- 健康探测超时 1s 与系统 timeout 一致;文件头记录原始 DNS,故障状态下重启、\n 外部追加(setup_dns.sh \u003e\u003e)或拷回备份都能正确识别\n- 各处域名解析失败处调用 DnsGuardReportFailure() 立即唤醒复查\n- 修正 CLAUDE.md 部署脚本 pgrep 自匹配导致两个守护循环互杀的问题\n- 版本号 2026.09.18.01\n\n已在 192.168.3.45 验证:故障切换、区域测速、dns.ini 热加载、故障态重启、外部修改识别。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-18T13:05:37+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/4adc0fa29c97de90a67a472a35c63a779c147b5a...e5cb0cb24826326208966c3ead539ae1d3e5d12a","Len":1}...
|
1789707940
|
Edit
Delete
|
|
1818
|
1
|
1
|
1
|
21
|
0
|
0
|
|
0
|
|
1778555164
|
Edit
Delete
|
|
1841
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay
|
0
|
|
1778563599
|
Edit
Delete
|
|
1848
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay
|
0
|
{"Commits":[{"Sha1":"40030cb40 {"Commits":[{"Sha1":"40030cb409c1ee48663184c728e7cf1f05679b38","Message":"主分支\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:26:03+08:00"}],"HeadCommit":{"Sha1":"40030cb409c1ee48663184c728e7cf1f05679b38","Message":"主分支\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:26:03+08:00"},"CompareURL":"","Len":1}...
|
1778563599
|
Edit
Delete
|
|
1855
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay
|
0
|
{"Commits":[{"Sha1":"3ac05738c {"Commits":[{"Sha1":"3ac05738c2d03cc16eec71458be90d50721dc17a","Message":"主分支目录弄错重新上传。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:37:01+08:00"}],"HeadCommit":{"Sha1":"3ac05738c2d03cc16eec71458be90d50721dc17a","Message":"主分支目录弄错重新上传。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:37:01+08:00"},"CompareURL":"vodtest/pay/compare/40030cb409c1ee48663184c728e7cf1f05679b38...3ac05738c2d03cc16eec71458be90d50721dc17a","Len":1}...
|
1778564268
|
Edit
Delete
|
|
1862
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay
|
0
|
{"Commits":[{"Sha1":"9c0e0a562 {"Commits":[{"Sha1":"9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1","Message":"主分支目录弄错重新上传。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:38:39+08:00"}],"HeadCommit":{"Sha1":"9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1","Message":"主分支目录弄错重新上传。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:38:39+08:00"},"CompareURL":"vodtest/pay/compare/3ac05738c2d03cc16eec71458be90d50721dc17a...9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1","Len":1}...
|
1778564384
|
Edit
Delete
|
|
1869
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260422
|
0
|
|
1778565035
|
Edit
Delete
|
|
1876
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260422
|
0
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1","Message":"主分支目录弄错重新上传。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:38:39+08:00"},"CompareURL":"vodtest/pay/compare/pay...9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1","Len":0}...
|
1778565035
|
Edit
Delete
|
|
1883
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260519
|
0
|
|
1778565164
|
Edit
Delete
|
|
1890
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260519
|
0
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1","Message":"主分支目录弄错重新上传。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:38:39+08:00"},"CompareURL":"vodtest/pay/compare/pay...9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1","Len":0}...
|
1778565164
|
Edit
Delete
|
|
1897
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260519
|
0
|
{"Commits":[{"Sha1":"865937206 {"Commits":[{"Sha1":"865937206384f1201c0e2f2b61489d0b383baf28","Message":"260519分支分支\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:59:33+08:00"}],"HeadCommit":{"Sha1":"865937206384f1201c0e2f2b61489d0b383baf28","Message":"260519分支分支\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:59:33+08:00"},"CompareURL":"vodtest/pay/compare/9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1...865937206384f1201c0e2f2b61489d0b383baf28","Len":1}...
|
1778565581
|
Edit
Delete
|
|
1904
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260519
|
0
|
{"Commits":[{"Sha1":"aaebc36ff {"Commits":[{"Sha1":"aaebc36ff8ec6ec5084ee033bfbe0d2a6d3ecf25","Message":"过滤文件修改\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T14:03:13+08:00"},{"Sha1":"f951f161c7a57883b067390c3d7714594f1bc67f","Message":"260519分支分支\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:59:50+08:00"}],"HeadCommit":{"Sha1":"aaebc36ff8ec6ec5084ee033bfbe0d2a6d3ecf25","Message":"过滤文件修改\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T14:03:13+08:00"},"CompareURL":"vodtest/pay/compare/865937206384f1201c0e2f2b61489d0b383baf28...aaebc36ff8ec6ec5084ee033bfbe0d2a6d3ecf25","Len":2}...
|
1778565803
|
Edit
Delete
|
|
1911
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260519
|
0
|
{"Commits":[{"Sha1":"3f3da3a79 {"Commits":[{"Sha1":"3f3da3a79ed6d8b34f5aad6d82073f3655a20931","Message":"重新提交 vendor 目录\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T14:06:32+08:00"}],"HeadCommit":{"Sha1":"3f3da3a79ed6d8b34f5aad6d82073f3655a20931","Message":"重新提交 vendor 目录\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T14:06:32+08:00"},"CompareURL":"vodtest/pay/compare/aaebc36ff8ec6ec5084ee033bfbe0d2a6d3ecf25...3f3da3a79ed6d8b34f5aad6d82073f3655a20931","Len":1}...
|
1778566020
|
Edit
Delete
|
|
2364
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260519
|
0
|
{"Commits":[{"Sha1":"58758eb2c {"Commits":[{"Sha1":"58758eb2c3068a06851e208cd4a1d88a58d1de66","Message":"0519\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-18T17:58:24+08:00"}],"HeadCommit":{"Sha1":"58758eb2c3068a06851e208cd4a1d88a58d1de66","Message":"0519\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-18T17:58:24+08:00"},"CompareURL":"vodtest/pay/compare/3f3da3a79ed6d8b34f5aad6d82073f3655a20931...58758eb2c3068a06851e208cd4a1d88a58d1de66","Len":1}...
|
1779098311
|
Edit
Delete
|
|
2386
|
1
|
6
|
1
|
21
|
0
|
0
|
|
0
|
1|🔍 代码审查报告:pay-260519 - 0519
|
1779098442
|
Edit
Delete
|
|
2492
|
1
|
5
|
1
|
21
|
0
|
0
|
refs/heads/pay-260616
|
0
|
|
1779154232
|
Edit
Delete
|
|
2500
|
1
|
5
|
1
|
21
|
0
|
0
|
refs/heads/pay-260616
|
0
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1","Message":"主分支目录弄错重新上传。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:38:39+08:00"},"CompareURL":"vodtest/pay/compare/pay...9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1","Len":0}...
|
1779154232
|
Edit
Delete
|
|
2588
|
1
|
7
|
1
|
21
|
0
|
0
|
|
0
|
2|260519分支分支
|
1779154517
|
Edit
Delete
|
|
2596
|
1
|
5
|
1
|
21
|
0
|
0
|
refs/heads/pay
|
0
|
{"Commits":[{"Sha1":"bc1f44719 {"Commits":[{"Sha1":"bc1f44719e1377fdbb2f68ecad45ea3a464c7011","Message":"Merge pull request '260519分支分支' (#2) from pay-260519 into pay\n\nReviewed-on: https://gitea.g-hi.com/vodtest/pay/pulls/2\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T09:35:26+08:00"},{"Sha1":"58758eb2c3068a06851e208cd4a1d88a58d1de66","Message":"0519\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-18T17:58:24+08:00"},{"Sha1":"3f3da3a79ed6d8b34f5aad6d82073f3655a20931","Message":"重新提交 vendor 目录\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T14:06:32+08:00"},{"Sha1":"aaebc36ff8ec6ec5084ee033bfbe0d2a6d3ecf25","Message":"过滤文件修改\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T14:03:13+08:00"},{"Sha1":"f951f161c7a57883b067390c3d7714594f1bc67f","Message":"260519分支分支\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T13:59:50+08:00"}],"HeadCommit":{"Sha1":"bc1f44719e1377fdbb2f68ecad45ea3a464c7011","Message":"Merge pull request '260519分支分支' (#2) from pay-260519 into pay\n\nReviewed-on: https://gitea.g-hi.com/vodtest/pay/pulls/2\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T09:35:26+08:00"},"CompareURL":"vodtest/pay/compare/9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1...bc1f44719e1377fdbb2f68ecad45ea3a464c7011","Len":6}...
|
1779154531
|
Edit
Delete
|
|
2604
|
1
|
11
|
1
|
21
|
0
|
0
|
|
0
|
2|260519分支分支
|
1779154532
|
Edit
Delete
|
|
2612
|
1
|
7
|
1
|
21
|
0
|
0
|
|
0
|
3|260519分支分支
|
1779154606
|
Edit
Delete
|
|
2620
|
1
|
5
|
1
|
21
|
0
|
0
|
refs/heads/pay-260616
|
0
|
{"Commits":[{"Sha1":"79e70dc7b {"Commits":[{"Sha1":"79e70dc7b10febfa9bbcafca77b148aa8cfdc1a0","Message":"Merge pull request '260519分支分支' (#3) from pay into pay-260616\n\nReviewed-on: https://gitea.g-hi.com/vodtest/pay/pulls/3\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T09:37:25+08:00"},{"Sha1":"bc1f44719e1377fdbb2f68ecad45ea3a464c7011","Message":"Merge pull request '260519分支分支' (#2) from pay-260519 into pay\n\nReviewed-on: https://gitea.g-hi.com/vodtest/pay/pulls/2\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T09:35:26+08:00"},{"Sha1":"58758eb2c3068a06851e208cd4a1d88a58d1de66","Message":"0519\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-18T17:58:24+08:00"},{"Sha1":"3f3da3a79ed6d8b34f5aad6d82073f3655a20931","Message":"重新提交 vendor 目录\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T14:06:32+08:00"},{"Sha1":"aaebc36ff8ec6ec5084ee033bfbe0d2a6d3ecf25","Message":"过滤文件修改\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-12T14:03:13+08:00"}],"HeadCommit":{"Sha1":"79e70dc7b10febfa9bbcafca77b148aa8cfdc1a0","Message":"Merge pull request '260519分支分支' (#3) from pay into pay-260616\n\nReviewed-on: https://gitea.g-hi.com/vodtest/pay/pulls/3\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T09:37:25+08:00"},"CompareURL":"vodtest/pay/compare/9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1...79e70dc7b10febfa9bbcafca77b148aa8cfdc1a0","Len":7}...
|
1779154650
|
Edit
Delete
|
|
2628
|
1
|
11
|
1
|
21
|
0
|
0
|
|
0
|
3|260519分支分支
|
1779154650
|
Edit
Delete
|
|
2785
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260422
|
0
|
{"Commits":[{"Sha1":"93dc808e1 {"Commits":[{"Sha1":"93dc808e1dd299374ecb5111f08b2c5c096bfb4f","Message":"0519\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T10:09:21+08:00"}],"HeadCommit":{"Sha1":"93dc808e1dd299374ecb5111f08b2c5c096bfb4f","Message":"0519\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T10:09:21+08:00"},"CompareURL":"vodtest/pay/compare/9c0e0a562bc1c8b019aebb4ea8a38770f266fdf1...93dc808e1dd299374ecb5111f08b2c5c096bfb4f","Len":1}...
|
1779156586
|
Edit
Delete
|
|
2793
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260422
|
0
|
{"Commits":[{"Sha1":"0f8ac6e96 {"Commits":[{"Sha1":"0f8ac6e96873d62fcec02186fc28a762345525c6","Message":"0422vendor\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T10:14:41+08:00"}],"HeadCommit":{"Sha1":"0f8ac6e96873d62fcec02186fc28a762345525c6","Message":"0422vendor\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T10:14:41+08:00"},"CompareURL":"vodtest/pay/compare/93dc808e1dd299374ecb5111f08b2c5c096bfb4f...0f8ac6e96873d62fcec02186fc28a762345525c6","Len":1}...
|
1779156929
|
Edit
Delete
|
|
2801
|
1
|
5
|
3
|
21
|
0
|
0
|
refs/heads/pay-260422
|
0
|
{"Commits":[{"Sha1":"b25a9e6e1 {"Commits":[{"Sha1":"b25a9e6e17ff93e9fbba0bf3cb73bb468dfab9ff","Message":"0422\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T10:40:16+08:00"}],"HeadCommit":{"Sha1":"b25a9e6e17ff93e9fbba0bf3cb73bb468dfab9ff","Message":"0422\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-19T10:40:16+08:00"},"CompareURL":"vodtest/pay/compare/0f8ac6e96873d62fcec02186fc28a762345525c6...b25a9e6e17ff93e9fbba0bf3cb73bb468dfab9ff","Len":1}...
|
1779158427
|
Edit
Delete
|
|
2807
|
1
|
6
|
1
|
21
|
0
|
0
|
|
0
|
4|🔍 代码审查报告:pay-260422 - 0422
|
1779158521
|
Edit
Delete
|
|
2833
|
1
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260422
|
0
|
{"Commits":[{"Sha1":"52cfbb3de {"Commits":[{"Sha1":"52cfbb3de0a6f6ea4a99c5cfd69387d9fe94cbf6","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-05-19T10:55:58+08:00"}],"HeadCommit":{"Sha1":"52cfbb3de0a6f6ea4a99c5cfd69387d9fe94cbf6","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-05-19T10:55:58+08:00"},"CompareURL":"vodtest/pay/compare/b25a9e6e17ff93e9fbba0bf3cb73bb468dfab9ff...52cfbb3de0a6f6ea4a99c5cfd69387d9fe94cbf6","Len":1}...
|
1779159370
|
Edit
Delete
|
|
2841
|
1
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260422
|
0
|
{"Commits":[{"Sha1":"bcd973c0e {"Commits":[{"Sha1":"bcd973c0e9a34ab2ac3e19bdef366000d630fdfd","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-05-19T10:57:03+08:00"}],"HeadCommit":{"Sha1":"bcd973c0e9a34ab2ac3e19bdef366000d630fdfd","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-05-19T10:57:03+08:00"},"CompareURL":"vodtest/pay/compare/52cfbb3de0a6f6ea4a99c5cfd69387d9fe94cbf6...bcd973c0e9a34ab2ac3e19bdef366000d630fdfd","Len":1}...
|
1779159435
|
Edit
Delete
|
|
2855
|
1
|
6
|
1
|
21
|
0
|
0
|
|
0
|
5|🔍 代码审查报告:pay-260422 - 1
|
1779159487
|
Edit
Delete
|
|
2879
|
1
|
6
|
1
|
21
|
0
|
0
|
|
0
|
6|🔍 代码审查报告:pay-260422 - 1
|
1779159553
|
Edit
Delete
|
|
2913
|
1
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260519
|
0
|
{"Commits":[{"Sha1":"ffe54e798 {"Commits":[{"Sha1":"ffe54e79826ad284dbf8a17af734b1ca70a72275","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-05-19T11:22:38+08:00"}],"HeadCommit":{"Sha1":"ffe54e79826ad284dbf8a17af734b1ca70a72275","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-05-19T11:22:38+08:00"},"CompareURL":"vodtest/pay/compare/58758eb2c3068a06851e208cd4a1d88a58d1de66...ffe54e79826ad284dbf8a17af734b1ca70a72275","Len":1}...
|
1779160968
|
Edit
Delete
|
|
2919
|
1
|
6
|
1
|
21
|
0
|
0
|
|
0
|
7|🔍 代码审查报告:pay-260519 - 1
|
1779161089
|
Edit
Delete
|
|
2929
|
1
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260519
|
0
|
{"Commits":[{"Sha1":"cdacd84f9 {"Commits":[{"Sha1":"cdacd84f9016e1024221f4b7a4666b5c44d76979","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-05-19T11:28:29+08:00"}],"HeadCommit":{"Sha1":"cdacd84f9016e1024221f4b7a4666b5c44d76979","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-05-19T11:28:29+08:00"},"CompareURL":"vodtest/pay/compare/ffe54e79826ad284dbf8a17af734b1ca70a72275...cdacd84f9016e1024221f4b7a4666b5c44d76979","Len":1}...
|
1779161319
|
Edit
Delete
|
|
2935
|
1
|
6
|
1
|
21
|
0
|
0
|
|
0
|
8|🔍 代码审查报告:pay-260519 - 1
|
1779161411
|
Edit
Delete
|