feat(账号): 新建的号不再加 ks + 班号前缀,班级单独选;学生改不了真名了

- 批量建号先选班再贴名单,用户名就是名字;被别的班或注册的号占了自动加数字(xuyue2)。
  查重改成查「这个班里有没有同名的」,老号按剥掉 ks 前缀的名字比
- 后台编辑、新建用户能直接选班级;以前班级只能从用户名的 ks 前缀推,改不了
- 登录点名字时名单接口一并给出用户名,新号老号都登得上;本机记的班级兼容旧的 ks257 写法
- 筛选、抽人、「看看他们的写法」都按班级认人,不再拼 ks 前缀(新号拼出来永远圈不进去)
- 接口 PUT /me/profile 不再收真名:界面早没入口,但早几届有 44 人把真名改成了外号
- 0042:两个被推成非班号班级的老号(xrm、王仁杰)改成没填班级
- 老账号不改名,只认 ks 前缀的地方收在契约 username.ts 一处

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-11-02 23:22:20 +08:00
1 parent 48590eee60
commit 221d264701
25 files changed
+4234 -156

No files matched your search

+6 -2
View File
@@ -103,6 +103,7 @@ export function getBaseInfo() {
return api.get<DashboardInfo>('admin/dashboard')
}
/** 后台首页「抽一个人」:从这个班(班号)随机拿 10 个显示用的名字 */
export function randomUser10(classroom: string) {
return api.get<string[]>('admin/random-usernames', {
params: { classroom },
@@ -245,9 +246,11 @@ export function getUserList(
}
/** 批量建号之前查重:这些用户名哪些已经有了 */
export function checkUsernames(usernames: string[]) {
/** 批量建号查重:这个班里已经有的同名账号,和每个名字会建成的用户名 */
export function checkUsernames(className: string, names: string[]) {
return api.post<CheckUsernamesResponse>('admin/users/check', {
usernames,
className,
names,
} satisfies CheckUsernamesRequest)
}
@@ -260,6 +263,7 @@ export function editUser(user: AdminUserForm) {
adminType: toAdminType(user.adminType),
problemPermission: toProblemPermission(user.problemPermission),
realName: user.realName ?? null,
className: user.className ?? null,
isDisabled: user.isDisabled,
password: user.password ?? '',
} satisfies UpdateUserRequest)