Commit Graph

5 Commits

Author SHA1 Message Date
k88936 254f2767cc AGC认证错误改为顶层类别加类型化reason
- auth_error.rs:顶层从拍平变体收敛为类别变体,服务地址/网络失败/响应契约破损各占一个变体,不再拆成 7+2+5 个
- auth_error.rs:新增 ServerAddressReason、AuthNetworkReason、AuthResponseInvalidReason 三个 ts-rs 枚举,payload 改持类型化 reason
- auth_session.rs:校验与映射改用 server_address_rejected / response_invalid 收口,按类型化 reason 构造
2026-10-02 02:42:17 +08:00
k88936 d549b3cb16 AGC认证错误改为拍平变体并只传原始事实
- auth_error.rs:变体拍平到同一层,无字段变体序列化为 { type },载荷变体只装 serverMessage/status/detail
- 载荷结构改名并去掉预拼文案:PasswordLoginRejected/SendCodeRejected/PhoneCodeLoginRejected 持 Option serverMessage
- auth_session.rs:服务地址校验 7 种失败各成一个变体,网络拆成超时/不可达,响应契约拆成 5 种变体
- map_auth_failure/response_data/request_auth 去掉 fallback 文案参数,只按可判定事实映射
- 定向用例改用新变体名,并对原始载荷做断言
2026-10-02 02:24:39 +08:00
k88936 f435d48399 AGC 认证错误改为每个变体一个具名载荷类型
- auth_error.rs:枚举改为 newtype 变体,每个变体持有一个同名 `#[ts(export)]` 载荷结构体
- auth_session.rs:41 处构造点改为 `ClientAuthError::X(X { .. })` 并导入载荷类型
- 重新生成 services/generated:ClientAuthError.ts 变成 `{ type } & 具名类型`,新增 19 个载荷类型文件
- tests/clientAuthError.test.ts:新增编译期用例,switch (error.type) 分支里错误窄化成具名载荷类型
2026-10-01 18:08:18 +08:00
k88936 5d5aafe251 删除无人消费的认证失败分类字段与 error_kind 映射
- 删除 ClientAuthError::error_kind():该分类由本次改动自行发明,全仓无消费方
- 删除 ClientAuthStateView.error_kind 字段及 4 个赋值点(含 read_client_auth_state 里写死的 "network")
- 删除 clientAuth.ts RustAuthStateView 的 errorKind 声明,该字段从未被读取
- 保留行为不变:失败仍以 error_message 投影,前端只看 status/user/apiBaseUrl/errorMessage
2026-10-01 16:39:14 +08:00
k88936 8d55f71911 AGC 认证命令错误结构化
- 新增 auth_error.rs:ClientAuthError 具体变体枚举,serde tag=type + ts-rs 导出,附变体名契约测试
- auth_session.rs 全量改为 Result<_, ClientAuthError>:请求/响应/凭据落盘/运行时会话安装按具体变体建模
- 路由语义由变体承担:会话 401/403 走 SessionAuthorityRejected/PermissionDenied,登录 401 保留服务端原因
- 400 变体按请求粒度命名(passwordEntryInputRejected 等),服务端只给 status+message,不做文案匹配
- 注册 auth_error 模块,生成 src/services/generated/ClientAuthError.ts
2026-10-01 15:13:57 +08:00