JLChen
2021-04-01 813aee559e544e6bf7777404612a4712cad184c8
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs
@@ -8,71 +8,77 @@
{
    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 HDL_ON.UI.UI2.FuntionControlView.Video.MainView();
        //                MainPage.BasePageView.AddChidren(mainView);
        //                mainView.Show();
        //                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="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>
        /// <param name="tag">是否要显示log(默认显示tag=true)</param>
        public void GetVideo(Action<VideoClouds> action, FrameLayout frame, bool tag)
        {
            VideoClouds videoObj = null;
            ThreadSend(null, (responsePackNew) =>
            {
                try
                {
                    var str = responsePackNew.Data.ToString();
                    videoObj = Newtonsoft.Json.JsonConvert.DeserializeObject<VideoClouds>(str);
                    action(videoObj);
                }
                catch
                {
                    action(videoObj);
                }
            }, "获取可视对讲", "fram", frame, null, tag);
        }
        /// <summary>
        /// 获取历史通话记录
        /// </summary>
        /// <param name="id"></param>
        public List<CallView> getCall(string id)
        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() != "")
@@ -137,9 +143,8 @@
        /// <param name="frame">log父控件</param>
        /// <param name="dialog">log父控件</param>
        /// <param name="tag">是否要显示log</param>
        public void ThreadSend(VideoClouds videoObj, Action<ResponsePackNew> action, string str, string view, FrameLayout frame, Dialog dialog, bool tag = true)
        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")
@@ -202,10 +207,47 @@
        }
        [Serializable]
        /// <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>
@@ -294,7 +336,7 @@
            /// </summary>
            public string year = string.Empty;
           public List<Call> callList = new List<Call>();
            public List<Call> callList = new List<Call>();
        }
        [Serializable]
@@ -305,7 +347,7 @@
            /// </summary>
            public string aliasName = string.Empty;
            /// <summary>
            /// 设备类型:(1室内机,2室外机,3围墙机,4管理机,5二次确认机)
            /// 设备类型:(1室内机,2室外机,3围墙机,4管理机,5二次确认机)
            /// </summary>
            public string devType = string.Empty;
            public string uuid = string.Empty;