saveHistory method

Future<void> saveHistory({
  1. required BaseKeyValue model,
  2. required bool atFront,
})

Implementation

Future<void> saveHistory(
    {required BaseKeyValue model, required bool atFront}) async {
  logDebug("搜索保存历史记录: $model");
  var models = await getStorageList<BaseKeyValue>(historyKey,
      listKey: _kListKey, onModels: (json) {
    return BaseKeyValue.fromJson(json);
  });

  if (models.isNotEmpty) {
    final index = models.indexWhere((element) => element.key == model.key);
    if (index > -1) {
      models.removeAt(index);
    }
    if (atFront) {
      models.insert(0, model);
    } else {
      models.add(model);
    }
  } else {
    if (atFront) {
      models.insert(0, model);
    } else {
      models.add(model);
    }
  }
  history.value = models;
  _saveList();
}