ila
|
8c0946af9f
|
feat: 保存个人词义与状态,并在其他章节同步显示 (#7)
- schema v5 新增 lexgo_terms:身份为学习者+语言+规范化词形,唯一键保证
重复保存只更新同一条记录,不产生冲突副本
- POST /api/v1/terms 幂等保存并返回 created,GET /api/v1/terms/:id 仅本人可读,
章节 tokens 为 word 片段附带 term:{id,status,level}
- 状态与等级边界:新词/学习中/已知/忽略,只有学习中带 1~7 级,其余必须为 0,
并由数据库检查约束守住
- 学习端面板可编辑释义、例句与学习状态,正文按状态高亮;打开已保存词先读取原内容,
读取失败时禁用保存,切换账号或退出后清理表单、状态与高亮
- 同步 Architecture-and-Code-Map、Business-Rules-and-Glossary、
Local-Development-and-Verification、Product-Requirements-Overview 与 Home
|
2026-09-11 16:32:04 +08:00 |
|
ila
|
ad31ea4225
|
feat: Go-only WordNet resources and reader lookup (#6)
|
2026-09-11 11:59:51 +08:00 |
|
ila
|
b18f9cc4a5
|
fix: 整改 #5 审核问题 R1~R4 (#5)
R1 追加契约:学习端把新建与追加拆成两个请求体,追加不再发送 language(后端严格
解码会拒绝未知字段,此前真实追加返回 400);补充断言真实请求格式的回归测试。
R2 运行期恢复:启动恢复与运行期清扫合并为一处,worker 每秒把停留超过 15 秒的
processing 任务重新入队,超过 5 次尝试的任务置为 failed(attempts_exhausted);
人工重试重置尝试次数;日志如实区分“已入队”与“等待下一次清扫”。
R3 离页作废在途请求:closeBook/closeChapter 推进请求序号并清理 loading,导入页
在卸载后的成功响应不再触发跳转。
R4 重试自愈:重试被接受后先应用返回的 pending 状态并继续轮询,静默刷新失败不再
让页面停在处理失败。
测试:Go 20 个顶层用例通过(新增 2 项);学习端 38 项通过,其中 7 项在整改前代码
上实际失败;真实联调验证追加可用、被中断任务约 0.5 秒内在运行中自动恢复、重试在
首次刷新失败后自动显示最终结果。
文档:Wiki 先写后回读(架构、业务规则、本地验证),导出核心镜像。
|
2026-09-11 11:02:32 +08:00 |
|
ila
|
a55708cd37
|
feat: 粘贴英语文本、章节处理与本人阅读 (#5)
schema v3 新增 lexgo_books、lexgo_chapters、lexgo_ingest_jobs;一次粘贴生成一个章节,
原文按收到的字符串逐字保存;处理任务具备持久状态机、启动恢复与 requestId 幂等。
新增书籍/章节/任务 API 一律按认证身份过滤归属,他人编号返回 404,后台任务不使用
客户端用户编号;学习端补齐粘贴导入、书库、章节状态与失败重试、原文阅读与章节切换。
测试:MySQL 集成测试覆盖导入→处理中→就绪→阅读完整路径、失败重试、幂等、越权与
Unicode 原文保真;学习端 Vitest 31 项、Playwright 3 项与构建通过;lexgo_dev 已显式
迁移到 v3,迁移前后既有数据指纹不变。
文档:Wiki 先写后回读(架构、业务规则、本地验证、需求总览、Home),导出核心镜像。
|
2026-09-11 00:36:23 +08:00 |
|
ila
|
850c78e2aa
|
feat: 管理端登录日志与操作审计 (#18)
|
2026-09-10 20:37:46 +08:00 |
|
ila
|
1e77f1026b
|
fix: 重置密码最少六字节并统一账号校验 (#2)
|
2026-09-10 20:13:38 +08:00 |
|
ila
|
b7768c10de
|
fix: 新增学习账号密码最少六字节 (#2)
|
2026-09-10 20:10:14 +08:00 |
|
ila
|
722ae152ca
|
fix: 登录验证已有密码并保留新密码规则 (#2)
|
2026-09-10 20:02:49 +08:00 |
|
ila
|
2c8e9b3ca0
|
feat: 接入两端用户名登录和独立学习空间 (#2)
|
2026-09-10 17:39:57 +08:00 |
|