/** * 用户角色类型 */ export type UserRole = 'admin' | 'superadmin'; /** * 用户信息接口 */ export interface User { id: string; username: string; passwordHash: string; role?: UserRole; createdAt: Date; lastLoginAt?: Date; } /** * 登录结果接口 */ export interface LoginResult { success: boolean; message?: string; token?: string; user?: { id: string; username: string; role?: UserRole; lastLoginAt?: Date; }; } /** * Token验证结果接口 */ export interface TokenVerifyResult { valid: boolean; user?: { id: string; username: string; role?: UserRole; }; error?: string; } /** * 认证服务 */ export declare class AuthService { private logger; private readonly JWT_SECRET; private readonly JWT_EXPIRES_IN; private readonly DEFAULT_USERNAME; private readonly DEFAULT_PASSWORD; private users; private readonly INIT_LOCK_FILE; private readonly USER_DATA_FILE; private readonly SUPERADMIN_USERNAME; private readonly SUPERADMIN_PASSWORD; constructor(); /** * 初始化认证服务(异步) * 必须在创建 AuthService 实例后调用此方法 */ initialize(): Promise; /** * 初始化或恢复用户数据 */ private initializeOrRestoreUsers; /** * 初始化默认管理员用户 */ private initializeDefaultUser; /** * 初始化超级管理员账号 */ private initializeSuperAdmin; /** * 保存用户数据到文件 */ private saveUsersToFile; /** * 从文件加载用户数据 */ private loadUsersFromFile; /** * 用户登录 */ login(username: string, password: string): Promise; /** * 验证JWT token */ verifyToken(token: string): TokenVerifyResult; /** * 获取用户信息 */ getUserByUsername(username: string): User | undefined; /** * 创建新用户(用于扩展功能) */ createUser(username: string, password: string): Promise; /** * 更改用户密码(用于扩展功能) */ changePassword(username: string, oldPassword: string, newPassword: string): Promise; /** * 获取所有用户(用于管理功能) */ getAllUsers(): Array<{ id: string; username: string; role: UserRole; createdAt: Date; lastLoginAt?: Date; }>; /** * 检查用户是否为超级管理员 */ isSuperAdmin(username: string): boolean; /** * 获取超级管理员用户名 */ getSuperAdminUsername(): string; /** * 检查系统是否已初始化(通过检查锁文件) */ isInitialized(): boolean; /** * 获取初始化锁文件路径 */ getInitLockFilePath(): string; /** * 生成唯一标识符 */ private generateUniqueId; /** * 获取初始化信息(如果已初始化) */ getInitializationInfo(): any; /** * 获取系统唯一标识符 */ getSystemUniqueId(): string | null; /** * 初始化系统,设置管理员账号 */ initializeSystem(username: string, password: string): Promise<{ success: boolean; message: string; uniqueId?: string; }>; } export default AuthService; //# sourceMappingURL=AuthService.d.ts.map