From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs | 171 +++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 113 insertions(+), 58 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs index 39e8883..f8fae21 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs @@ -12,9 +12,9 @@ #region 鈻� 鍙橀噺澹版槑___________________________ /// <summary> - /// 0:Bug銆�1:浼樺寲銆�2:鏂伴渶姹� + /// 1:BUG銆�2:浼樺寲(OPTIMIZE)銆�3:鏂伴渶姹�(REQUIRE) /// </summary> - private int typeMode = 0; + private string typeMode = string.Empty; /// <summary> /// 鎰忚鍙嶉鍓╀綑娆℃暟 /// </summary> @@ -53,8 +53,8 @@ bodyFrameLayout.AddChidren(frameInput); //瀛楁暟 - var btnFild = new NormalViewControl(120, 60, true); - btnFild.X = frameInput.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(80); + var btnFild = new NormalViewControl(150, 60, true); + btnFild.X = frameInput.Width - HdlControlResourse.XXLeft - Application.GetRealWidth(150); btnFild.Y = Application.GetRealHeight(503); btnFild.TextColor = UserCenterColor.Current.TextGrayColor1; btnFild.TextSize = 12; @@ -63,36 +63,55 @@ frameInput.AddChidren(btnFild); //鎮ㄧ殑鍙嶉鍜屾剰瑙佷細璁╂垜浠彉寰楁洿濂� - var txtInput = new TextInputControl(bodyFrameLayout.Width - ControlCommonResourse.XXLeft * 2, Application.GetRealHeight(470), false); + var txtInput = new EditTextView(); + txtInput.Width = bodyFrameLayout.Width - HdlControlResourse.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.TextChangeEventHandler += (sender, txtvalue) => + txtInput.InitIosPlaceholderUILabelWithHeight(Application.GetRealHeight(60)); + //杈撳叆鍊兼敼鍙樹簨浠� + Action<View, string> txtInputChangedEvent = (sender, txtValue) => { if (this.suggestionCount <= 0) { return; } - int length = txtvalue.Length; - if (length > 500) + var newValue = txtValue; + //濡傛灉杈撳叆鐨勫��,宸茬粡澶т簬鎸囧畾鐨勬暟,鍒欐埅鍙� + if (newValue.Length > 500) { - if (btnSubmit.CanClick == true) { btnSubmit.CanClick = false; } - btnFild.Text = "0"; - return; + //鎴彇鎸囧畾鐨刡yte瀛楄妭 + newValue = newValue.Substring(0, 500); + txtInput.Text = newValue; + //灏嗗厜鏍囪嚦浜庢渶鍚� +#if Android + txtInput.SetSelectionEnd(); +#endif } + + int length = newValue.Length; if (length == 0) { if (btnSubmit.CanClick == true) { btnSubmit.CanClick = false; } } else { - if (btnSubmit.CanClick == false) { btnSubmit.CanClick = true; } + if (btnSubmit.CanClick == false) + { + //鍙樼伆鑹插瓧浣� + btnFild.TextColor = UserCenterColor.Current.TextGrayColor1; + btnSubmit.CanClick = true; + } } btnFild.Text = (500 - length).ToString(); }; + txtInput.TextChangeEventHandler += txtInputChangedEvent; var framType = new FrameLayout(); framType.Height = Application.GetRealHeight(150); @@ -106,12 +125,12 @@ //鍙嶉绫诲瀷 var btnType = new NormalViewControl(220, 60, true); - btnType.X = ControlCommonResourse.XXLeft; + btnType.X = HdlControlResourse.XXLeft; btnType.Gravity = Gravity.CenterVertical; btnType.TextID = R.MyInternationalizationString.uSuggestionType; framType.AddChidren(btnType); //Bug - var frameBug = new FrameLayoutControl(); + var frameBug = new FrameLayoutStatuControl(); frameBug.UseClickStatu = false; frameBug.Width = Application.GetRealWidth(200); frameBug.X = Application.GetRealWidth(314); @@ -135,11 +154,11 @@ btnBugIcon.IsSelected = true; btnOptimizationIcon.IsSelected = false; btnDemandIcon.IsSelected = false; - this.typeMode = 0; + this.typeMode = "BUG"; } }; //浼樺寲 - var frameOptimization = new FrameLayoutControl(); + var frameOptimization = new FrameLayoutStatuControl(); frameOptimization.UseClickStatu = false; frameOptimization.Width = Application.GetRealWidth(200); frameOptimization.X = Application.GetRealWidth(524); @@ -163,11 +182,11 @@ btnBugIcon.IsSelected = false; btnDemandIcon.IsSelected = false; - this.typeMode = 1; + this.typeMode = "OPTIMIZE"; } }; //鏂伴渶姹� - var frameDemand = new FrameLayoutControl(); + var frameDemand = new FrameLayoutStatuControl(); frameDemand.UseClickStatu = false; frameDemand.Width = Application.GetRealWidth(200); frameDemand.X = Application.GetRealWidth(734); @@ -191,7 +210,7 @@ btnBugIcon.IsSelected = false; btnOptimizationIcon.IsSelected = false; - this.typeMode = 2; + this.typeMode = "REQUIRE"; } }; @@ -200,16 +219,16 @@ frameEmail.BackgroundColor = UserCenterColor.Current.White; frameEmail.Y = framType.Bottom + Application.GetRealHeight(23); bodyFrameLayout.AddChidren(frameEmail); - //閭鍦板潃 - var btnEmail = new NormalViewControl(220, 60, true); - btnEmail.X = ControlCommonResourse.XXLeft; - btnEmail.Gravity = Gravity.CenterVertical; - btnEmail.TextID = R.MyInternationalizationString.uEmailAddress; - frameEmail.AddChidren(btnEmail); - var txtEmail = new TextInputControl(500, 60, true); + //鑱旂郴鏂瑰紡 + var btnContact = new NormalViewControl(220, 60, true); + btnContact.X = HdlControlResourse.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.uPleaseInputYouEmailAddress); + txtEmail.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputYourContactInformation); frameEmail.AddChidren(txtEmail); //鎻愪氦 @@ -219,17 +238,16 @@ 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); + var data = HdlFileLogic.Current.ReadFileTextContent(HdlFileNameResourse.SuggestionFile); if (data != null) { var strNowData = DateTime.Now.ToString("yyyyMMdd"); @@ -258,33 +276,70 @@ /// <param name="email"></param> private void UploadSuggestion(string strContent, string email) { - HdlThreadLogic.Current.RunThread(async() => + HdlThreadLogic.Current.RunThread(() => { - var pra = new + var pra = new { contactWay = email, content = strContent, feedbackType = this.typeMode }; + var result = HdlHttpLogic.Current.RequestResponseFromZigbeeHttps("home-wisdom/app/feedback/add", RestSharp.Method.POST, pra); + //妫�娴嬬姸鎬佺爜 + if (HdlCheckLogic.Current.CheckNetCode(result, ShowNetCodeMode.YES) == false) { - 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.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSubmitSuccessMsg)); - //鍏抽棴鐣岄潰 - this.CloseForm(); - }); + return; } + //淇濆瓨娆℃暟 + this.suggestionCount--; + //鍐欏叆鍐呭 + HdlFileLogic.Current.SaveTextToFile(HdlFileNameResourse.SuggestionFile, this.suggestionCount + DateTime.Now.ToString("yyyyMMdd")); + + 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(); + }); }); } -- Gitblit v1.8.0