登记积分
搜索并选择学员后,点击快捷积分项或自定义分值,立即入账并写入流水。
最新流水
加载中…
学员名单
| 排名 | 姓名 | 学号 | 小组 | 总积分 | 等级 | 操作 |
|---|---|---|---|---|---|---|
| 加载中… | ||||||
小组管理
组总积分 = 组员个人积分之和 + 小组集体积分;组均分 = 组总积分 ÷ 组人数。删除小组后成员变为未分组,个人积分不受影响。
| 排名 | 名称 | 人数 | 成员分和 | 集体积分 | 组总分 | 组均分 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|---|
| 加载中… | ||||||||
集体积分流水
| ID | 时间 | 小组 | 变动 | 余额 | 事由 | 来源 |
|---|---|---|---|---|---|---|
| 加载中… | ||||||
积分项配置
积分墙与管理台的快捷按钮全部由这里驱动;「适用小组」为空表示全部小组可用。
| 排序 | 名称 | 类型 | 默认分值 | 颜色 | 图标 | 适用小组 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|---|
| 加载中… | ||||||||
| ID | 时间 | 学员 | 变动 | 余额 | 事由 | 来源 | 外部单号 |
|---|---|---|---|---|---|---|---|
| 加载中… | |||||||
管理口令
口令用于进入本后台与调用全部管理接口,保存在当前浏览器 localStorage 中。安全提示:公共设备使用后请及时「清除」。
等级规则
按总积分从低到高定义等级,首级下限必须为 0,积分墙实时生效。
API Client 管理
每个 Client 对应一组 API Key、CORS 白名单与权限范围。名单读取(roster:read)与积分写入(points:write)建议使用不同 Token。点击每行的「提示词」可生成含该 Key 的 AI 接入提示词,复制发给 AI 即可。
| 名称 | Key 前缀 | 权限范围 | CORS 白名单 | 状态 | 最近使用 | 操作 |
|---|---|---|---|---|---|---|
| 加载中… | ||||||
数据一致性
分别重算「学员总分 vs 个人流水合计」「小组集体分 vs 集体流水合计」;不一致时可一键以流水为准修复。
嵌入与 SDK
其他网页可通过 iframe 或 JS SDK 嵌入积分墙;只读名单与积分写入使用不同权限的 Token。
- iframe 嵌入:
<iframe src="https://<域名>/?embed=1"></iframe>(embed=1 隐藏管理入口) - JS SDK:引入
/sdk.js后使用PointsCenter.createClient({ baseUrl, rosterToken, pointsToken })。 - 外部推送积分必须使用 student_id;只有姓名时先调
GET /api/roster/match确认候选。
安全说明
- API Key 哈希用于鉴权比对,明文随中心保存,可随时在本页「提示词」中复制,请勿泄露给无关人员。
- 外部网页调用开放 API 时,推荐由调用方后端转发请求,避免 API Key 直接暴露在前端代码中。
- 管理口令具备完整管理权限,可在 .env 的 ADMIN_TOKEN 中更换,建议定期修改。
- 所有数据库操作均为参数化查询;所有入参在服务端做全域校验;外部 API 默认 120 次/分钟限流。