gaozheng
|
e980ddd346
|
harden(net): ApiBatch 契约断言(非空calls/非空谓词)+fail-fast注释+单元素测试(评审 I-1/I-2/M-1/M-2)
|
2026-06-11 20:13:48 +08:00 |
gaozheng
|
72b300d722
|
feat(net): ApiBatch 并发汇聚+fail-fast+abort闸门 + 离线单测
|
2026-06-11 20:05:53 +08:00 |
gaozheng
|
f74d47e62e
|
harden(net): ApiCall onFinished reply 快照防御 + 构造 Q_ASSERT(reply)(评审 H3/L1)
|
2026-06-11 19:59:23 +08:00 |
gaozheng
|
8f94443323
|
feat(net): ApiClient.getAsync/postJsonAsync + IApiCall/ApiCall 异步句柄(abort+aborted_ 闸门,AUTOMOC ON)
|
2026-06-11 19:51:48 +08:00 |
gaozheng
|
c90ea83a04
|
refactor(net): 抽出 buildResponse,sync/async 共用响应解析(DRY,行为不变)
|
2026-06-11 19:43:37 +08:00 |
gaozheng
|
3d59387ab1
|
feat(net): ApiClient(QtNetwork 共享会话) + AuthService(验证码+RSA+login2)
|
2026-06-07 21:26:23 +08:00 |
gaozheng
|
d32cbbf7c4
|
feat(net): RSA 加密器(OpenSSL PKCS1v1.5+base64) + 捕获真实 RSA 公钥
- RsaEncryptor: EVP_PKEY 解析公钥(非法 PEM 抛异常) + PKCS#1 v1.5 加密 + base64; 3/3 测试过
- resources/rsa_public_key.pem: 用 Playwright route 注入 setPublicKey hook + 缓存绕过, 真登录捕获的 RSA-2048 公钥
- spec §8.3: RSA 公钥阻塞解除
- vcpkg.json: 加 openssl
|
2026-06-07 21:17:38 +08:00 |
gaozheng
|
87eba2c5a3
|
scaffold: M1 工程骨架(CMake+vcpkg+分层目录+spike冒烟程序)
- 顶层 CMakeLists / CMakePresets / vcpkg.json(全 vcpkg, Qt+VTK[qt] 共用一份 Qt)
- .clang-format / .clangd / .editorconfig(AI 编码上下文基础设施, 规约 §10.1)
- src 分层目录(core/data/net/render/view/controller/app)+ 各层 README
- src/app: Qt+VTK 冒烟程序(锥体), 作 spike#1/#2 起点
- tests: gtest 冒烟 + ctest 接入
- README
|
2026-06-07 17:41:10 +08:00 |