Skip to content

SECTL/SecScore

Repository files navigation

SecScore

一款本地离线(未来加入远程模式)的“教育积分管理”桌面软件(Electron + React + TypeScript),用于管理学生名单、记录加/扣分、查看排行榜与结算历史,并提供基础的权限保护与数据备份。

主要功能

  • 学生管理
    • 添加/删除学生
    • 通过 xlsx 批量导入名单(支持导入前预览与选择“姓名列”)
  • 积分管理
    • 选择学生并提交加分/扣分
    • 支持“预设理由”一键填充理由与分值
    • 支持撤销最近的积分记录(撤销后学生积分会回滚)
  • 理由管理
    • 维护“预设理由”(分类、理由内容、预设分值)
  • 排行榜
    • 支持按“今天 / 本周 / 本月”查看积分变化
    • 支持导出排行榜为 XLSX
    • 支持查看单个学生的操作记录(文本列表)
  • 结算与历史
    • “结算并重新开始”:把当前未结算记录归档为一个阶段,并将所有学生当前积分清零
    • 在“结算历史”查看每个阶段的排行榜
  • 系统设置
    • 主题切换
    • 日志查看/导出/清空
    • 数据导入/导出(JSON)
    • 密码保护(管理密码 / 积分密码)与找回字符串

使用方法

1. 权限与解锁

  • 右上角会显示当前权限:管理权限 / 积分权限 / 只读
  • 若设置了密码,可通过右上角“输入密码”进行解锁
    • 管理密码:全功能(学生管理、理由管理、结算、数据管理等)
    • 积分密码:仅允许积分相关操作
  • 点击“锁定”可切回只读状态
  • 无密码时默认视为管理权限

2. 学生管理(导入名单)

入口:左侧菜单 → 学生管理 → 导入名单

  • 通过 xlsx 导入
    1. 选择一个 .xlsx 文件(默认读取第一个工作表)
    2. 在预览表格里点击表头,选择“姓名列”
    3. 点击“导入”
    4. 导入完成后会提示“新增 / 跳过”数量

建议:姓名列尽量只包含纯姓名文本;同名学生会被视为重复并跳过。

3. 积分管理(加分/扣分)

入口:左侧菜单 → 积分管理

  1. 在“姓名”选择一个学生(支持搜索)
  2. 选择“加分/扣分”,并输入分值
  3. 在“理由内容”填写原因(可手动输入)
  4. 点击“确认提交”

快捷理由:

  • 可在“快捷理由”下拉框中选择预设理由,一键填充理由内容/分值(优先尊重你当前是否已手动输入分值)

撤销最近记录:

  • “最近记录”默认折叠,展开后可对记录点击“撤销”
  • 撤销会回滚该条记录对学生积分的影响

4. 排行榜与导出

入口:左侧菜单 → 排行榜

  • 可切换统计范围:今天 / 本周 / 本月
  • 点击“导出 XLSX”可导出当前排行榜
  • 点击某个学生的“查看”可打开该学生的操作记录

5. 结算与数据备份

入口:左侧菜单 → 系统设置 → 数据管理

  • 结算并重新开始
    • 会把当前未结算的积分记录归档为一个阶段
    • 会将所有学生当前积分清零
    • 学生名单不变;结算后的历史在“结算历史”查看
  • 导出 JSON(强烈建议定期备份)
    • 导入会覆盖现有学生/理由/积分记录/设置
    • 安全相关设置(密码等)不会随导入写入

开发与运行(面向贡献者)

环境要求

  • Node.js(建议使用 LTS 版本)
  • pnpm

安装依赖

pnpm install

开发模式

pnpm dev

构建

pnpm build

(可选)打包:

pnpm build:win
pnpm build:unpack

常用检查

pnpm lint
pnpm typecheck

About

一个简单易用,优雅美观的班级个人积分管理软件。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •