setLocalConfig method

dynamic setLocalConfig(
  1. 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);
  }
}