| | |
| | | {
|
| | | #region ■ 变量声明___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 0:Bug、1:优化、2:新需求
|
| | | /// </summary>
|
| | | private int typeMode = 0;
|
| | | /// <summary>
|
| | | /// 意见反馈剩余次数
|
| | | /// </summary>
|
| | | private int suggestionCount = 3;
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 初始化_____________________________
|
| | |
| | | //清空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(120, 60, true);
|
| | | btnFild.X = frameInput.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(80);
|
| | | 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 TextInputControl(bodyFrameLayout.Width - ControlCommonResourse.XXLeft * 2, Application.GetRealHeight(470), false); |
| | | txtInput.Y = Application.GetRealHeight(32);
|
| | | txtInput.TextAlignment = TextAlignment.TopLeft;
|
| | | txtInput.Gravity = Gravity.CenterHorizontal;
|
| | | txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uYouSuggestionMsg);
|
| | | frameInput.AddChidren(txtInput);
|
| | | txtInput.TextChangeEventHandler += (sender, txtvalue) =>
|
| | | {
|
| | | if (this.suggestionCount <= 0)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | int length = txtvalue.Length;
|
| | | if (length > 500)
|
| | | {
|
| | | if (btnSubmit.CanClick == true) { btnSubmit.CanClick = false; }
|
| | | btnFild.Text = "0";
|
| | | return;
|
| | | }
|
| | | if (length == 0)
|
| | | {
|
| | | if (btnSubmit.CanClick == true) { btnSubmit.CanClick = false; }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (btnSubmit.CanClick == false) { btnSubmit.CanClick = true; }
|
| | | }
|
| | | btnFild.Text = (500 - length).ToString();
|
| | | };
|
| | | |
| | | 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 FrameLayoutControl();
|
| | | 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 FrameLayoutControl();
|
| | | 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 FrameLayoutControl();
|
| | | 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 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);
|
| | | txtEmail.X = Application.GetRealWidth(314);
|
| | | txtEmail.Gravity = Gravity.CenterVertical;
|
| | | txtEmail.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputYouEmailAddress);
|
| | | frameEmail.AddChidren(txtEmail);
|
| | |
|
| | | //提交
|
| | | btnSubmit.oldBackgroundColor = UserCenterColor.Current.ClickButtonDefultColor;
|
| | | btnSubmit.TextID = R.MyInternationalizationString.uSubmit;
|
| | | bodyFrameLayout.AddChidren(btnSubmit);
|
| | | btnSubmit.CanClick = false;
|
| | | btnSubmit.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //上传意见
|
| | | 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.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSubmitSuccessMsg));
|
| | | //关闭界面
|
| | | this.CloseForm();
|
| | | });
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | #endregion
|
| | | }
|