fix: scheme storage on web.
This commit is contained in:
@@ -2,6 +2,7 @@ import 'dart:convert';
|
|||||||
import 'dart:html';
|
import 'dart:html';
|
||||||
|
|
||||||
import 'package:dde_gesture_manager/builder/provider_annotation.dart';
|
import 'package:dde_gesture_manager/builder/provider_annotation.dart';
|
||||||
|
import 'package:dde_gesture_manager/extensions.dart';
|
||||||
import 'package:dde_gesture_manager/models/local_schemes_provider.dart';
|
import 'package:dde_gesture_manager/models/local_schemes_provider.dart';
|
||||||
import 'package:dde_gesture_manager/models/scheme.dart';
|
import 'package:dde_gesture_manager/models/scheme.dart';
|
||||||
import 'package:uuid/uuid.dart';
|
import 'package:uuid/uuid.dart';
|
||||||
@@ -22,7 +23,13 @@ class LocalSchemes implements LocalSchemesInterface<LocalSchemeEntryWeb> {
|
|||||||
for (var key in window.localStorage.keys) {
|
for (var key in window.localStorage.keys) {
|
||||||
if (key.startsWith('schemes.')) {
|
if (key.startsWith('schemes.')) {
|
||||||
var content = window.localStorage[key] ?? '';
|
var content = window.localStorage[key] ?? '';
|
||||||
var schemeJson = json.decode(content);
|
var schemeJson;
|
||||||
|
try {
|
||||||
|
schemeJson = json.decode(content);
|
||||||
|
} catch (e) {
|
||||||
|
e.sout();
|
||||||
|
}
|
||||||
|
if (schemes != null) {
|
||||||
_localeSchemes.add(LocalSchemeEntryWeb(
|
_localeSchemes.add(LocalSchemeEntryWeb(
|
||||||
path: key,
|
path: key,
|
||||||
scheme: Scheme.parse(schemeJson),
|
scheme: Scheme.parse(schemeJson),
|
||||||
@@ -30,6 +37,7 @@ class LocalSchemes implements LocalSchemesInterface<LocalSchemeEntryWeb> {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return Future.value(_localeSchemes);
|
return Future.value(_localeSchemes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user