PointManager(学生积分管理)是一款轻量的本地桌面工具,用于班级学生的加减分记录与总分统计,全部数据保存在您自己的电脑上。
基于 .NET 8 WPF + Material Design 构建,常驻系统托盘,即开即用。
- 托盘常驻:关闭窗口即隐藏到托盘,双击托盘图标打开「加减分」窗口
- 四个窗口(学生及小组编辑 / 加减分 / 总分查看 / 设置)均为单例,重复打开时恢复并聚焦
- 可选「启动时最小化到托盘」与「退出前需要确认」
- 可选「在任务栏显示图标」(默认开启),关闭后主窗口仅通过托盘访问
- 设置「关于」页:版本与版权、诊断信息、第三方库与许可说明
- 未处理异常自动记录到
%AppData%\PointManager\crash.log,便于排查
- 小组页三栏布局:左侧两层小组树(小组 → 学生,含「无归属学生」),中间成员列表,右侧小组信息(名称 / 组长 / 人数)
- 小组树节点 chip 分开显示人数与组长;组长与已存档学生锁定,不可移动 / 移除
- 成员列表 CheckBox 多选 + 学号显示;工具栏添加学生(未分组挑入)/ 移动学生 / 移除学生(归入无归属)
- 组长以下拉列表选择(含「无组长」清空项)
- 拖拽学生到小组树节点换组;小组 / 学生右键菜单(修改图片、重置图标 / 头像、解散、移动、移除)
- 小组自定义图片与重置;解散小组时成员归入「无归属学生」
- 学生页两栏主从布局:左侧学生表格(学号 / 姓名 / 性别 / 备注),右侧详情编辑(姓名 / 小组 / 性别 / 备注)
- 学号按列表顺序自动编号,「调整顺序」对话框上移 / 下移批量重排;「批量导入学生」一行一个姓名
- 学生头像:默认取姓名首字,可修改自定义图片;表格头像右键、详情头像左键 / 右键均可更换 / 重置
- 学生存档 / 取消存档:存档学生信息只读、仅可删除,不再出现在加减分列表,头像显示为存档图标
- 多档案支持:新建、复制、重命名、删除档案,随时热切换
- 多选学生批量加减分,支持全选 / 清空选择
- 按小组筛选(全部 / 指定小组 / 未分组)与姓名搜索
- 快捷分值按钮(默认 1 / 2 / 3 / 5 / 10,可增删)与自定义分值
- 加减分备注,可配置默认备注,操作结果以 Snackbar 提示
- 统计卡片:小组数、学生数、总积分、记录数
- 学生总分表(点击列标题排序)、小组总分与人均分、最近积分记录
- 校验总分:按历史记录核对学生总分,列出不一致项并可一键修正
- 启动时自动校验总分,发现不一致弹窗提示;可在设置「安全」页关闭
- 六个分页(外观 / 行为 / 加减分 / 存储 / 安全 / 关于),各页以分割标签分组
- 「安全」页:启动时自动校验总分开关
- 深色 / 浅色主题切换,跟随 Windows 系统强调色
- 自定义主题色 / 强调色:预设色板 + 最近使用颜色 + HSV 全色取色器
- 全局字体选择(实时预览),标题栏文字颜色按背景亮度自动取黑 / 白
- 标签页 Material Design 波纹点击反馈
- 数据拆分本地存储:设置、档案、积分记录(按月分文件),均为 JSON
- 存储位置切换(用户目录 / 程序所在目录),切换时完整复制数据
- 旧版单文件
data.json非破坏性迁移,旧文件自动备份 - 备份:手动 zip 备份 + 自动备份(间隔天数、保留上限),一键打开备份目录
- 历史记录上限默认无上限(0);设上限后接近上限时自动合并旧记录(按学生求和保合计)
- 清空积分记录、重置所有积分、一键打开数据目录
- 密码保护
- 重构加减分理由
- 重构设置页面
请确保您的设备满足以下推荐需求:
- Windows 10 及以上版本的系统,x64 架构
- 安装 .NET 8 桌面运行时(下载自包含包则无需安装)
从 Releases 下载最新版本的压缩包,解压到一个独立的文件夹后运行 PointManager.exe 即可。解压时请不要解压到网盘同步文件夹或【下载】文件夹中,否则可能出现文件无法读写、记录丢失等问题。
首次运行会引导您创建第一个档案;历史版本升级时会在启动时询问是否迁移旧数据,旧文件将备份到 Backup 目录,不会删除。
- 遇到 Bug 或想提出新功能,请提交 Issue
- 程序异常时请先查看
%AppData%\PointManager\crash.log,并将其内容附在 Issue 中
编译本项目需要:
- .NET 8 SDK
- 支持 WPF 的 IDE(如 Visual Studio 2022 并勾选「.NET 桌面开发」工作负载,或 JetBrains Rider)
dotnet build -c Release欢迎提交 Pull Request 改进本应用。
Important
本项目在界面设计(设置「关于」页、取色器色板等)上参考了 ClassIsland 的源代码。所参考的 ClassIsland 源代码版本处于 MIT 许可时期,以 MIT License 发布;本项目的实现为独立的 WPF 代码,特此说明并致谢。
本项目使用了以下第三方库和框架:
- MaterialDesignThemes / MaterialDesignColors(MIT)
- CommunityToolkit.Mvvm(MIT,© .NET Foundation and Contributors)
- Hardcodet.NotifyIcon.Wpf(MIT,© Philipp Sumi)
- .NET / WPF(MIT,© .NET Foundation and Contributors)
本项目基于 MIT License 发布。
如果这个项目对您有帮助,请点亮 Star ⭐