1)修改数据库命名,不和业务使用重合。
2)修改user 表,uid为unique, 聊天室文件夹name unique移除
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:im_app/app/di/db_provider.dart';
|
||||
import 'package:im_app/data/local/drift/app_database.dart';
|
||||
@@ -87,12 +86,12 @@ class ChatDbTestViewModel extends _$ChatDbTestViewModel {
|
||||
final chunk = List.generate(
|
||||
chunkSize.clamp(0, count - i),
|
||||
(j) => UsersCompanion.insert(
|
||||
uid: Value(i + j),
|
||||
uid: i + j,
|
||||
nickname: Value('User ${i + j}'),
|
||||
),
|
||||
);
|
||||
|
||||
await db.batchInsertOrReplace<User>(chunk);
|
||||
await db.batchInsertOrReplace<DriftUser>(chunk);
|
||||
completed += chunk.length;
|
||||
|
||||
// 让出主线程
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// 执行登录
|
||||
|
||||
Reference in New Issue
Block a user