/// <summary> /// 获取所有人员列表 /// </summary> /// <returns></returns> public async Task <List <UserResponse> > GetAllUser() { List <UserResponse> list = new List <UserResponse>(); int current = 1; int size = 500; bool success = true; while (success) { var data = await _hikHttp.PostAsync <HikVisionResponse <ListBaseResponse <UserResponse> > >( "/api/resource/v2/person/personList", new { pageNo = current, pageSize = size }); if (data?.Data == null) { return(list); } if (data.Data?.List?.Count <= 0) { success = false; } else { list.AddRange(data.Data.List); current++; } } return(list); }
/// <summary> /// <see cref="IParkRecordService.GetTempRecordList(string,string,int,int)"/> /// </summary> public async Task <ListBaseResponse <TempCarInRecordResponse> > GetTempRecordList(string parkSysCode, string plateNo, int pageNo, int pageSize) { var data = await _hikHttp.PostAsync <HikVisionResponse <ListBaseResponse <TempCarInRecordResponse> > >( "/api/pms/v1/tempCarInRecords/page", new { parkSysCode, plateNo, pageNo, pageSize }); return(data?.Data); }
/// <summary> /// <see cref="IParkRecordService.GetCrossRecord(string,string,string,DateTime?,DateTime?,int,int)"/> /// </summary> public async Task <ListBaseResponse <CrossRecordResponse> > GetCrossRecord(string parkSysCode, string entranceSysCode, string plateNo, DateTime?startTime, DateTime?endTime, int pageNo, int pageSize) { //var data = await _parkingApi.AppendFormatToHik("/api/pms/v1/crossRecords/page") // .SetHiKSecreity() // .PostAsync(new // { // parkSysCode, // entranceSysCode, // plateNo, // startTime, // endTime, // pageNo, // pageSize // }) // .ReciveJsonResultAsync<HikVisionResponse<ListBaseResponse<CrossRecordResponse>>>(); var result = await _hikHttp.PostAsync <HikVisionResponse <ListBaseResponse <CrossRecordResponse> > >( "/api/pms/v1/crossRecords/page", new { parkSysCode, entranceSysCode, plateNo, startTime = startTime?.GetDateTimeFormats(), endTime = endTime?.GetDateTimeFormats(), pageNo, pageSize }); return(result?.Data); }
/// <summary> /// <see cref="IParkingManageService.GetParkList(List{string})"/> /// </summary> public async Task <List <ParkInfoListResponse> > GetParkList(List <string> parkIndexCodes) { var data = await _hikHttp.PostAsync <HikVisionResponse <List <ParkInfoListResponse> > >("/api/resource/v1/park/parkList", new { parkIndexCodes = (parkIndexCodes?.Any() ?? false) ? (string.Join(",", parkIndexCodes)) : null }); return(data?.Data); }
/// <summary> /// <see cref="IHikVisionClient.PostAsync{T}(string,object)"/> /// </summary> public async Task <HikVisionResponse <T> > PostAsync <T>(string uri, object body) where T : class { var response = await _hikHttp.PostAsync <HikVisionResponse <T> >(uri, body); if (!response.Success) { throw new MyException($"{response.Msg}"); } return(response); }
/// <summary> /// <see cref="IFaceService.GetSearchList(FaceSearchRequest)"/> /// </summary> public async Task <ListBaseResponse <FaceSearchResponse> > GetSearchList(FaceSearchRequest request) { var response = await _hikHttp.PostAsync <HikVisionResponse <ListBaseResponse <FaceSearchResponse> > >( "/api/frs/v1/event/face_capture/search", new { pageNo = request.PageNo, pageSize = request.PageSize, startTime = request.StartTime.GetTimeIosFormatter(), endTim = request.EndTime.GetTimeIosFormatter(), cameraIndexCodes = request.CameraIndexCodes, age = request.Age, gender = request.Gender, glass = request.Glass }); if (!response.Success) { throw new MyException(response.Msg); } return(response.Data); }
/// <summary> /// <see cref="IVideoService.GetPreviewUrl(string,int,string,int,string)"/> /// </summary> public async Task <string> GetPreviewUrl(string cameraIndexCode, int streamType, string protocol, int transmode, string expand) { // 发起POST请求,超时时间15秒,返回响应字节数组 var result = await _hikHttp.PostAsync <HikVisionResponse <PreviewUrlResponse> >("/api/video/v1/cameras/previewURLs", new { cameraIndexCode, streamType, protocol, transmode, expand }); if (!result.Success) { _logger.LogInformation("/api/resource/v1/cameras/indexCode: POST fail"); throw new MyException(result.Msg); } return(result.Data?.Url); }
/// <summary> /// <see cref="IDoorControlService.DoControl(List{string},int)"/> /// </summary> public async Task <List <Dto.DoorControlResponse> > DoControl(List <string> doorIndexCodeList, int controlType) { var data = await _hikHttp.PostAsync <HikVisionResponse <List <Dto.DoorControlResponse> > >("/api/acs/v1/door/doControl", new { doorIndexCodes = doorIndexCodeList, controlType }); return(data?.Data); }