| 12345678910111213141516171819202122232425262728293031 |
- 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}`);
- }
- }
|