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
}
}