{
  "title": "SecScore",
  "description": "教育积分管理软件",
  "version": "v1.0.0",
  "content": "<h1>SecScore</h1><br><br><!-- GitHub 徽章 --><br><p align=\"center\"><br>  <a href=\"https://github.com/SECTL/SecScore/releases\"><img alt=\"GitHub release (latest by date)\" src=\"https://img.shields.io/github/v/release/SECTL/SecScore?style=flat-square\"></a><br>  <a href=\"https://github.com/SECTL/SecScore/releases\"><img alt=\"Downloads\" src=\"https://img.shields.io/github/downloads/SECTL/SecScore/total?style=flat-square\"></a><br>  <a href=\"https://github.com/SECTL/SecScore/blob/main/LICENSE\"><img alt=\"License\" src=\"https://img.shields.io/github/license/SECTL/SecScore?style=flat-square\"></a><br>  <a href=\"https://github.com/SECTL/SecScore/issues\"><img alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/SECTL/SecScore?style=flat-square\"></a><br>  <a href=\"https://github.com/SECTL/SecScore/pulls\"><img alt=\"GitHub pull requests\" src=\"https://img.shields.io/github/issues-pr/SECTL/SecScore?style=flat-square\"></a><br>  <img alt=\"Electron\" src=\"https://img.shields.io/badge/Electron-39+-47848F?style=flat-square&logo=electron\"><br>  <img alt=\"React\" src=\"https://img.shields.io/badge/React-19+-61DAFB?style=flat-square&logo=react\"><br>  <img alt=\"TypeScript\" src=\"https://img.shields.io/badge/TypeScript-5+-3178C6?style=flat-square&logo=typescript\"><br>  <img alt=\"Vite\" src=\"https://img.shields.io/badge/Vite-7+-646CFF?style=flat-square&logo=vite\"><br></p><br><br>SecScore 是一款教育积分管理软件，基于 Electron + React + TypeScript 开发，用于管理学生名单、记录加/扣分、查看排行榜与结算历史，并提供权限保护与数据备份。<br><br><h2>主要功能</h2><br><br><ul><li>学生管理</li><br></ul>  - 添加/删除学生<br>  - 通过 xlsx 批量导入名单（支持导入前预览与选择“姓名列”）<br><ul><li>积分管理</li><br></ul>  - 选择学生并提交加分/扣分<br>  - 支持“预设理由”一键填充理由与分值<br>  - 支持撤销最近的积分记录（撤销后学生积分会回滚）<br><ul><li>理由管理</li><br></ul>  - 维护“预设理由”（分类、理由内容、预设分值）<br><ul><li>排行榜</li><br></ul>  - 支持按“今天 / 本周 / 本月”查看积分变化<br>  - 支持导出排行榜为 XLSX<br>  - 支持查看单个学生的操作记录（文本列表）<br><ul><li>结算与历史</li><br></ul>  - “结算并重新开始”：把当前未结算记录归档为一个阶段，并将所有学生当前积分清零<br>  - 在“结算历史”查看每个阶段的排行榜<br><ul><li>系统设置</li><br></ul>  - 主题切换<br>  - 日志查看/导出/清空<br>  - 数据导入/导出（JSON）<br>  - 密码保护（管理密码 / 积分密码）与找回字符串<br><br><h2>使用方法</h2><br><br><h3>1. 权限与解锁</h3><br><br><ul><li>右上角会显示当前权限：管理权限 / 积分权限 / 只读</li><br><li>若设置了密码，可通过右上角“输入密码”进行解锁</li><br></ul>  - 管理密码：全功能（学生管理、理由管理、结算、数据管理等）<br>  - 积分密码：仅允许积分相关操作<br><ul><li>点击“锁定”可切回只读状态</li><br><li>无密码时默认视为管理权限</li><br></ul><br><h3>2. 学生管理（导入名单）</h3><br><br>入口：左侧菜单 → 学生管理 → 导入名单<br><br><ul><li>通过 xlsx 导入</li><br></ul>  1. 选择一个 <code>.xlsx</code> 文件（默认读取第一个工作表）<br>  2. 在预览表格里点击表头，选择“姓名列”<br>  3. 点击“导入”<br>  4. 导入完成后会提示“新增 / 跳过”数量<br><br>建议：姓名列尽量只包含纯姓名文本；同名学生会被视为重复并跳过。<br><br><h3>3. 积分管理（加分/扣分）</h3><br><br>入口：左侧菜单 → 积分管理<br><br>1. 在“姓名”选择一个学生（支持搜索）<br>2. 选择“加分/扣分”，并输入分值<br>3. 在“理由内容”填写原因（可手动输入）<br>4. 点击“确认提交”<br><br>快捷理由：<br><br><ul><li>可在“快捷理由”下拉框中选择预设理由，一键填充理由内容/分值（优先尊重你当前是否已手动输入分值）</li><br></ul><br>撤销最近记录：<br><br><ul><li>“最近记录”默认折叠，展开后可对记录点击“撤销”</li><br><li>撤销会回滚该条记录对学生积分的影响</li><br></ul><br><h3>4. 排行榜与导出</h3><br><br>入口：左侧菜单 → 排行榜<br><br><ul><li>可切换统计范围：今天 / 本周 / 本月</li><br><li>点击“导出 XLSX”可导出当前排行榜</li><br><li>点击某个学生的“查看”可打开该学生的操作记录</li><br></ul><br><h3>5. 结算与数据备份</h3><br><br>入口：左侧菜单 → 系统设置 → 数据管理<br><br><ul><li>结算并重新开始</li><br></ul>  - 会把当前未结算的积分记录归档为一个阶段<br>  - 会将所有学生当前积分清零<br>  - 学生名单不变；结算后的历史在“结算历史”查看<br><ul><li>导出 JSON（强烈建议定期备份）</li><br></ul>  - 导入会覆盖现有学生/理由/积分记录/设置<br>  - 安全相关设置（密码等）不会随导入写入<br><br><h2>开发与运行（面向贡献者）</h2><br><br><h2>MCP 文档</h2><br><br><ul><li>[MCP-使用说明](./MCP-使用说明.md)</li><br></ul><br><h3>环境要求</h3><br><br><ul><li>Node.js（建议使用 LTS 版本）</li><br><li>pnpm</li><br></ul><br><h3>安装依赖</h3><br><br>``<code>bash<br>pnpm install<br></code>`<code><br><br><h3>开发模式</h3><br><br></code>`<code>bash<br>pnpm dev<br></code>`<code><br><br><h3>构建</h3><br><br></code>`<code>bash<br>pnpm build<br></code>`<code><br><br>（可选）打包：<br><br></code>`<code>bash<br>pnpm build:win<br>pnpm build:unpack<br></code>`<code><br><br><h3>常用检查</h3><br><br></code>`<code>bash<br>pnpm lint<br>pnpm typecheck<br></code>``<br>",
  "rawMarkdown": "# SecScore\n\n<!-- GitHub 徽章 -->\n<p align=\"center\">\n  <a href=\"https://github.com/SECTL/SecScore/releases\"><img alt=\"GitHub release (latest by date)\" src=\"https://img.shields.io/github/v/release/SECTL/SecScore?style=flat-square\"></a>\n  <a href=\"https://github.com/SECTL/SecScore/releases\"><img alt=\"Downloads\" src=\"https://img.shields.io/github/downloads/SECTL/SecScore/total?style=flat-square\"></a>\n  <a href=\"https://github.com/SECTL/SecScore/blob/main/LICENSE\"><img alt=\"License\" src=\"https://img.shields.io/github/license/SECTL/SecScore?style=flat-square\"></a>\n  <a href=\"https://github.com/SECTL/SecScore/issues\"><img alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/SECTL/SecScore?style=flat-square\"></a>\n  <a href=\"https://github.com/SECTL/SecScore/pulls\"><img alt=\"GitHub pull requests\" src=\"https://img.shields.io/github/issues-pr/SECTL/SecScore?style=flat-square\"></a>\n  <img alt=\"Electron\" src=\"https://img.shields.io/badge/Electron-39+-47848F?style=flat-square&logo=electron\">\n  <img alt=\"React\" src=\"https://img.shields.io/badge/React-19+-61DAFB?style=flat-square&logo=react\">\n  <img alt=\"TypeScript\" src=\"https://img.shields.io/badge/TypeScript-5+-3178C6?style=flat-square&logo=typescript\">\n  <img alt=\"Vite\" src=\"https://img.shields.io/badge/Vite-7+-646CFF?style=flat-square&logo=vite\">\n</p>\n\nSecScore 是一款教育积分管理软件，基于 Electron + React + TypeScript 开发，用于管理学生名单、记录加/扣分、查看排行榜与结算历史，并提供权限保护与数据备份。\n\n## 主要功能\n\n- 学生管理\n  - 添加/删除学生\n  - 通过 xlsx 批量导入名单（支持导入前预览与选择“姓名列”）\n- 积分管理\n  - 选择学生并提交加分/扣分\n  - 支持“预设理由”一键填充理由与分值\n  - 支持撤销最近的积分记录（撤销后学生积分会回滚）\n- 理由管理\n  - 维护“预设理由”（分类、理由内容、预设分值）\n- 排行榜\n  - 支持按“今天 / 本周 / 本月”查看积分变化\n  - 支持导出排行榜为 XLSX\n  - 支持查看单个学生的操作记录（文本列表）\n- 结算与历史\n  - “结算并重新开始”：把当前未结算记录归档为一个阶段，并将所有学生当前积分清零\n  - 在“结算历史”查看每个阶段的排行榜\n- 系统设置\n  - 主题切换\n  - 日志查看/导出/清空\n  - 数据导入/导出（JSON）\n  - 密码保护（管理密码 / 积分密码）与找回字符串\n\n## 使用方法\n\n### 1. 权限与解锁\n\n- 右上角会显示当前权限：管理权限 / 积分权限 / 只读\n- 若设置了密码，可通过右上角“输入密码”进行解锁\n  - 管理密码：全功能（学生管理、理由管理、结算、数据管理等）\n  - 积分密码：仅允许积分相关操作\n- 点击“锁定”可切回只读状态\n- 无密码时默认视为管理权限\n\n### 2. 学生管理（导入名单）\n\n入口：左侧菜单 → 学生管理 → 导入名单\n\n- 通过 xlsx 导入\n  1. 选择一个 `.xlsx` 文件（默认读取第一个工作表）\n  2. 在预览表格里点击表头，选择“姓名列”\n  3. 点击“导入”\n  4. 导入完成后会提示“新增 / 跳过”数量\n\n建议：姓名列尽量只包含纯姓名文本；同名学生会被视为重复并跳过。\n\n### 3. 积分管理（加分/扣分）\n\n入口：左侧菜单 → 积分管理\n\n1. 在“姓名”选择一个学生（支持搜索）\n2. 选择“加分/扣分”，并输入分值\n3. 在“理由内容”填写原因（可手动输入）\n4. 点击“确认提交”\n\n快捷理由：\n\n- 可在“快捷理由”下拉框中选择预设理由，一键填充理由内容/分值（优先尊重你当前是否已手动输入分值）\n\n撤销最近记录：\n\n- “最近记录”默认折叠，展开后可对记录点击“撤销”\n- 撤销会回滚该条记录对学生积分的影响\n\n### 4. 排行榜与导出\n\n入口：左侧菜单 → 排行榜\n\n- 可切换统计范围：今天 / 本周 / 本月\n- 点击“导出 XLSX”可导出当前排行榜\n- 点击某个学生的“查看”可打开该学生的操作记录\n\n### 5. 结算与数据备份\n\n入口：左侧菜单 → 系统设置 → 数据管理\n\n- 结算并重新开始\n  - 会把当前未结算的积分记录归档为一个阶段\n  - 会将所有学生当前积分清零\n  - 学生名单不变；结算后的历史在“结算历史”查看\n- 导出 JSON（强烈建议定期备份）\n  - 导入会覆盖现有学生/理由/积分记录/设置\n  - 安全相关设置（密码等）不会随导入写入\n\n## 开发与运行（面向贡献者）\n\n## MCP 文档\n\n- [MCP-使用说明](./MCP-使用说明.md)\n\n### 环境要求\n\n- Node.js（建议使用 LTS 版本）\n- pnpm\n\n### 安装依赖\n\n```bash\npnpm install\n```\n\n### 开发模式\n\n```bash\npnpm dev\n```\n\n### 构建\n\n```bash\npnpm build\n```\n\n（可选）打包：\n\n```bash\npnpm build:win\npnpm build:unpack\n```\n\n### 常用检查\n\n```bash\npnpm lint\npnpm typecheck\n```\n"
}
