import { IStorageAdapter } from './IStorageAdapter'; import { platform } from '../../../utils/platform'; // 只导出接口类型,不导入实现类(避免编译时加载) export type { IStorageAdapter }; /** * 创建存储适配器 * 根据当前平台自动选择合适的存储实现 * 使用动态导入避免在编译时加载不需要的模块 */ export function createStorageAdapter(): IStorageAdapter { if (platform.isElectron) { console.log('使用 Electron 存储适配器(持久化到文件系统)'); // 动态加载 Electron 适配器 const { ElectronStorageAdapter } = require('./ElectronStorageAdapter'); return new ElectronStorageAdapter(); } else if (platform.isCordova) { console.log('使用 Cordova 存储适配器(持久化到 NativeStorage)'); // 动态加载 Cordova 适配器 const { CordovaStorageAdapter } = require('./CordovaStorageAdapter'); return new CordovaStorageAdapter(); } else if (platform.isBrowser) { console.log('使用浏览器存储适配器(内存存储,无持久化)'); // 动态加载浏览器适配器 const { BrowserStorageAdapter } = require('./BrowserStorageAdapter'); return new BrowserStorageAdapter(); } else { throw new Error(`不支持的平台:${platform.platform}`); } }