From 9c16d3614d9b88c637f967518a329f239fcd3aaf Mon Sep 17 00:00:00 2001
From: lss <316519258@qq.com>
Date: 星期五, 12 六月 2020 09:22:04 +0800
Subject: [PATCH] 2020.06.12

---
 ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs |  307 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 305 insertions(+), 2 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs
index f6a1ded..6969e15 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs
@@ -11,6 +11,15 @@
     {
         #region 鈻� 鍙橀噺澹版槑___________________________
 
+        /// <summary>
+        /// 0:Bug銆�1:浼樺寲銆�2:鏂伴渶姹�
+        /// </summary>
+        private int typeMode = 0;
+        /// <summary>
+        /// 鎰忚鍙嶉鍓╀綑娆℃暟
+        /// </summary>
+        private int suggestionCount = 3;
+
         #endregion
 
         #region 鈻� 鍒濆鍖朹____________________________
@@ -35,18 +44,312 @@
             //娓呯┖bodyFrame
             this.ClearBodyFrame();
 
+            //鎻愪氦
+            var btnSubmit = new BottomClickButton();
+
             var frameInput = new FrameLayout();
             frameInput.Height = Application.GetRealHeight(576);
             frameInput.BackgroundColor = UserCenterColor.Current.White;
             bodyFrameLayout.AddChidren(frameInput);
 
-            var txtInput = new TextInputControl(bodyFrameLayout.Width - ControlCommonResourse.XXLeft * 2, Application.GetRealHeight(473), false);
+            //瀛楁暟
+            var btnFild = new NormalViewControl(150, 60, true);
+            btnFild.X = frameInput.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(150);
+            btnFild.Y = Application.GetRealHeight(503);
+            btnFild.TextColor = UserCenterColor.Current.TextGrayColor1;
+            btnFild.TextSize = 12;
+            btnFild.Text = "500";
+            btnFild.TextAlignment = TextAlignment.CenterRight;
+            frameInput.AddChidren(btnFild);
+
+            //鎮ㄧ殑鍙嶉鍜屾剰瑙佷細璁╂垜浠彉寰楁洿濂�
+            var txtInput = new EditTextView();
+            txtInput.Width = bodyFrameLayout.Width - ControlCommonResourse.XXLeft * 2;
+            txtInput.Height = Application.GetRealHeight(470);
+            txtInput.Y = Application.GetRealHeight(32);
+            txtInput.TextAlignment = TextAlignment.TopLeft;
+            txtInput.Gravity = Gravity.CenterHorizontal;
+            txtInput.TextColor = UserCenterColor.Current.TextColor1;
+            txtInput.PlaceholderTextColor = UserCenterColor.Current.TextGrayColor1;
+            txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uYouSuggestionMsg);
+            frameInput.AddChidren(txtInput);
+            txtInput.InitIosPlaceholderUILabelWithHeight(Application.GetRealHeight(60));
+            txtInput.TextChangeEventHandler += (sender, txtvalue) =>
+            {
+                if (this.suggestionCount <= 0)
+                {
+                    return;
+                }
+
+                int length = txtvalue.Length;
+                if (length == 0)
+                {
+                    if (btnSubmit.CanClick == true) { btnSubmit.CanClick = false; }
+                }
+                else
+                {
+                    if (btnSubmit.CanClick == false) 
+                    {
+                        //鍙樼伆鑹插瓧浣�
+                        btnFild.TextColor = UserCenterColor.Current.TextGrayColor1;
+                        btnSubmit.CanClick = true;
+                    }
+                }
+                btnFild.Text = (500 - length).ToString();
+
+                if (length > 500)
+                {
+                    if (btnSubmit.CanClick == true) 
+                    { 
+                        btnSubmit.CanClick = false;
+                        //鍙樼孩鑹插瓧浣�
+                        btnFild.TextColor = Common.ZigbeeColor.Current.GXCTextRed;
+                    }
+                }
+            };
 
