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);
}
}
}