# 知识库重塑与游戏化规划(CSP 平台) ## 1. 重塑目标 - 建立“可学习、可打卡、可成长”的知识库系统,不再只是文章列表。 - 形成四条核心技能线: - C++14 技能树(竞赛编码主线) - GitHub 协作技能树(团队工程主线) - Linux 服务器技能树(部署运维主线) - 计算机基础技能树(底层认知主线) - 将“知识点学习”直接转化为积分成长,形成闭环:学习 -> 打卡 -> 得分 -> 排行与成长反馈。 ## 2. 内容架构 ### 2.1 主线知识文章(已落地) - `cpp14-skill-tree` - `github-collaboration-basics` - `linux-server-basics` - `computer-fundamentals-for-oi` ### 2.2 每篇文章的知识点模型 - 每篇文章附带一组 `skill_points`: - `key`: 唯一知识点 ID - `title`: 知识点标题 - `description`: 可执行的学习目标 - `difficulty`: bronze/silver/gold - `reward`: 领取奖励分值 ### 2.3 文章与题目联动 - 保留 `kb_article_links`,把知识点和题目联起来。 - 在 KB 列表中提供“做相关任务”跳转到题库搜索。 ## 3. 游戏化机制 ### 3.1 积分获取 - 用户可对每个知识点打卡领取奖励。 - 领取规则:`user + article + knowledge_key` 唯一,不可重复刷分。 - 奖励实时写入用户 `rating`。 ### 3.2 数据表设计 - 新增表:`kb_knowledge_claims` - `user_id` - `article_id` - `knowledge_key` - `reward` - `created_at` - 唯一约束:`UNIQUE(user_id, article_id, knowledge_key)` ### 3.3 成长展示 - 文章详情页展示: - 技能点清单 - 已领取数量 - 已领取总积分 - 单点“领取奖励”按钮与状态 - 积分流水新增 `kb_skill` 类型,进入个人成长历史。 ## 4. 交互设计 ### 4.1 KB 列表页 - 支持关键词搜索。 - 增加快捷筛选按钮:`C++14`、`GitHub`、`Linux`、`计算机基础`。 - 分类分组:路线图、C++、CSP-J、CSP-S、GitHub、Linux、计算机基础、其他。 ### 4.2 KB 详情页 - 文章内容区 - 技能打卡区(奖励领取) - 关联题目区(学练结合) ## 5. 版本规划(建议) ### Phase A(当前已实现) - 重构四条核心文章 - 技能点打卡与积分领取 - 积分流水接入 - KB 列表筛选与分类增强 ### Phase B(下一步) - 技能点前置依赖(先修解锁) - 每周学习任务(自动生成) - 学习路径推荐(根据已领取点与错题) - 章节徽章(铜/银/金) ### Phase C(进阶) - 班级/战队学习排行 - 学习挑战赛(限时技能闯关) - 知识点掌握度雷达图 - AI 学习教练(按薄弱点推送下一步) ## 6. 运营指标(建议) - 日活学习人数 - 人均领取知识点数 - 文章完成率(领取数 / 可领取数) - 学完知识后去做题转化率 - 学习后 AC 提升率 ## 7. 风险与控制 - 风险:刷接口刷分。 - 控制:唯一约束 + 服务端验证技能点 key。 - 风险:内容过长难消化。 - 控制:拆分为技能点任务和周计划。 - 风险:学习与做题割裂。 - 控制:每篇文章都提供相关题目入口。