wei
2021-06-23 d4973876384be55df64de45db8a511d1e0330872
HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs
@@ -6,15 +6,12 @@
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
    {
        /// <summary>
        /// 检查住宅是否绑定丰林,并获取门口机列表
        /// </summary>
@@ -25,7 +22,6 @@
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_FL_Check);
            return responsePackNew;
        }
        /// <summary>
        /// 获取通话记录
        /// </summary>
@@ -39,50 +35,128 @@
        /// <summary>
        /// 获取门口机列表(1室内机,2室外机,3围墙机,4管理机,5二次确认机)
        /// </summary>
        public static List<ESVideoInfo> GetVideoInfoList(VideoObj video)
        public static List<FlVideo> GetVideoInfoList(VideoClouds video)
        {
            List<ESVideoInfo> eSVideoInfosList = new List<ESVideoInfo>();
            List<FlVideo> eSVideoInfosList = new List<FlVideo>();
            var jobject = new JObject();
            jobject.Add("cmtID",video.flCmtId);
            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))
            try
            {
                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<List<Dictionary<string, string>>>(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 str = HttpWebRequest(NewAPI.API_POST_FL_List, jobject.ToString(), "POST");
                if (string.IsNullOrEmpty(str))
                {
                    var uuid = videoInfo["uuid"].Split(',');
                    eSVideoInfo.ESVideoUUID = uuid[0];
                    return eSVideoInfosList;
                }
                else
                var json = JObject.Parse(str);
                if (json == null)
                {
                    eSVideoInfo.ESVideoUUID = videoInfo["uuid"];
                    return eSVideoInfosList;
                }
                eSVideoInfo.uuid = videoInfo["uuid"];
                eSVideoInfo.roomno = video.flRoomId;
                eSVideoInfosList.Add(eSVideoInfo);
                if (json["resCode"].ToString() != "0")
                {
                    return eSVideoInfosList;
                }
                eSVideoInfosList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<FlVideo>>(json["list"].ToString());
            }
            catch { }
            return eSVideoInfosList;
        }
        /// <summary>
        /// 上报动态开锁密码(注意:密码有可能延时1分钟生效)
        /// </summary>
        public static void GetQRcode(FrameLayout frame, VideoClouds video, Action<bool, string> action)
        {
            ///标记是否成功
            bool if_bool = false;
            //临时密码
            string pwd = VideoMethod.GetCode();
            var jobject = new JObject();             jobject.Add("communityID", video.flCmtId);//社区ID
            jobject.Add("fromTime", VideoMethod.GetCurrentTimeStamp());//开始时间
            jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//有效时间
            jobject.Add("unitno", video.flBuildingId);//单元号
            jobject.Add("roomno", video.flRoomId);//房间号
            jobject.Add("code", pwd);             jobject.Add("userKey", video.id);             jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp());             jobject.Add("secretKey", video.flSecretKey);             jobject.Add("method", "setdynamicpwd");             jobject.Add("numTimes", "5");
            //加载log
            Loading loading = new Loading();
            frame.AddChidren(loading);
            loading.Start();
            new System.Threading.Thread(() =>
            {
                try
                {
                    var str = HttpWebRequest(NewAPI.API_POST_FL_QRcode, jobject.ToString(), "POST");
                    if (!string.IsNullOrEmpty(str))
                    {
                        if (str.Contains("status"))
                        {
                            //var json = JObject.Parse(str);
                            //if (json != null)
                            //{
                            //    var stateCode = json["status"].ToString();
                            //    if (stateCode == "0")
                            //    {
                            //        if_bool = true;
                            //    }
                            //}
                            if_bool = true;
                        }
                        else {
                            var json = JObject.Parse(str);
                            if (json != null)
                            {
                                var stateCode = json["desc"].ToString();
                                Application.RunOnMainThread(() =>
                                {
                                    //错误提示
                                    new Intelligence.Automation.LogicView.TipPopView().FlashingBox(stateCode);
                                });
                            }
                        }
                    }
                }
                catch { }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        loading.Hide();
                        action(if_bool, pwd);
                    });
                }
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        /// 下载图片
        /// </summary>
        public static void GetIcon(FrameLayout frame,string url)
        {
            Loading loading = new Loading();
            frame.AddChidren(loading);
            loading.Start();
            new System.Threading.Thread(() =>
            {
                try
                {
                    var responsePackNew = RequestServerhomeId(null, url);
                }
                catch { }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        loading.Hide();
                    });
                }
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        ///  请求服务器的方法(支持请求方式为POST/GET)
@@ -137,5 +211,13 @@
            return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
        }
    }
    class FlResponsePackNew
    {//
        public string status = string.Empty;
        public string desc = string.Empty;
    }
}