@ui18n/angular
Version:
🅰️ Modern Angular internationalization with standalone components, signals, and dependency injection support for Angular 15+
181 lines • 4.84 kB
TypeScript
/**
* UI18n安全配置管理系统
* 提供API密钥的安全存储、加密和环境变量管理
*/
import { DualAPIConfig } from './api-config';
export interface SecureConfig {
/** 加密的配置数据 */
encrypted: {
/** 加密的AI提供者配置 */
aiProvider?: string;
/** 加密的云端服务配置 */
cloudService?: string;
};
/** 加密元数据 */
metadata: {
/** 加密算法 */
algorithm: string;
/** 密钥长度 */
keyLength: number;
/** 创建时间 */
createdAt: string;
/** 最后更新时间 */
updatedAt: string;
/** 配置版本 */
version: string;
};
/** 非敏感配置(明文存储) */
public: {
/** 回退策略 */
fallbackStrategy?: DualAPIConfig['fallbackStrategy'];
/** 错误处理配置 */
errorHandling?: DualAPIConfig['errorHandling'];
/** AI提供者非敏感配置 */
aiProvider?: any;
/** 云端服务非敏感配置 */
cloudService?: any;
};
}
export declare const ENV_VAR_MAPPING: {
readonly AI_PROVIDER_TYPE: "aiProvider.type";
readonly AI_PROVIDER_API_KEY: "aiProvider.apiKey";
readonly AI_PROVIDER_ENDPOINT: "aiProvider.endpoint";
readonly AI_PROVIDER_TIMEOUT: "aiProvider.timeout";
readonly AI_PROVIDER_REGION: "aiProvider.region";
readonly AI_PROVIDER_MODEL: "aiProvider.model";
readonly UI18N_ACCOUNT_API_KEY: "cloudService.accountApiKey";
readonly UI18N_CLOUD_ENDPOINT: "cloudService.endpoint";
readonly UI18N_CLOUD_TIMEOUT: "cloudService.timeout";
readonly UI18N_DEBUG: "debug";
readonly UI18N_LOG_LEVEL: "logLevel";
};
export declare const SENSITIVE_FIELDS: string[];
/**
* 安全配置管理器
*/
export declare class SecureConfigManager {
private static readonly ALGORITHM;
private static readonly KEY_LENGTH;
private static readonly IV_LENGTH;
private static readonly TAG_LENGTH;
private static readonly CONFIG_FILE_NAME;
private encryptionKey;
private configPath;
constructor(options?: {
configDir?: string;
encryptionKey?: string | Buffer;
});
/**
* 初始化加密密钥
*/
private initializeEncryptionKey;
/**
* 获取用户主目录
*/
private getUserHomeDir;
/**
* 加密敏感数据
*/
private encrypt;
/**
* 解密敏感数据
*/
private decrypt;
/**
* 过滤敏感字段
*/
private filterSensitiveFields;
/**
* 从环境变量加载配置
*/
loadFromEnvironment(): Partial<DualAPIConfig>;
/**
* 保存安全配置到文件
*/
saveSecureConfig(config: DualAPIConfig): void;
/**
* 从文件加载安全配置
*/
loadSecureConfig(): Partial<DualAPIConfig>;
/**
* 合并配置(优先级:环境变量 > 安全文件 > 默认配置)
*/
loadConfig(defaultConfig?: Partial<DualAPIConfig>): DualAPIConfig;
/**
* 深度合并对象
*/
private deepMerge;
/**
* 删除安全配置文件
*/
deleteSecureConfig(): boolean;
/**
* 验证配置文件完整性
*/
validateConfigFile(): {
valid: boolean;
errors: string[];
};
/**
* 轮转加密密钥
*/
rotateEncryptionKey(newKey?: string | Buffer): void;
/**
* Initialize the config manager (for compatibility)
*/
initialize(): Promise<void>;
/**
* Set configuration value (for compatibility)
*/
setConfig(category: string, key: string, value: string): Promise<void>;
/**
* Get configuration value (for compatibility)
*/
getConfig(category: string, key: string): Promise<string | undefined>;
}
/**
* 安全日志记录器
*/
export declare class SecureLogger {
private static instance;
private logLevel;
private constructor();
static getInstance(): SecureLogger;
/**
* 设置日志级别
*/
setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void;
/**
* 脱敏处理敏感信息
*/
private sanitize;
/**
* 掩码敏感值
*/
private maskSensitiveValue;
/**
* 安全日志记录
*/
log(level: 'debug' | 'info' | 'warn' | 'error', message: string, data?: any): void;
}
/**
* 配置验证器
*/
export declare class ConfigValidator {
/**
* 验证API密钥格式
*/
static validateAPIKey(key: string, provider: string): {
valid: boolean;
errors: string[];
};
/**
* 验证端点URL
*/
static validateEndpoint(endpoint: string): {
valid: boolean;
errors: string[];
};
}
export default SecureConfigManager;
//# sourceMappingURL=secure-config.d.ts.map