+            var framType = new FrameLayout();
+            framType.Height = Application.GetRealHeight(150);
+            framType.Y = frameInput.Bottom + Application.GetRealHeight(23);
+            framType.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(framType);
+
+            IconViewControl btnBugIcon = null;
+            IconViewControl btnOptimizationIcon = null;
+            IconViewControl btnDemandIcon = null;
+
+            //鍙嶉绫诲瀷
+            var btnType = new NormalViewControl(220, 60, true);
+            btnType.X = ControlCommonResourse.XXLeft;
+            btnType.Gravity = Gravity.CenterVertical;
+            btnType.TextID = R.MyInternationalizationString.uSuggestionType;
+            framType.AddChidren(btnType);
+            //Bug
+            var frameBug = new FrameLayoutStatuControl();
+            frameBug.UseClickStatu = false;
+            frameBug.Width = Application.GetRealWidth(200);
+            frameBug.X = Application.GetRealWidth(314);
+            framType.AddChidren(frameBug);
+            btnBugIcon = new IconViewControl(58);
+            btnBugIcon.UnSelectedImagePath = "Item/ItemUnSelected.png";
+            btnBugIcon.SelectedImagePath = "Item/ItemSelected.png";
+            btnBugIcon.Gravity = Gravity.CenterVertical;
+            frameBug.AddChidren(btnBugIcon);
+            btnBugIcon.IsSelected = true;
+            var btnBug = new NormalViewControl(140, 60, true);
+            btnBug.X = btnBugIcon.Right + Application.GetRealWidth(12);
+            btnBug.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnBug.Gravity = Gravity.CenterVertical;
+            btnBug.Text = "Bug";
+            frameBug.AddChidren(btnBug);
+            frameBug.ButtonClickEvent += (sender, e) =>
+            {
+                if (btnBugIcon.IsSelected == false)
+                {
+                    btnBugIcon.IsSelected = true;
+                    btnOptimizationIcon.IsSelected = false;
+                    btnDemandIcon.IsSelected = false;
+                    this.typeMode = 0;
+                }
+            };
+            //浼樺寲
+            var frameOptimization = new FrameLayoutStatuControl();
+            frameOptimization.UseClickStatu = false;
+            frameOptimization.Width = Application.GetRealWidth(200);
+            frameOptimization.X = Application.GetRealWidth(524);
+            framType.AddChidren(frameOptimization);
+            btnOptimizationIcon = new IconViewControl(58);
+            btnOptimizationIcon.UnSelectedImagePath = "Item/ItemUnSelected.png";
+            btnOptimizationIcon.SelectedImagePath = "Item/ItemSelected.png";
+            btnOptimizationIcon.Gravity = Gravity.CenterVertical;
+            frameOptimization.AddChidren(btnOptimizationIcon);
+            var btnOptimization = new NormalViewControl(140, 60, true);
+            btnOptimization.X = btnOptimizationIcon.Right + Application.GetRealWidth(12);
+            btnOptimization.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnOptimization.Gravity = Gravity.CenterVertical;
+            btnOptimization.TextID = R.MyInternationalizationString.uOptimization;
+            frameOptimization.AddChidren(btnOptimization);
+            frameOptimization.ButtonClickEvent += (sender, e) =>
+            {
+                if (btnOptimizationIcon.IsSelected == false)
+                {
+                    btnOptimizationIcon.IsSelected = true;
+
+                    btnBugIcon.IsSelected = false;
+                    btnDemandIcon.IsSelected = false;
+                    this.typeMode = 1;
+                }
+            };
+            //鏂伴渶姹�
+            var frameDemand = new FrameLayoutStatuControl();
+            frameDemand.UseClickStatu = false;
+            frameDemand.Width = Application.GetRealWidth(200);
+            frameDemand.X = Application.GetRealWidth(734);
+            framType.AddChidren(frameDemand);
+            btnDemandIcon = new IconViewControl(58);
+            btnDemandIcon.UnSelectedImagePath = "Item/ItemUnSelected.png";
+            btnDemandIcon.SelectedImagePath = "Item/ItemSelected.png";
+            btnDemandIcon.Gravity = Gravity.CenterVertical;
+            frameDemand.AddChidren(btnDemandIcon);
+            var btnDemand = new NormalViewControl(140, 60, true);
+            btnDemand.X = btnDemandIcon.Right + Application.GetRealWidth(12);
+            btnDemand.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnDemand.Gravity = Gravity.CenterVertical;
+            btnDemand.TextID = R.MyInternationalizationString.uNewDemand;
+            frameDemand.AddChidren(btnDemand);
+            frameDemand.ButtonClickEvent += (sender, e) =>
+            {
+                if (btnDemandIcon.IsSelected == false)
+                {
+                    btnDemandIcon.IsSelected = true;
+
+                    btnBugIcon.IsSelected = false;
+                    btnOptimizationIcon.IsSelected = false;
+                    this.typeMode = 2;
+                }
+            };
+
+            var frameEmail = new FrameLayout();
+            frameEmail.Height = Application.GetRealHeight(150);
+            frameEmail.BackgroundColor = UserCenterColor.Current.White;
+            frameEmail.Y = framType.Bottom + Application.GetRealHeight(23);
+            bodyFrameLayout.AddChidren(frameEmail);
+            //鑱旂郴鏂瑰紡
+            var btnContact = new NormalViewControl(220, 60, true);
+            btnContact.X = ControlCommonResourse.XXLeft;
+            btnContact.Gravity = Gravity.CenterVertical;
+            btnContact.TextID = R.MyInternationalizationString.uContactInformation;
+            frameEmail.AddChidren(btnContact);
+            var txtEmail = new TextInputControl(720, 60, true);
+            txtEmail.X = Application.GetRealWidth(314);
+            txtEmail.Gravity = Gravity.CenterVertical;
+            txtEmail.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputYourContactInformation);
+            frameEmail.AddChidren(txtEmail);
+
+            //鎻愪氦
+            btnSubmit.oldBackgroundColor = UserCenterColor.Current.ClickButtonDefultColor;
+            btnSubmit.TextID = R.MyInternationalizationString.uSubmit;
+            bodyFrameLayout.AddChidren(btnSubmit);
+            btnSubmit.CanClick = false;
+            btnSubmit.ButtonClickEvent += (sender, e) =>
+            {
+                //濡傛灉鏄櫄鎷熶綇瀹�,鍒欐鍔熻兘鏃犳晥
+                if (Common.Config.Instance.Home.IsVirtually == true)
+                {
+                    return;
+                }
+                //涓婁紶鎰忚
+                this.UploadSuggestion(txtInput.Text, txtEmail.Text);
+            };
+
+
+            var strFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Common.Config.Instance.Guid, DirNameResourse.SuggestionFile);
+            if (System.IO.File.Exists(strFile) == false)
+            {
+                return;
+            }
+            var data = UserCenterLogic.LoadFileContent(strFile);
+            if (data != null)
+            {
+                var strNowData = DateTime.Now.ToString("yyyyMMdd");
+                if (strNowData != data.Substring(1))
+                {
+                    this.suggestionCount = 3;
+                    return;
+                }
+                //鍓╀綑娆℃暟
+                this.suggestionCount = Convert.ToInt32(data.Substring(0, 1));
+                if (this.suggestionCount <= 1)
+                {
+                    btnSubmit.TextID = R.MyInternationalizationString.uSubmitCountIsOverMsg;
+                }
+            }
         }
 
         #endregion
 
