getAiDetectPlan method

Future<bool> getAiDetectPlan(
  1. int type, {
  2. int timeout = 5,
})

Implementation

Future<bool> getAiDetectPlan(int type, {int timeout = 5}) async {
  bool ret = await _command.writeCgi(
      "trans_cmd_string.cgi?cmd=2017&command=11&mark=1&type=$type&",
      timeout: timeout);
  if (ret) {
    CommandResult result =
        await _command.waitCommandResult((int cmd, Uint8List data) {
      if (cmd == 24785) {
        String str = utf8.decode(data);
        return str.contains("cmd=2017;") &&
            str.contains("command=11;") &&
            str.contains("type=$type;");
      }
      return false;
    }, timeout);
    if (result.isSuccess) {
      Map data = result.getMap();
      print('==>>获取到AI检测类型:${type}的结果:${data}');
      if (type == 12) {
        //获取火计划
        if (data.containsKey("fire_plan_enable")) {
          firePlanData = data;
        }
      } else if (type == 14) {
        //获取区域入侵计划
        if (data.containsKey("region_entry_plan_enable")) {
          areaIntrusionPlanData = data;
        }
      } else if (type == 15) {
        //获取人逗留计划
        if (data.containsKey("person_stay_plan_enable")) {
          personStayPlanData = data;
        }
      } else if (type == 16) {
        //获取车违停计划
        if (data.containsKey("car_stay_plan_enable")) {
          illegalParkingPlanData = data;
        }
      } else if (type == 17) {
        //获取越线检测计划
        if (data.containsKey("line_cross_plan_enable")) {
          crossBorderPlanData = data;
        }
      } else if (type == 18) {
        //获取离岗检测计划
        if (data.containsKey("person_onduty_plan_enable")) {
          offPostMonitorPlanData = data;
        }
      } else if (type == 19) {
        //获取车辆逆行计划
        if (data.containsKey("car_retrograde_plan_enable")) {
          carRetrogradePlanData = data;
        }
      } else if (type == 20) {
        //包裹计划
        if (data.containsKey("package_detect_plan_enable")) {
          packageDetectPlanData = data;
        }
      }
      return data["result"] == "0";
    }
  }
  return false;
}