🧱 Add basis of tencent rtc

This commit is contained in:
2025-05-07 00:48:34 +08:00
parent 937e249b87
commit 419ed666f6
22 changed files with 13972 additions and 43 deletions

View File

@ -0,0 +1,16 @@
import 'dart:io';
import 'package:drift/drift.dart';
import 'package:drift/native.dart';
import 'package:island/database/drift_db.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart';
AppDatabase constructDb() {
final db = LazyDatabase(() async {
final dbFolder = await getApplicationDocumentsDirectory();
final file = File(p.join(dbFolder.path, 'solar_network_data.sqlite'));
return NativeDatabase(file);
});
return AppDatabase(db);
}

View File

@ -0,0 +1,20 @@
import 'package:drift/drift.dart';
import 'package:drift/wasm.dart';
import 'package:island/database/drift_db.dart';
AppDatabase constructDb() {
return AppDatabase(connectOnWeb());
}
DatabaseConnection connectOnWeb() {
return DatabaseConnection.delayed(
Future(() async {
final result = await WasmDatabase.open(
databaseName: 'solar_network_data',
sqlite3Uri: Uri.parse('sqlite3.wasm'),
driftWorkerUri: Uri.parse('drift_worker.dart.js'),
);
return result.resolvedExecutor;
}),
);
}

View File

@ -1,17 +1,13 @@
import 'dart:convert';
import 'dart:io';
import 'package:drift/drift.dart';
import 'package:drift/native.dart';
import 'package:island/database/message.dart';
import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart' as p;
part 'drift_db.g.dart';
// Define the database
@DriftDatabase(tables: [ChatMessages])
class AppDatabase extends _$AppDatabase {
AppDatabase() : super(_openConnection());
AppDatabase(super.e);
@override
int get schemaVersion => 1;
@ -75,12 +71,3 @@ class AppDatabase extends _$AppDatabase {
);
}
}
// Helper to open the database connection
LazyDatabase _openConnection() {
return LazyDatabase(() async {
final dbFolder = await getApplicationDocumentsDirectory();
final file = File(p.join(dbFolder.path, 'solar_network_data.sqlite'));
return NativeDatabase(file);
});
}