improve code

This commit is contained in:
nyne
2024-10-08 17:28:09 +08:00
parent 5deb71e10a
commit 12463208a6
4 changed files with 34 additions and 14 deletions

View File

@@ -7,11 +7,21 @@ class _Appdata {
final _Settings settings = _Settings();
var searchHistory = <String>[];
bool _isSavingData = false;
void saveData() async {
Future<void> saveData() async {
if(_isSavingData) {
await Future.doWhile(() async {
await Future.delayed(const Duration(milliseconds: 20));
return _isSavingData;
});
}
_isSavingData = true;
var data = jsonEncode(toJson());
var file = File(FilePath.join(App.dataPath, 'appdata.json'));
await file.writeAsString(data);
_isSavingData = false;
}
void addSearchHistory(String keyword) {
@@ -42,7 +52,9 @@ class _Appdata {
}
var json = jsonDecode(await file.readAsString());
for(var key in json['settings'].keys) {
settings[key] = json[key];
if(json[key] != null) {
settings[key] = json[key];
}
}
searchHistory = List.from(json['searchHistory']);
}
@@ -88,4 +100,9 @@ class _Settings {
operator[]=(String key, dynamic value) {
_data[key] = value;
}
@override
String toString() {
return _data.toString();
}
}

View File

@@ -3,7 +3,6 @@ import 'dart:io';
import 'dart:math' as math;
import 'package:crypto/crypto.dart';
import 'package:dio/dio.dart';
import 'package:flutter/services.dart';
import 'package:html/parser.dart' as html;
import 'package:html/dom.dart' as dom;