Files
lexgo/docs
ila 325849816e fix: 整改 #8 审核问题 R1~R3 (#8)
- R2 并发同键作答:取得词条行锁后加锁复查答案键,stale 插入遇到唯一键冲突转为返回
  已记录结果,不再返回 500;新增两个 goroutine 同键提交的集成用例
- R3 排期:只有新建或状态/等级实际变化才移动 due_at,编辑释义与例句保留原排期,
  逾期词条不会被挤出当天队列
- R3 附带发现:保存未提及等级时保留已获得的等级,阅读器面板不再把 4 级词重置为 1 级
- R1 契约:作答响应 result 只取 applied/stale,另加 duplicate 标记,重放返回首次结果;
  客户端按首次结果计数,本轮只解决卡片而没有新计分时显示完成页而不是空队列
- R4/R5:stale 与重放分别给出角色为 status 的提示,answerId 作用域注释与实现一致
- Wiki 更新 Business-Rules-and-Glossary、Architecture-and-Code-Map、
  Local-Development-and-Verification 并同步镜像
2026-09-11 22:46:23 +08:00
..

generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Home wiki_url: https://git.ilapage.cn/OPC/lexgo/wiki/Home wiki_revision: e44e179cbad8e28133bc2b97d1b6f57b0bb77063 synchronized_at: 2026-09-11T12:54:05Z

LexGo 文档入口

第一次阅读

  1. 项目档案:已确认使用轻量模式、MySQL 8 和本地 go-admin 管理端;学习端采用 Vue 3 + TypeScript + Vite 独立工程;其余技术候选与范围状态。
  2. 需求总览、工作量估算:首版闭环与后续范围。
  3. 架构与代码地图、业务规则。
  4. 开发工作流、本地开发与验证。

五分钟开始

项目已有账号与独立空间工程基础代码,尚未实现阅读学习业务。当前原型已通过用户验收,已拆 MVP 实施工单并安排技术验证。数据库已确定 MySQL 8,管理端已确定采用指定本地 go-admin/go-admin-ui;不把候选技术建议当作已实现能力。

命令从仓库根目录执行:python dev_scripts/harness.py sync --verify 同步线上页面并校验结构,预期退出码 0;python -m unittest discover -s tests -v 验证治理工具,预期全部通过。产品启动命令尚不存在。

简单修改从哪里开始

先看常见修改和故障排查。轻量局部改动做最小验证;新功能和数据/权限变化建单。长期规则先改 Wiki,再导出镜像。

事实来源

Wiki 保存长期规则,工单保存单次实施与验收,Git 保存源码和镜像。当前工程基础已通过验收,已有调研不等于运行验收。数据库选择以用户确认的 MySQL 8 为准,历史 PostgreSQL 建议不再适用。

原有四份调研资料作为证据页面保留:需求提取、Go 分析、另一份需求提取、另一份 Go 分析。其正文为既有调研记录,不将整份建议视为已批准方案。

初始化记录与流程、接入指南、交付文档指南。不默认创建任务快照。

当前 MVP 讨论入口

已确认定位:支持多账号、数据独立的自托管学习工具,先邀请少量用户使用。需求总览已记录 F01~F12 纳入 MVP,X01~X14 暂不纳入;其他研究功能未获批准。

当前设计阶段

F01~F12 已获用户确认,X 系列暂不纳入。Quant-UX 桌面与手机原型 v1 已通过用户验收;进入四阶段实施准备。默认学习语言为英语,原型文章为虚构样例。

原型制作进度与证据见原型工单 #1。

Quant-UX 原型 v1 已通过用户验收。桌面预览、手机预览。工程基础 #2 已于 2026-09-10 通过用户验收:两端用户名登录、管理员创建/启停/重置学习账号、可撤销会话和本人英语空空间。阅读、导入、词典和复习尚未实现。代码在 feat/2-account-foundation 分支。

当前实施入口

四阶段实施总览 #16。14 张单元工单,预计 52~84 人日;实际产品实现未开始。学习端与管理端均使用账号(用户名)+密码登录,不要求邮箱。详见需求总览和工作量表。

当前管理端交付

#2 已验收并关闭(记录 7576)。新增 #18 登录日志与操作审计,已通过用户验收,列入 #16 的试用前准备。管理端提供登录日志、操作日志查询,默认保留 90 天;数据库为显式迁移后的 schema v2。代码分支 feat/18-audit-logs,基于已验收的 feat/2-account-foundation;#17 尚未合并,因此新 PR 以该基础分支为目标,保持差异只含 #18。

日志审计 #18 于 2026-09-10T20:40:04+08:00 获用户验收并关闭;#16 已更新完成索引。该验收时 #3/#4 尚未开始。

英语分词/原文定位/本地词典 #3 独立可运行小样已通过用户验收并关闭。代码与复现命令位于 spikes/english;临时入口 http://127.0.0.1:5183/。推荐 Python spaCy 英语模型与 WordNet 3.0 的离线组合;尚未接入正式学习端。

#4 阅读选择小样已实现桌面鼠标/键盘、范围调整与原文位置验证,入口 http://127.0.0.1:5184/;固定版本 LinguaCafe 四项源码对照已记录。用户已验收并关闭 #4;真实手机详细测试证据仍缺失,详见本地验证页。#21 仍待实施。

#5 粘贴导入与章节阅读已实现,待用户验收:schema v3 新增 books/chapters/ingest_jobs,学习端具备粘贴导入、书库、处理状态与原文阅读;查词、词典与复习仍未实现。本单按 Go 处理,Go+Python NLP 与全 Go 路线仍未决,正式接入前须用户确认。

当前进度(2026-09-11)

#5已验收,#17/#19/#20/#22/#23按依赖顺序合入main。#6已按用户确认的全Go方向实现英语词典与阅读点词,2026-09-11通过用户验收,PR #25已合入main;原文/账户隔离保留。正式NLP不使用Python服务。管理端“英语词典”导入指定WordNet3.0,学习端打开本人章节即可查词。个人释义与学习状态已实现持久化(#7,待用户验收)。详见#6工单、架构和本地开发页面。

#7 个人词条已实现并于 2026-09-11 通过用户验收(schema v5 新增 lexgo_terms):阅读器可保存释义、例句与状态,同一词形在本人其他章节显示一致高亮,两个账号数据独立;保存幂等,跨账号与篡改身份均被拒绝;PR #26 已 fast-forward-only 合入 main。

#8 单词到期复习已实现,待用户验收(schema v6 新增 lexgo_term_reviews 与 lexgo_review_answers):固定间隔表(1/2/4/7/15/30/60 天)、答对升级、答错或再学立即回队、已知与忽略不入队;重复提交、网络重发与双标签页都只记账一次,到期判定用 UTC 绝对时刻而不引入本地日边界。学习端新增「到期复习」入口,卡片正面显示词与挖空例句、答案面显示个人释义,并有完成页与空队列页。