From 3532db3610381f37eca1a6ac783d882517847c91 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 31 三月 2021 15:28:49 +0800 Subject: [PATCH] Merge branch 'WJC' into temp-wxr --- HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs | 325 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 325 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs new file mode 100644 index 0000000..fea81eb --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs @@ -0,0 +1,325 @@ +锘縰sing System; +using HDL_ON.DAL.Server; +using HDL_ON.UI.UI2.PersonalCenter.PirDevice; +using System.Collections.Generic; +using Shared; + +namespace HDL_ON.UI.UI2.FuntionControlView.Video +{ + public class VideoMethod + { + /// <summary> + /// 绋嬪簭涓诲叆鍙� + /// </summary> + /// <param name="frameLayout">log鐖舵帶浠�</param> + /// <param name="video">鍙瀵硅瀵硅薄</param> + public void MianView(FrameLayout frameLayout, VideoClouds video) + { + //鍔犺浇log + Loading loading = new Loading(); + frameLayout.AddChidren(loading); + loading.Start(); + List<VideoMethod.FlVideo> listESVideoInfo = new List<VideoMethod.FlVideo>(); + List<CallView> listCall = new List<CallView>(); + new System.Threading.Thread(() => + { + try + { + listESVideoInfo = VideoSend.GetVideoInfoList(video); + listCall = getCall(video.id); + } + catch + { + + } + finally + { + Application.RunOnMainThread(() => + { + loading.Hide(); + var mainView = new MainView(); + MainPage.BasePageView.AddChidren(mainView); + mainView.Show(listESVideoInfo, listCall, video); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }); + } + }) + { IsBackground = true }.Start(); + } + /// <summary> + /// 鑾峰彇鍙瀵硅 + /// </summary> + /// <param name="action">鍥炶皟鍑芥暟</param> + /// <param name="frame">log鐖舵帶浠�</param> + public void getVideo(Action<VideoClouds> action, FrameLayout frame, bool tag) + { + ThreadSend(null, (responsePackNew) => + { + try + { + var str = responsePackNew.Data.ToString(); + var videoObj = Newtonsoft.Json.JsonConvert.DeserializeObject<VideoClouds>(str); + action(videoObj); + } + catch { } + }, "鑾峰彇鍙瀵硅", "fram", frame, null, tag); + } + /// <summary> + /// 鑾峰彇鍘嗗彶閫氳瘽璁板綍 + /// </summary> + /// <param name="id"></param> + public List<CallView> getCall(string id) + { + List<CallView> callViewList = new List<CallView>(); + try + { + + List<Call> listCall = new List<Call>(); + var responsePackNew = VideoSend.GetCall(id); + if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") + { + var jobject = Newtonsoft.Json.Linq.JObject.Parse(responsePackNew.Data.ToString()); + string list = jobject["list"].ToString(); + listCall = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Call>>(list); + + } + List<string> strYear = new List<string>(); + //鏌ヨ骞翠唤 + for (int i = 0; i < listCall.Count; i++) + { + var call = listCall[i]; + if (string.IsNullOrEmpty(call.callTime)) + { + continue; + } + var dd = Convert.ToDateTime(call.callTime); + var year = dd.ToString("yyyy"); + if (null == strYear.Find((c) => c == year)) + { + strYear.Add(year); + + } + + } + //閲嶆柊瀛樺偍 + for (int j = 0; j < strYear.Count; j++) + { + var year = strYear[j]; + CallView callView = new CallView(); + callView.year = year; + for (int i = 0; i < listCall.Count; i++) + { + var call = listCall[i]; + if (string.IsNullOrEmpty(call.callTime)) + { + continue; + } + var dd = Convert.ToDateTime(call.callTime); + var y = dd.ToString("yyyy"); + if (y == year) + { + callView.callList.Add(call); + } + + } + callViewList.Add(callView); + } + } + catch { } + return callViewList; + } + /// <summary> + /// 鍙戦�佸懡浠ょ嚎绋� + /// </summary> + /// <param name="videoObj">鏁版嵁瀵硅薄</param> + /// <param name="action">鍥炶皟鍑芥暟</param> + /// <param name="str">鍒ゆ柇瀛楃</param> + /// <param name="view">鍒ゆ柇log鐖舵帶浠�</param> + /// <param name="frame">log鐖舵帶浠�</param> + /// <param name="dialog">log鐖舵帶浠�</param> + /// <param name="tag">鏄惁瑕佹樉绀簂og</param> + public static void ThreadSend(VideoClouds videoObj, Action<ResponsePackNew> action, string str, string view, FrameLayout frame, Dialog dialog, bool tag = true) + { + + //鍔犺浇log + Loading loading = new Loading(); + if (view == "dialog") + { + dialog.AddChidren(loading); + } + else + { + frame.AddChidren(loading); + } + if (tag) + { + loading.Start(); + } + ResponsePackNew responsePackNew = null; + new System.Threading.Thread(() => + { + try + { + if (str == "鑾峰彇鍙瀵硅") + { + responsePackNew = VideoSend.GetVideo(); + } + else if (str == "鑾峰彇閫氳瘽璁板綍") + { + responsePackNew = VideoSend.GetCall(videoObj.id); + } + + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + + if (tag) + { + loading.Hide(); + } + if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") + { + action(responsePackNew); + } + else + { + Method method = new Method(); + //鑷畾涔夐敊璇彁绀烘枃鏈� + string eorroText = ""; + if (str == "鑾峰彇鍙瀵硅") + { + } + method.ErrorShow(responsePackNew, eorroText); + } + + }); + } + + }) + { IsBackground = true }.Start(); + + + } + /// <summary> + /// 闅忔満瀵嗙爜6浣� + /// </summary> + /// <returns></returns> public static string getCode() { Random rand = new Random(); string code = ""; for (int ctr = 0; ctr < 6; ctr++) { code += rand.Next(10).ToString(); } return code; } + /// <summary> /// 鑾峰彇褰撳墠鏃堕棿鎴� /// </summary> /// <returns></returns> public static string GetCurrentTimeStamp() { //TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0); //return Convert.ToInt64(ts.TotalSeconds).ToString(); System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + + return ((long)(DateTime.Now - startTime).TotalSeconds).ToString(); // 鐩稿樊绉掓暟 + } + /// <summary> /// 鑾峰彇褰撳墠鏃堕棿鎴� /// </summary> /// <returns></returns> public static string GetTomorrowTimeStamp() { //褰撳墠鏃堕棿鐨勫悗涓�澶� //TimeSpan ts = DateTime.Now.AddDays(1) - new DateTime(1970, 1, 1, 0, 0, 0, 0); //return Convert.ToInt64(ts.TotalSeconds).ToString(); + System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + return ((long)(DateTime.Now.AddDays(1) - startTime).TotalSeconds).ToString(); // 鐩稿樊绉掓暟 + } + [Serializable] + public class VideoClouds + { + /// <summary> + /// 涓版灄缁戝畾id锛坒lBindId锛�(userKey) + /// </summary> + public string id = string.Empty; + /// <summary> + /// 浣忓畢id + /// </summary> + public string homeId = string.Empty; + /// <summary> + /// 铏氭嫙鎵嬫満鍙� + /// </summary> + public string phone = string.Empty; + /// <summary> + /// 铏氭嫙韬唤璇佸彿鐮� + /// </summary> + public string idCard = string.Empty; + /// <summary> + /// 绀惧尯涓婚敭Id + /// </summary> + public string communtiyId = string.Empty; + /// <summary> + /// 涓版灄妤兼爧鍙� + /// </summary> + public string flBuildingId = string.Empty; + /// <summary> + /// 涓版灄妤兼爧鍚嶇О + /// </summary> + public string flBuildingName = string.Empty; + /// <summary> + /// 涓版灄鎴块棿鍚嶇О + /// </summary> + public string flRoomId = string.Empty; + /// <summary> + /// 涓版灄瀹夊叏瀵嗛挜 + /// </summary> + public string flSecretKey = string.Empty; + /// <summary> + /// 涓版灄鐨勫皬鍖篒d + /// </summary> + public string flCmtId = string.Empty; + + } + [Serializable] + public class Call + { + /// <summary> + ///璁板綍涓婚敭Id + /// </summary> + public string id = string.Empty; + /// <summary> + /// 浣忓畢id + /// </summary> + public string homeId = string.Empty; + /// <summary> + /// 鍛煎彨鏃堕棿 + /// </summary> + public string callTime = string.Empty; + /// <summary> + /// 閫氳瘽鏃堕暱 + /// </summary> + public string callDuration = string.Empty; + /// <summary> + /// 鍛煎彨鐘舵�侊紙0锛氭湭鎺ワ紱1锛氬凡鎺ワ紱2锛氭嫆鎺ワ級 + /// </summary> + public string callStatus = string.Empty; + /// <summary> + /// 鏄惁寮�閿� + /// </summary> + public bool isUnlock; + /// <summary> + /// 鎴浘鍦板潃 + /// </summary> + public string screenshotUrl = string.Empty; + /// <summary> + ///涓版灄缁戝畾涓婚敭id锛堥棬鍙f満涓婚敭Id锛� + /// </summary> + public string flBindId = string.Empty; + } + [Serializable] + public class CallView + { + /// <summary> + ///骞� + /// </summary> + public string year = string.Empty; + + public List<Call> callList = new List<Call>(); + + } + [Serializable] + public class FlVideo + { + /// <summary> + /// 璁惧鍚嶇О + /// </summary> + public string aliasName = string.Empty; + /// <summary> + /// 璁惧绫诲瀷锛�(1瀹ゅ唴鏈�,2瀹ゅ鏈猴紝3鍥村鏈猴紝4绠$悊鏈�,5浜屾纭鏈�) + /// </summary> + public string devType = string.Empty; + public string uuid = string.Empty; + } + + } +} -- Gitblit v1.8.0