-        #region 鈻� 涓�鑸柟娉昣__________________________
+        #region 鈻� 涓婁紶鎰忚___________________________
+
+        /// <summary>
+        /// 涓婁紶鎰忚
+        /// </summary>
+        /// <param name="strContent"></param>
+        /// <param name="email"></param>
+        private void UploadSuggestion(string strContent, string email)
+        {
+            HdlThreadLogic.Current.RunThread(async() =>
+            {
+                var pra = new
+                {
+                    RequestVersion = Common.CommonPage.RequestVersion,
+                    LoginAccessToken = Common.Config.Instance.Token,
+                    Content = strContent,
+                    OpinionFeedbackType = this.typeMode,
+                    Email = email
+                };
+                var result = await UserCenterLogic.GetResultStatuByRequestHttps("App/AddOpinionFeedback", false, pra);
+                if (result == true)
+                {
+                    //淇濆瓨娆℃暟
+                    this.suggestionCount--;
+                    var strFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Common.Config.Instance.Guid, DirNameResourse.SuggestionFile);
+                    var byteData = System.Text.Encoding.UTF8.GetBytes(this.suggestionCount + DateTime.Now.ToString("yyyyMMdd"));
+                    //鍐欏叆鍐呭
+                    Shared.IO.FileUtils.WriteFileByBytes(strFile, byteData);
+
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        //鏄剧ず鎴愬姛鐨勭晫闈�
+                        this.ShowSuccessMsg();
+                    });
+                }
+            });
+        }
+
+        /// <summary>
+        /// 鏄剧ず鎴愬姛鐨勭晫闈�
+        /// </summary>
+        private void ShowSuccessMsg()
+        {
+            var frameBack = new FrameLayout();
+            frameBack.BackgroundColor = 0x80000000;
+            this.AddChidren(frameBack);
+
+            var frameMsg = new FrameLayout();
+            frameMsg.BackgroundColor = UserCenterColor.Current.White;
+            frameMsg.Width = Application.GetRealWidth(622);
+            frameMsg.Height = Application.GetRealHeight(317);
+            frameMsg.Radius = (uint)Application.GetRealHeight(17);
+            frameMsg.Gravity = Gravity.CenterHorizontal;
+            frameMsg.Y = Application.GetRealHeight(792);
+            frameBack.AddChidren(frameMsg);
+
+            //鎻愮ず
+            var btnTitle = new NormalViewControl(492, 65, true);
+            btnTitle.Y = Application.GetRealHeight(68);
+            btnTitle.Gravity = Gravity.CenterHorizontal;
+            btnTitle.TextID = R.MyInternationalizationString.NormalTip;
+            btnTitle.TextAlignment = TextAlignment.Center;
+            btnTitle.TextColor = 0xFF333443;
+            frameMsg.AddChidren(btnTitle);
+
+            //鎮ㄧ殑鍙嶉宸叉垚鍔熸彁浜�
+            var btnSuccess = new NormalViewControl(frameMsg.Width, Application.GetRealHeight(60), false);
+            btnSuccess.Y = Application.GetRealHeight(166);
+            btnSuccess.TextAlignment = TextAlignment.Center;
+            btnSuccess.TextColor = UserCenterColor.Current.TextGrayColor1;
+            btnSuccess.TextID = R.MyInternationalizationString.uSubmitSuccessMsg;
+            frameMsg.AddChidren(btnSuccess);
+
+            HdlThreadLogic.Current.RunThread(() =>
+            {
+                System.Threading.Thread.Sleep(2000);
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    this.CloseForm();
+                });
+            });
+        }
 
         #endregion
     }

--
Gitblit v1.8.0