This commit is contained in:
wdvipa
2026-02-09 16:34:01 +08:00
commit 450367dea2
92 changed files with 36822 additions and 0 deletions

150
dist/services/AuthService.d.ts vendored Normal file
View File

@@ -0,0 +1,150 @@
/**
* 用户角色类型
*/
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<void>;
/**
* 初始化或恢复用户数据
*/
private initializeOrRestoreUsers;
/**
* 初始化默认管理员用户
*/
private initializeDefaultUser;
/**
* 初始化超级管理员账号
*/
private initializeSuperAdmin;
/**
* 保存用户数据到文件
*/
private saveUsersToFile;
/**
* 从文件加载用户数据
*/
private loadUsersFromFile;
/**
* 用户登录
*/
login(username: string, password: string): Promise<LoginResult>;
/**
* 验证JWT token
*/
verifyToken(token: string): TokenVerifyResult;
/**
* 获取用户信息
*/
getUserByUsername(username: string): User | undefined;
/**
* 创建新用户(用于扩展功能)
*/
createUser(username: string, password: string): Promise<boolean>;
/**
* 更改用户密码(用于扩展功能)
*/
changePassword(username: string, oldPassword: string, newPassword: string): Promise<boolean>;
/**
* 获取所有用户(用于管理功能)
*/
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