using System; using System.Collections.Generic; using System.IO; using System.Net; using HDL_ON.DAL.Server; using HDL_ON.UI.UI2.PersonalCenter.PirDevice; using Newtonsoft.Json.Linq; using Shared; using static HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod; namespace HDL_ON.UI.UI2.FuntionControlView.Video { public class VideoSend { /// /// 检查住宅是否绑定丰林,并获取门口机列表 /// /// public static ResponsePackNew GetVideo() { var jObject = new JObject { { "homeId", PirSend.HomeId } }; var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_FL_Check); return responsePackNew; } /// /// 获取通话记录 /// /// public static ResponsePackNew GetCall(string flBindId) { var jObject = new JObject { { "homeId", PirSend.HomeId }, { "flBindId", flBindId }, { "pageSize", int.MaxValue } }; var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_FL_GetCallList); return responsePackNew; } /// /// 获取门口机列表(1室内机,2室外机,3围墙机,4管理机,5二次确认机) /// public static List GetVideoInfoList(VideoObj video) { List eSVideoInfosList = new List(); var jobject = new JObject(); jobject.Add("cmtID",video.flCmtId); jobject.Add("unitno", video.flBuildingId); jobject.Add("method", "getUUIDList"); var str = HttpWebRequest(NewAPI.API_POST_FL_List, jobject.ToString(), "POST"); if (string.IsNullOrEmpty(str)) { return eSVideoInfosList; } var json = JObject.Parse(str); if (json == null) { return eSVideoInfosList; } if (json["resCode"].ToString() != "0") { return eSVideoInfosList; } var list = Newtonsoft.Json.JsonConvert.DeserializeObject>>(json["list"].ToString()); if (list.Count == 0) { return eSVideoInfosList; } foreach (var videoInfo in list) { ESVideoInfo eSVideoInfo = new ESVideoInfo(); eSVideoInfo.DeviceName = videoInfo["aliasName"]; if (videoInfo["uuid"].Contains(",")) { var uuid = videoInfo["uuid"].Split(','); eSVideoInfo.ESVideoUUID = uuid[0]; } else { eSVideoInfo.ESVideoUUID = videoInfo["uuid"]; } eSVideoInfo.uuid = videoInfo["uuid"]; eSVideoInfo.roomno = video.flRoomId; eSVideoInfosList.Add(eSVideoInfo); } return eSVideoInfosList; } /// /// 请求服务器的方法(支持请求方式为POST/GET) /// /// 请求的地址 /// 请求数据 /// 请求方式为POST/GET /// 超时时间 /// public static string HttpWebRequest(string getUrl, string str, string method, int second = 3) { try { HttpWebRequest request = WebRequest.Create(getUrl) as HttpWebRequest; //创建请求 request.Method = method; //请求方式为POST/GET request.ContentType = "application/json"; request.Timeout = second * 1000;//超时时间 if (method == "POST") { byte[] jsonbyte = System.Text.Encoding.UTF8.GetBytes(str); request.ContentLength = jsonbyte.Length; Stream postStream = request.GetRequestStream(); postStream.Write(jsonbyte, 0, jsonbyte.Length); postStream.Close(); } //发送请求并获取相应回应数据 HttpWebResponse res; try { res = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { res = (HttpWebResponse)ex.Response; } StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8); string content = sr.ReadToEnd(); //获得响应字符串 return content; } catch { return null; } } /// ///请求服务器(与住宅有关:例如;homeId) /// /// public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 20) { var requestJson = HttpUtil.GetSignRequestJson(o); return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout); } } }