using System; using System.Collections.Generic; using System.Text; namespace Shared.Phone.UserCenter.Suggestion { /// /// 意见反馈的界面 /// public class FeedbackForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 0:Bug、1:优化、2:新需求 /// private int typeMode = 0; /// /// 意见反馈剩余次数 /// private int suggestionCount = 3; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// public void ShowForm() { //设置头部信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.Suggestions)); //初始化中部信息 this.InitMiddleFrame(); } /// /// 初始化中部信息 /// private void InitMiddleFrame() { //清空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 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 ■ 上传意见___________________________ /// /// 上传意见 /// /// /// private void UploadSuggestion(string strContent, string email) { HdlThreadLogic.Current.RunThread(() => { var pra = new { RequestVersion = Common.CommonPage.RequestVersion, LoginAccessToken = Common.Config.Instance.Token, Content = strContent, OpinionFeedbackType = this.typeMode, Email = email }; var result = 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(); }); } }); } /// /// 显示成功的界面 /// 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 } }