常见问题
常见问题(FAQ)
如何重置管理员密码?
- 自助:登录页点击「忘记密码」,通过邮箱验证码自助重置。
- 他人重置:超级管理员可在「用户管理 → 管理员」中重置其他管理员密码。
- 超管自身遗忘:需手动修改主库
data/csms.db中的管理员记录(建议优先用自助或他人重置方式)。
数据如何备份?
CSMS 的数据全部位于 data/ 目录,备份即复制:
- 主库:
data/csms.db - 各校分库:
data/schools/{id}.db
data/ 已在 .gitignore 中,不会进入版本库。完整备份与自动脚本见 。
支持 MySQL 吗?
v0.3.x 仅支持 SQLite。后续版本可能考虑支持 MySQL。多租户 + 单进程 SQLite 是当前稳定方案。
如何升级到新版本?
git pull
npm install
npm run db:migrate # 如有 schema 变更,执行迁移
# 然后按原部署方式重启(PM2: pm2 restart csms / Docker: docker compose up -d --build)为什么「安装到主屏幕」不提示?
PWA 安装提示需要 HTTPS 环境。npm run dev 本地为 HTTP,不会提示安装;部署到 HTTPS 域名后即可。
积分数据会出现不一致吗?
不会。所有积分变动都写入 score_logs 并留痕,支持撤销与审计。API 请求 /api/* 强制走网络、不缓存,保证实时一致。
外部系统如何对接?
通过 。需先在管理后台 /admin/api-tokens 签发凭证(Bearer / X-API-Token),并配置作用范围与 12 项细粒度权限。危险权限(students:delete、structure:delete)默认不勾选。
多校数据会互相可见吗?
不会。每校独立数据库(data/schools/{id}.db),应用层按 schoolId 强制路由,低级别管理员无法越权访问其他学校数据。详见 与 。
