setLocalConfig method
dynamic
setLocalConfig(
- dynamic id
获取存储的指标样式
Implementation
setLocalConfig(id) async {
try {
String idKey = '${id}zbkey';
final prefs = await SharedPreferences.getInstance();
//获取存储颜色值
localConfig = prefs.getString(idKey) ?? '';
if (localConfig != '') {
//反序列号
localConfig = json.decode(localConfig);
for (var key in localConfig.keys) {
//反序列化颜色
for (var entry in localConfig[key]['style'].entries) {
entry.value['color'] = Tools.getColorFromList(entry.value['color'] as List);
}
//更新配置
initConfig[key] = {...initConfig[key] as Map, ...localConfig[key] as Map};
}
}
//===========深度复制=============
for (var key in initConfig.keys) {
//反序列化颜色
for (var entry in initConfig[key]['style'].entries) {
entry.value['color'] = Tools.getRGBOFromColor(entry.value['color']);
}
}
// //深度复制
config = Tools.deepCopy(initConfig);
configJsonStr = json.encode(initConfig);
List colors = [];
for(var i = 0;i<colorAry.length;i++){
colors.add(Tools.getRGBOFromColor(colorAry[i]));
}
colorListJsonStr = json.encode(colors);
//颜色反序列化
for (var key in initConfig.keys) {
//反序列化颜色
for (var entry in initConfig[key]['style'].entries) {
entry.value['color'] = Tools.getColorFromList(entry.value['color'] as List);
}
}
for (var key in config.keys) {
//反序列化颜色
for (var entry in config[key]['style'].entries) {
entry.value['color'] = Tools.getColorFromList(entry.value['color'] as List);
}
}
//=============================
//从新获取下,上面颜色已经被反序列化了,不能在使用
localConfig = prefs.getString(idKey) ?? '';
if(localConfig != ''){
//反序列号
localConfig = json.decode(localConfig);
}else{
localConfig = {};
}
} catch (error) {
// print(error);
}
}