wxr
2021-07-01 43b0d5870d528f23ecd6aeceb6cfd4325188b46f
HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/FunctionIntroductionPage.cs
@@ -1,6 +1,9 @@
using System;
using Shared;
using HDL_ON.UI.CSS;
using System.Collections.Generic;
using System.Threading;
using HDL_ON.DAL.Server;
namespace HDL_ON.UI
{
@@ -18,12 +21,26 @@
        /// 当前
        /// </summary>
        VerticalScrolViewLayout bodyScrolView;
        /// <summary>
        /// 内容为空提示View
        /// </summary>
        FrameLayout emptyTipView;
        /// <summary>
        /// 功能介绍List
        /// </summary>
        List<APPFunctionURLInfo> functionURLInfoList = new List<APPFunctionURLInfo>();
        /// <summary>
        ///
        /// </summary>
        public FunctionIntroductionPage()
        {
            bodyView = this;
        }
        /// <summary>
        ///
        /// </summary>
        public void LoadPage()
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.FunctionIntroduced)).LoadTopView();
@@ -37,7 +54,9 @@
            };
            bodyView.AddChidren(bodyScrolView);
            AddEmptyTipView();
            //AddEmptyTipView();
            //
            GetFunctionIntroductionList();
        }
        /// <summary>
@@ -45,20 +64,235 @@
        /// </summary>
        void AddEmptyTipView()
        {
            //int bodyY = Application.GetRealHeight(64);
            //emptyTipFrameLayout = new FrameLayout()
            //{
            //    Y = bodyY,
            //    Height = bodyView.Height - bodyY,
            //    BackgroundColor = CSS_Color.MainBackgroundColor,
            //};
            //bodyView.AddChidren(emptyTipFrameLayout);
            emptyTipView = new FrameLayout()
            {
                Height = bodyScrolView.Height,
                Width = bodyScrolView.Width,
            };
            bodyScrolView.AddChidren(emptyTipView);
            var emptyTipView = new EmptyTipView()
            var tipView = new EmptyTipView()
            {
                Gravity = Gravity.Center
            };
            bodyView.AddChidren(emptyTipView);
            emptyTipView.AddChidren(tipView);
        }
        /// <summary>
        /// 加载功能介绍列表查询
        /// </summary>
        /// <param name="VerticalScrolViewMiddle"></param>
        void AddRowView(VerticalScrolViewLayout VerticalScrolViewMiddle, APPFunctionURLInfo functionInfo)
        {
            var rowView = new FrameLayout()
            {
                Height = Application.GetRealWidth(54),
            };
            VerticalScrolViewMiddle.AddChidren(rowView);
            //标题
            var btnTilte = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealWidth(8),
                Width = Application.GetRealWidth(320),
                Height = Application.GetRealWidth(20),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
                Text = functionInfo.Title
            };
            rowView.AddChidren(btnTilte);
            //副标题
            var btnSubtitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = btnTilte.Bottom + Application.GetRealWidth(4),
                Width = Application.GetRealWidth(320),
                Height = Application.GetRealWidth(14),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.PromptingColor1,
                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                //Text = functionInfo.CreateTime
            };
            rowView.AddChidren(btnSubtitle);
            var btnGo = new Button()
            {
                X = Application.GetRealWidth(343),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetRealWidth(16),
                Height = Application.GetRealWidth(16),
                UnSelectedImagePath = "Public/Right.png",
            };
            rowView.AddChidren(btnGo);
            var lineView = new LineView(rowView.Height);
            rowView.AddChidren(lineView);
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                new WebViewDialog().LoadPage(functionInfo.Title, functionInfo.Url);
            };
            btnTilte.MouseUpEventHandler = eventHandler;
            btnSubtitle.MouseUpEventHandler = eventHandler;
            btnGo.MouseUpEventHandler = eventHandler;
            if (Language.CurrentLanguage == "Chinese")
            {
                btnSubtitle.Text = Utlis.UnixToDateTimeWithFormatMS(functionInfo.CreateTime, "MM月dd日");
            }
            else
            {
                btnSubtitle.Text = Utlis.UnixToDateTimeWithFormatMS(functionInfo.CreateTime, "MM/dd");
            }
        }
        /// <summary>
        /// 功能介绍列表查询
        /// </summary>
        void GetFunctionIntroductionList()
        {
            bodyScrolView.RemoveAll();
            if (functionURLInfoList == null)
            {
                functionURLInfoList = new List<APPFunctionURLInfo>();
            }
            else
            {
                functionURLInfoList.Clear();
            }
            var waitPage = new Loading();
            bodyView.AddChidren(waitPage);
            waitPage.Start(Language.StringByID(StringId.PleaseWait));
            new Thread(() =>
            {
                try
                {
                    Dictionary<string, object> AppName = new Dictionary<string, object>();
                    //ON_Plus 2
                    AppName.Add("appName", 2);
                    AppName.Add("languages", Utlis.GetPostLanguageType());
                    var requestJson = HttpUtil.GetSignRequestJson(AppName);
                    var result = HttpUtil.RequestHttpsPost(NewAPI.API_POST_FunctionIntroductionList, requestJson);
                    if (result.Code == StateCode.SUCCESS)
                    {
                        functionURLInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<APPFunctionURLInfo>>(result.Data.ToString());
                        Application.RunOnMainThread(() =>
                        {
                            if (functionURLInfoList != null && functionURLInfoList.Count > 0)
                            {
                                //加载刷新List
                                LoadAPPFunctionURLInfoView(functionURLInfoList);
                            }
                            else
                            {
                                AddEmptyTipView();
                            }
                        });
                    }
                    else
                    {
                        Application.RunOnMainThread(() =>
                        {
                            AddEmptyTipView();
                        });
                        IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
                    }
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (waitPage != null)
                        {
                            waitPage.RemoveFromParent();
                            waitPage = null;
                        }
                    });
                }
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        /// 加载功能介绍CellView
        /// </summary>
        void LoadAPPFunctionURLInfoView(List<APPFunctionURLInfo> mList)
        {
            foreach (var info in mList)
            {
                AddRowView(bodyScrolView, info);
            }
        }
        //#region 测试
        //List<APPFunctionURLInfo> list = new List<APPFunctionURLInfo>();
        ///// <summary>
        /////
        ///// </summary>
        //void TestLoad()
        //{
        //    list.Add(new APPFunctionURLInfo()
        //    {
        //        Title = "HDL ON PRO 1.0.10 主要更新",
        //        CreateTime = "11月26",
        //        Url = Constant.URL_PRIVACYPOLICY,
        //    });
        //    list.Add(new APPFunctionURLInfo()
        //    {
        //        Title = "HDL ON PRO 1.0.09 主要更新",
        //        CreateTime = "10月26",
        //        Url = Constant.URL_PRIVACYPOLICY,
        //    });
        //    list.Add(new APPFunctionURLInfo()
        //    {
        //        Title = "HDL ON PRO 1.0.08 主要更新",
        //        CreateTime = "09月26",
        //        Url = Constant.URL_PRIVACYPOLICY,
        //    });
        //    foreach (var info in list)
        //    {
        //        AddRowView(bodyScrolView, info);
        //    }
        //}
        //#endregion
    }
    /// <summary>
    /// 功能介绍网页信息
    /// </summary>
    [System.Serializable]
    public class APPFunctionURLInfo
    {
        /// <summary>
        /// 功能介绍标题
        /// </summary>
        public string Title;
        /// <summary>
        /// 功能介绍发布事件
        /// </summary>
        public long CreateTime;
        /// <summary>
        /// 功能介绍对应的HTML地址
        /// </summary>
        public string Url;
    }
}