1. 新增 pnpm start:dev / pnpm start:stop 命令 - scripts/dev.mjs: 跨平台启动脚本(后端+管理端+学生端) - scripts/stop.mjs: 端口清理停止脚本 - 根 package.json 定义 pnpm 脚本 2. 修复 Flutter Web 编译(Isar 3.x + flutter_secure_storage 不兼容) - isar_database: 条件导出,Web 用空 stub - isar_journal_repository: 条件导出,Web 用空 stub - sync_engine: 条件导出,Web 用内存队列(无 Isar 持久化) - 移除 flutter_secure_storage(v9 web 插件用 dart:html) - 新增 SecureTokenStore 接口 + shared_preferences 实现 - auth_repository 改用 SecureTokenStore 接口
15 lines
526 B
Dart
15 lines
526 B
Dart
// Isar 数据库条件导出
|
||
//
|
||
// 根据平台自动选择实现:
|
||
// - 原生平台 (Android/iOS/Desktop) → isar_database_native.dart
|
||
// - Web 平台 → isar_database_web.dart (空 stub)
|
||
//
|
||
// 条件导出逻辑:
|
||
// dart.library.io 存在 → 原生平台,使用 native 实现
|
||
// 否则(Web)→ 使用 web stub
|
||
//
|
||
// 使用方式不变:import 'isar_database.dart';
|
||
// 用 IsarDatabase.isAvailable 判断平台可用性。
|
||
|
||
export 'isar_database_web.dart' if (dart.library.io) 'isar_database_native.dart';
|