回收站 (已移入回收站的学校,90 天内可恢复;到期后需手动清除)
加载中...
学校列表
| 代码 | 名称 | 简称 | 状态 | 校徽 | 创建时间 | 登录地址 | 操作 |
|---|---|---|---|---|---|---|---|
| 加载中... | |||||||
学校管理
傻瓜式编辑:下方预览就是真实页面,可视化编辑已自动开启——直接点击预览里的任意文字(系统标题、模块名、表格列名、表单标签等)即可就地修改,所见即所得,无需懂技术。改完记得点右下角「保存定制」。
预设主题
选择预设主题可一键切换整体配色与壁纸风格,下方预览区实时联动(点击「保存定制」生效)
侧边菜单可见项
勾选的菜单项在该校主界面显示;退出登录始终显示
字段管理
拖动每行左侧 可调整字段顺序;点击预览区表头可直接编辑名称;此处可新增/删除/隐藏字段
怎么改?一张表看全
- 改文字:点下方预览里的标题/菜单/列名/表单标签,就地输入(推荐)。
- 改字段:在「字段管理」里勾选显隐、拖排序、点 ⚙ 设类型/必填/字数。
- 加字段:字段管理底部填「显示名称」点 + 新增,英文名可留空。
- 改下拉选项:点字段右侧齿轮 → 输入类型选「下拉」→ 填选项。
- 换配色:点上方「预设主题」一键切换。
所有修改都要点右下角「保存定制」才会生效。
实时预览 含左侧导航菜单,修改上方配置后自动同步
字段校验规则 ·
最大字数(选填,0 或不填表示不限)
最小字数(选填)
输入类型
下拉选项(点击 × 删除)
暂无选项
选项与联动
存于选项表
统计角色
合格值(逗号分隔;记录该字段取值在此列表内才计为合格)
修改会实时反映到预览,点「保存定制」后对该校生效
登录页样式:为该校单独设计登录界面——背景(极光/纯色/图片)、登录卡片(对齐/尺寸/圆角/阴影/毛玻璃)与品牌(校徽/标题/标语)。右侧实时预览即真实效果,改完点「保存登录样式」对该校登录入口生效。本模块与「界面定制」相互独立,单独保存。
登录背景
「极光」沿用该校在「界面定制」中设置的预设主题壁纸;「纯色/图片」将覆盖默认壁纸。
登录卡片
品牌信息
实时预览
模拟该校登录入口
图形化编辑已开启:拖动卡片调整位置(左右→对齐,上下→偏移);拖动卡片右缘手柄调整宽度;点击标题 / 标语可直接编辑文字。修改会实时同步到左侧控件。
预览中的校名 / 校徽取自该校基本信息,背景与卡片样式取自上方设置。
修改会实时反映到预览,点「保存登录样式」后对该校生效
用户管理
| 用户名 | 姓名 | 角色 / 类别 | 状态 | 创建时间 | 最后登录 | 操作 |
|---|---|---|---|---|---|---|
| 加载中... | ||||||
新增学校
重置密码
新增用户
编辑
平台超管账号管理
修改我的密码
超管账号列表
重置密码:
| 用户名 | 姓名 | 状态 | 创建时间 | 操作 |
|---|
预览学校租户:
登录地址
浏览器不允许自动写入剪贴板。请手动 Ctrl/⌘ + C 复制,或直接点下方按钮在新窗口打开。
学校总数
-
含启用、停用与回收站
活跃学校
-
status = active
回收站
-
已删除但未彻底清除
平台超管
-
role = super_admin
平台超管账号管理
拥有跨租户权限的账号(role=super_admin)。
| 用户名 | 姓名 | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|
| 加载中… | ||||
学校用户管理
选择学校后直接管理 manager / operator / viewer。
| 用户名 | 姓名 | 角色 | 状态 | 操作 |
|---|---|---|---|---|
| 请先选择学校 | ||||
控制台审计日志
所有平台超管操作均会被记录至 public.AuditLog。下方表单按时间段 + 操作者 + 动作过滤。
| 时间 | 操作者 | 动作 | 目标 | 详情 |
|---|---|---|---|---|
| 点击「查询」加载日志 | ||||
—
来源
GET /api/audit-logs学校审计日志
按学校租户查看各校自己的操作审计日志。选择学校后,下方表格会展示该租户 AuditLog 中的记录。
| 时间 | 操作者 | 动作 | 目标 | 详情 |
|---|---|---|---|---|
| 请先选择学校 | ||||
—
来源
GET /api/audit-logs/school/:code全局备份总数
-
全部学校租户
校验通过
-
verify_status=pass
失败/未验证
-
需关注
最近一次
-
最近成功全局备份
全局备份列表
每日 02:00 全库定时备份(systemd timer)+ 手动触发;一次备份覆盖所有学校租户,备份经 AES-256-GCM 信封加密落系统盘
| 时间 | 类型 | 学校 | 大小 | 校验 | 结构兼容 | 操作 |
|---|---|---|---|---|---|---|
| 加载中… | ||||||
学校总数
-
可执行单点备份的租户
已备份学校
-
至少存在一份备份
最近备份
-
最近一次单点备份时间
选择学校
点击学校,右侧实时显示备份记录
已选 0
加载学校列表…
已选 0 / 共 0 所学校
请选择学校
点击左侧学校查看备份记录并执行单点备份
| 时间 | 大小 | 校验 | 结构兼容 | 操作 |
|---|---|---|---|---|
| 请先选择左侧学校 | ||||
操作说明
验证
对备份文件的完整性 + 解密可行性做只读校验。
AES 下载
下载 AES-256-GCM 信封加密的 tar 包,可用于异地归档。
明文下载
下载已解密的 tar.gz,便于离线诊断数据。
目标学校
单选可恢复任意备份;多选 / 全选仅可选全局备份批量恢复
已选 0
加载学校列表…
已选 0 / 共 0 所学校
选择备份数据源
请先选择目标学校
| 时间 | 类型 | 学校 | 大小 | 校验 | 结构兼容 | |
|---|---|---|---|---|---|---|
| 请先选择上方目标学校 | ||||||
点击或拖拽上传本地备份文件
必须同时上传
.aes(加密备份)和配套的 .meta.json(含 runId 指纹)。明文 .sql.gz 已被禁用(无完整性校验)。
强校验流程:上传后浏览器用 WebCrypto 计算
sha256 与 meta 内置校验和比对;
服务端再用 BackupRun 记录交叉核对(runId / fileSize / 解密 sha256);
任一步不一致均拒绝并写审计日志。
已选择本地文件:
P-Recovery-Audit 强校验:服务端会用 meta.json 中的
runId 与 BackupRun 数据库记录交叉核对,
并用服务端密钥重新解密计算 sha256。
任何不一致(含中途被修改的备份)都会写审计日志 backup_restore_upload_rejected 并拒绝恢复。
流程确认与执行
核对恢复摘要,确认后执行影子恢复
目标学校
未选择
备份数据源
未选择
恢复模式
未确认
危险操作:影子恢复过程会在临时 schema 还原并校验通过后,单事务原子切换当前生产 schema;
失败则原数据零影响。一旦切换不可逆,请确认目标学校与数据源无误后再执行。