Files
server/dist/services/AuthService.d.ts

150 lines
3.4 KiB
TypeScript
Raw Permalink Normal View History

2026-02-09 16:34:01 +08:00
/**
*
*/
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