1)修改数据库命名,不和业务使用重合。

2)修改user 表,uid为unique, 聊天室文件夹name unique移除
This commit is contained in:
Happi (哈比)
2026-03-07 17:29:32 +08:00
parent 36a4cdab03
commit a066e9d2dc
30 changed files with 531 additions and 208 deletions

View File

@@ -1,4 +1,8 @@
import 'package:flutter/foundation.dart';
import 'dart:convert';
import 'package:flutter/services.dart';
import 'package:im_app/data/models/user_dto.dart';
import 'package:im_app/data/remote/login_request.dart';
import 'package:networks_sdk/networks_sdk.dart';
import 'package:im_app/app/di/db_provider.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -56,10 +60,22 @@ class LoginViewModel extends _$LoginViewModel {
/// 正式 [login] 成功后同样需要调用 [AuthNotifier.login] 更新守卫状态。
Future<void> demoLogin() async {
final storageApi = ref.read(storageSdkProvider);
///TODO: StorageSDKLifeCycle 需要只在主项目暴露
final storageLifeCycle = storageApi as StorageSdkLifecycle;
ref.read(authNotifierProvider).login();
await storageLifeCycle.openDatabase(1234567);
final provider = ref.read(authNotifierProvider);
// Read mock response from assets
final String raw = await rootBundle.loadString('assets/loginData.json');
final Map<String, dynamic> json = jsonDecode(raw);
// Parse into LoginData (nested under 'data' key)
final loginResponse = LoginResponse.fromJson(json);
final user = loginResponse.data.toEntity();
provider.login();
// Open database for the user
await storageLifeCycle.openDatabase(user.uid);
final userCompanion = UserDto.fromEntity(user).toCompanion();
storageApi.insert(userCompanion);
}
/// 执行登录