diff --git a/lib/app/app.dart b/lib/app/app.dart index ed5c50f..f49195c 100644 --- a/lib/app/app.dart +++ b/lib/app/app.dart @@ -24,7 +24,9 @@ class AppController extends MvcController { void onInitState(fluent.BuildContext context) { super.onInitState(context); try { - FlutterDisplayMode.setHighRefreshRate(); + if(Platform.isAndroid) { + FlutterDisplayMode.setHighRefreshRate(); + } } catch (e) { print(e); } diff --git a/lib/app/mobile/controller/settings/mobile_sync_password_settings_controller.dart b/lib/app/mobile/controller/settings/mobile_sync_password_settings_controller.dart index 3596879..d74fe43 100644 --- a/lib/app/mobile/controller/settings/mobile_sync_password_settings_controller.dart +++ b/lib/app/mobile/controller/settings/mobile_sync_password_settings_controller.dart @@ -48,6 +48,8 @@ class MobileSyncPasswordSettingsController extends ServiceManagerController { } Future changePwd(String pwd) async{ - return serviceManager.cryptService.changeServerPassword(pwd); + var ret = serviceManager.cryptService.changeServerPassword(pwd); + await serviceManager.recordSyncService.reUploadDbData(); + return ret; } } diff --git a/lib/service/api/delta_api.dart b/lib/service/api/delta_api.dart index b834e29..477aed7 100644 --- a/lib/service/api/delta_api.dart +++ b/lib/service/api/delta_api.dart @@ -73,7 +73,7 @@ class DbUploadVO { Map toJson() { return { 'clientId': clientId, - 'items': items?.map((e) => e.toMap()), + 'items': items?.map((e) => e.toMap()).toList(), 'securityVersion': securityVersion, }; } diff --git a/lib/service/api/doc_api.dart b/lib/service/api/doc_api.dart index 9d970e3..b44c35b 100644 --- a/lib/service/api/doc_api.dart +++ b/lib/service/api/doc_api.dart @@ -103,9 +103,9 @@ class DocApi { var docState = data["data"]; return LockResult() ..dataId = docId - ..docState = docState['docState'] - ..securityVersion = docState['securityVersion'] - ..updateTime = docState['updateTime']; + ..docState = docState?['docState'] + ..securityVersion = docState?['securityVersion'] + ..updateTime = docState?['updateTime']; } return null; } diff --git a/lib/service/crypt/crypt_service.dart b/lib/service/crypt/crypt_service.dart index 5e12718..fa1bcbf 100644 --- a/lib/service/crypt/crypt_service.dart +++ b/lib/service/crypt/crypt_service.dart @@ -88,6 +88,18 @@ class CryptService { passwordMap.keys.reduce((value, element) => max(value, element))]; } + bool hasPwd(int version) { + if (version == -1 && passwordMap.isNotEmpty) { + version = + passwordMap.keys.reduce((value, element) => max(value, element)); + } + var pwd = passwordMap[version]?.password; + if (pwd == null) { + return false; + } + return true; + } + Uint8List encode(Uint8List data, [int version = -1]) { if (version == -1 && passwordMap.isNotEmpty) { version = @@ -182,6 +194,9 @@ class CryptService { if (input == null || input.isEmpty) { return input; } + if (!hasPwd(version)) { + return input; + } var bytes = utf8.encode(input); var ret = encode(bytes); return base64Encode(ret); @@ -191,6 +206,9 @@ class CryptService { if (input == null || input.isEmpty) { return input; } + if (!hasPwd(version)) { + return input; + } var bytes = base64Decode(input); var ret = decode(bytes, version); return utf8.decode(ret); diff --git a/lib/service/sync/impl/record_sync_service_impl.dart b/lib/service/sync/impl/record_sync_service_impl.dart index 977662d..8fd8100 100644 --- a/lib/service/sync/impl/record_sync_service_impl.dart +++ b/lib/service/sync/impl/record_sync_service_impl.dart @@ -248,6 +248,8 @@ class RecordSyncServiceImpl extends RecordSyncService { updateTime: e.updateTime, deleted: e.deleted, hasUpload: e.hasUpload, + securityVersion: + serviceManager.cryptService.getCurrentPassword()?.version, )) .toList(); } diff --git a/lib/service/user/user_service.dart b/lib/service/user/user_service.dart index c3ee48f..ab8d70a 100644 --- a/lib/service/user/user_service.dart +++ b/lib/service/user/user_service.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'dart:io'; import 'package:dio/dio.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:get/get_utils/get_utils.dart'; import 'package:octo_image/octo_image.dart'; @@ -52,6 +53,9 @@ class UserService with ChangeNotifier { if (noteServer == null) { return null; } + if(kDebugMode){ + return "http://127.0.0.1:9898"; + } return "http://${noteServer.host}:${noteServer.port}"; } diff --git a/pubspec.lock b/pubspec.lock index 3386c6f..53b6a24 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1902,7 +1902,7 @@ packages: ydart: dependency: "direct main" description: - path: "D:/GitHub/ydart" + path: "/Users/liyuanming/Documents/GitHub/ydart" relative: false source: path version: "1.0.0+1"