setReocrdPlan method

Future<bool> setReocrdPlan({
  1. required List records,
  2. required int enable,
  3. int timeout = 5,
})

设置实时计划录像

Implementation

Future<bool> setReocrdPlan(
    {required List records, required int enable, int timeout = 5}) async {
  bool ret = await writeCgi(
      "trans_cmd_string.cgi?cmd=2017&command=3&mark=212&"
      "record_plan1=${records[0]}&"
      "record_plan2=${records[1]}&"
      "record_plan3=${records[2]}&"
      "record_plan4=${records[3]}&"
      "record_plan5=${records[4]}&"
      "record_plan6=${records[5]}&"
      "record_plan7=${records[6]}&"
      "record_plan8=${records[7]}&"
      "record_plan9=${records[8]}&"
      "record_plan10=${records[9]}&"
      "record_plan11=${records[10]}&"
      "record_plan12=${records[11]}&"
      "record_plan13=${records[12]}&"
      "record_plan14=${records[13]}&"
      "record_plan15=${records[14]}&"
      "record_plan16=${records[15]}&"
      "record_plan17=${records[16]}&"
      "record_plan18=${records[17]}&"
      "record_plan19=${records[18]}&"
      "record_plan20=${records[19]}&"
      "record_plan21=${records[20]}&"
      "record_plan_enable=$enable&",
      timeout: timeout);
  if (ret) {
    CommandResult result = await waitCommandResult((int cmd, Uint8List data) {
      if (cmd == 24785) {
        String str = utf8.decode(data);
        return str.contains("cmd=2017;") && str.contains("command=3;");
      }
      return false;
    }, timeout);
    if (result.isSuccess) {
      Map data = result.getMap();
      if (data["status"] == "0" || data["result"] == "0") {
        return true;
      }
    }
  }
  return false;
}