fix(data): 清理旧数据并保护服务端写入

This commit is contained in:
Script Generator
2026-07-02 09:30:50 +08:00
parent 28e0c6de19
commit 916bd17a48
38 changed files with 1346 additions and 194 deletions

View File

@@ -1,11 +1,12 @@
import type { Member } from './members';
import { generateUsernameFromName, normalizeUsername } from './members';
export interface AuthUser {
id: string;
name: string;
username: string;
roleId: string;
departmentId: string;
phone: string;
email: string;
}
@@ -13,9 +14,9 @@ export function toAuthUser(member: Member): AuthUser {
return {
id: member.id,
name: member.name,
username: normalizeUsername(member.username) || generateUsernameFromName(member.name, []),
roleId: member.roleId,
departmentId: member.departmentId,
phone: member.phone,
email: member.email,
};
}
@@ -24,3 +25,16 @@ export function resolveAuthUserFromMembers(user: AuthUser, members: Member[]): A
const member = members.find((m) => m.id === user.id);
return member ? toAuthUser(member) : null;
}
export function findMemberByUsernameCredentials(
username: string,
password: string,
members: Member[],
): Member | null {
const normalizedUsername = normalizeUsername(username);
if (!normalizedUsername || !password) return null;
return members.find((member) => (
normalizeUsername(member.username) === normalizedUsername &&
(member.password || 'Ftb@2024') === password
)) ?? null;
}