using System;
|
using Shared;
|
using HDL_ON.UI.CSS;
|
using Xamarin.Essentials;
|
using HDL_ON.DAL.Server;
|
|
namespace HDL_ON.UI
|
{
|
public class CancelAccountPage : FrameLayout
|
{
|
/// <summary>
|
///
|
/// </summary>
|
FrameLayout bodyView;
|
|
/// <summary>
|
///
|
/// </summary>
|
public CancelAccountPage()
|
{
|
bodyView = this;
|
BackgroundColor = CSS_Color.MainBackgroundColor;
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
public void LoadPage() {
|
var loading = new Loading();
|
this.AddChidren(loading);
|
loading.Start("");
|
new System.Threading.Thread(() => {
|
try
|
{
|
var pack = new HttpServerRequest().GetUnregisterModel();
|
if (pack.Code == StateCode.SUCCESS)
|
{
|
var data = Newtonsoft.Json.JsonConvert.DeserializeObject<UMode>(pack.Data.ToString());
|
Application.RunOnMainThread(() =>
|
{
|
if (data != null)
|
{
|
if (data.model == "APP")
|
{
|
InitView_PreRelease();
|
}
|
else
|
{
|
InitView_Release();
|
}
|
}
|
else
|
{
|
InitView_PreRelease();
|
}
|
});
|
}
|
else
|
{
|
Application.RunOnMainThread(() =>
|
{
|
InitView_PreRelease();
|
});
|
}
|
}
|
catch
|
{
|
Application.RunOnMainThread(() =>
|
{
|
InitView_PreRelease();
|
});
|
}
|
finally
|
{
|
Application.RunOnMainThread(() =>
|
{
|
if (loading != null)
|
{
|
loading.Hide();
|
loading.RemoveFromParent();
|
loading = null;
|
}
|
});
|
}
|
}) { IsBackground = true }.Start();
|
}
|
|
public void InitView_PreRelease()
|
{
|
new TopViewDiv(bodyView, Language.StringByID(StringId.CancelAccount)).LoadTopView(CSS_Color.MainBackgroundColor);
|
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
|
|
var textView = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(64 + 16),
|
Height = Application.GetRealHeight(90),
|
Width = Application.GetRealWidth(343),
|
Padding = new Padding(Application.GetRealWidth(16), Application.GetRealWidth(16), Application.GetRealWidth(16), Application.GetRealWidth(16)),
|
IsMoreLines = true,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextAlignment = TextAlignment.TopLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
Radius = (uint)Application.GetRealHeight(14),
|
BackgroundColor = 0x174484F4,
|
};
|
|
if (Language.CurrentLanguage == "Chinese")
|
{
|
textView.Text = "*注销账户是不可恢复的操作,注销账户之后,您App所有账户数据(包括昵称、头像、二维码照片等)都会被删除,且无法再找回。";
|
}
|
else
|
{
|
textView.Text = "*Account cancellation is an irreversible operation. After account cancellation, all account data (including nickname, avatar, QR code photo, etc.) of your app will be deleted and cannot be retrieved.";
|
}
|
bodyView.AddChidren(textView);
|
|
|
#region 账号填写
|
var accountView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(132 + 50),
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(50),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealHeight(25),
|
};
|
bodyView.AddChidren(accountView);
|
|
var etAccount = new EditText()
|
{
|
X = Application.GetRealWidth(58),
|
Width = Application.GetRealWidth(343 - 68),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
PlaceholderTextColor = CSS_Color.PromptingColor1,
|
PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber),
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
accountView.AddChidren(etAccount);
|
|
var btnAccountIcon = new Button()
|
{
|
X = Application.GetRealWidth(26),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(20),
|
Height = Application.GetMinRealAverage(20),
|
UnSelectedImagePath = "LoginIcon/AccountIcon.png",
|
};
|
accountView.AddChidren(btnAccountIcon);
|
|
#endregion
|
|
#region 密码填写
|
var passwordView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(211 + 40),
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(50),
|
Radius = (uint)Application.GetRealHeight(25),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
bodyView.AddChidren(passwordView);
|
|
|
var btnPasswordIcon = new Button()
|
{
|
X = Application.GetRealWidth(26),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(20),
|
Height = Application.GetMinRealAverage(20),
|
UnSelectedImagePath = "LoginIcon/PasswordIcon.png",
|
};
|
passwordView.AddChidren(btnPasswordIcon);
|
|
var etPassword = new EditText()
|
{
|
X = Application.GetRealWidth(58),
|
Width = Application.GetRealWidth(343 - 68),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
PlaceholderTextColor = CSS_Color.PromptingColor1,
|
PlaceholderText = Language.StringByID(StringId.PlsEntryPassword),
|
SecureTextEntry = true,
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
passwordView.AddChidren(etPassword);
|
|
|
#endregion
|
|
|
|
var btnLogin = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(403),
|
Width = Application.GetRealWidth(220),
|
Height = Application.GetRealWidth(44),
|
Radius = (uint)Application.GetRealWidth(22),
|
SelectedBackgroundColor = CSS_Color.MainColor,
|
BackgroundColor = CSS_Color.PromptingColor1,
|
TextID = StringId.Cancellation,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextColor = CSS_Color.MainBackgroundColor,
|
TextAlignment = TextAlignment.Center,
|
};
|
bodyView.AddChidren(btnLogin);
|
|
string account = "";
|
etAccount.TextChangeEventHandler = (sender, e) =>
|
{
|
account = etAccount.Text.Trim();
|
if (account.Length > 0 && etPassword.Text.Trim().Length > 0)
|
{
|
btnLogin.IsSelected = true;
|
}
|
else
|
{
|
btnLogin.IsSelected = false;
|
}
|
};
|
etPassword.TextChangeEventHandler += (sender, e) =>
|
{
|
if (etAccount.Text.Trim().Length > 0 && etPassword.Text.Trim().Length > 0)
|
{
|
btnLogin.IsSelected = true;
|
}
|
else
|
{
|
btnLogin.IsSelected = false;
|
}
|
};
|
|
btnLogin.MouseUpEventHandler = (sender,e) =>{
|
if (btnLogin.IsSelected)
|
{
|
var tipMsg = "*您当前正在注销账户,注销完成后,您在On Pro App的所有数据均会被删除,请谨慎操作。";
|
Action action = () => {
|
var loading = new Loading();
|
this.AddChidren(loading);
|
loading.Start("");
|
var pwd = etPassword.Text.Trim();
|
new System.Threading.Thread(() => {
|
try
|
{
|
var pack = new HttpServerRequest().Unregister(pwd);
|
Application.RunOnMainThread(() =>
|
{
|
if (pack.Code == StateCode.SUCCESS)
|
{
|
//Action okAction = () =>
|
//{
|
HDLCommon.Current.Logout();
|
//};
|
//new ConfirmDialog().ShowDialog(StringId.Tip, StringId.IfConfirmLogout, okAction);
|
}
|
else
|
{
|
var tip = new Tip()
|
{
|
Text = pack.message,
|
CloseTime = 3,
|
Direction = AMPopTipDirection.None
|
};
|
tip.Show(bodyView);
|
}
|
});
|
}
|
catch
|
{
|
}
|
finally
|
{
|
Application.RunOnMainThread(() =>
|
{
|
if (loading != null)
|
{
|
loading.Hide();
|
loading.RemoveFromParent();
|
loading = null;
|
}
|
});
|
}
|
})
|
{ IsBackground = true }.Start();
|
|
|
};
|
new PublicAssmebly().TipOptionMsg(StringId.CancelAccount, tipMsg, action, 20);
|
|
}
|
};
|
|
}
|
public void InitView_Release()
|
{
|
new TopViewDiv(bodyView, Language.StringByID(StringId.CancelAccount)).LoadTopView();
|
|
var textView = new Button()
|
{
|
Y = Application.GetRealHeight(64),
|
Height = Application.GetRealHeight(150),
|
Padding = new Padding( Application.GetRealWidth(16), Application.GetRealWidth(16), Application.GetRealWidth(16), Application.GetRealWidth(16)),
|
IsMoreLines = true,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextAlignment = TextAlignment.TopLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
};
|
|
if(Language.CurrentLanguage == "Chinese")
|
{
|
textView.Text = "您可通过电话专线与电子邮件的形式向我们申请注销账户,我们收到您的申请后,会第一时间安排工程人员对您App应用账户数据、以及智能家居智能硬件本地数据全部删除!";
|
}
|
else
|
{
|
textView.Text = "You can apply to us for cancellation of your account through special telephone line and e-mail. After receiving your application, we will arrange engineers to delete all your app account data and local data of smart home smart hardware at the first time!";
|
}
|
bodyView.AddChidren(textView);
|
|
#region 投诉联系
|
FrameLayout phoneRow = new FrameLayout()
|
{
|
Y = Application.GetRealHeight(214),
|
Height = Application.GetRealWidth(50),
|
};
|
bodyView.AddChidren(phoneRow);
|
|
Button btnPhoneTitle = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(48),
|
TextID = StringId.Telephone,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
};
|
phoneRow.AddChidren(btnPhoneTitle);
|
if (Language.CurrentLanguage == "English")
|
{
|
btnPhoneTitle.Text = "Tel.:";
|
}
|
|
Button btnPhoneText = new Button()
|
{
|
X = btnPhoneTitle.Right,
|
Width = Application.GetRealWidth(266),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
Text = "400 855 8535",
|
};
|
phoneRow.AddChidren(btnPhoneText);
|
/// <summary>
|
/// 前进图标
|
/// </summary>
|
var btnImage = new Button()
|
{
|
X = Application.GetRealWidth(343),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetRealWidth(16),
|
Height = Application.GetRealWidth(16),
|
UnSelectedImagePath = "Public/Right.png",
|
};
|
phoneRow.AddChidren(btnImage);
|
phoneRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Y = Application.GetRealWidth(49), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
|
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
PhoneDialer.Open(Constant.SUPPORT_TELEPHONENUMBER);
|
};
|
|
phoneRow.MouseUpEventHandler = eventHandler;
|
btnPhoneText.MouseUpEventHandler = eventHandler;
|
btnImage.MouseUpEventHandler = eventHandler;
|
#endregion
|
|
#region 联系邮箱
|
FrameLayout emailRow = new FrameLayout()
|
{
|
Y = phoneRow.Bottom,
|
Height = Application.GetRealWidth(54),
|
};
|
bodyView.AddChidren(emailRow);
|
|
Button btnEmailTitle = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(48),
|
TextID = StringId.Email_,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
};
|
emailRow.AddChidren(btnEmailTitle);
|
|
Button btnEmailText = new Button()
|
{
|
X = btnEmailTitle.Right,
|
Y = Application.GetRealWidth(8),
|
Height = Application.GetRealWidth(20),
|
Width = Application.GetRealWidth(266),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
Text = Constant.SUPPORT_EMAIL,
|
};
|
emailRow.AddChidren(btnEmailText);
|
|
Button btnEmailTipText = new Button()
|
{
|
X = btnEmailTitle.Right,
|
Y = btnEmailText.Bottom + Application.GetRealWidth(4),
|
Height = Application.GetRealWidth(25),
|
Width = Application.GetRealWidth(266),
|
TextAlignment = TextAlignment.TopLeft,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
TextColor = CSS_Color.PromptingColor1,
|
TextID = StringId.WillGivePriorityToTheTreatmen,
|
};
|
emailRow.AddChidren(btnEmailTipText);
|
|
if (Language.CurrentLanguage == "English")
|
{
|
btnEmailTitle.Width = Application.GetRealWidth(80);
|
emailRow.Height = Application.GetRealWidth(65);
|
btnEmailTipText.IsMoreLines = true;
|
}
|
|
/// <summary>
|
/// 前进图标
|
/// </summary>
|
var btnImage2 = new Button()
|
{
|
X = Application.GetRealWidth(343),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetRealWidth(16),
|
Height = Application.GetRealWidth(16),
|
UnSelectedImagePath = "Public/Right.png",
|
};
|
emailRow.AddChidren(btnImage2);
|
|
emailRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Y = emailRow.Height - Application.GetRealHeight(1), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
|
|
EventHandler<MouseEventArgs> eventHandler2 = (sender, e) =>
|
{
|
CopyToClipboard(Constant.SUPPORT_EMAIL);
|
};
|
|
emailRow.MouseUpEventHandler = eventHandler2;
|
btnEmailText.MouseUpEventHandler = eventHandler2;
|
btnImage2.MouseUpEventHandler = eventHandler2;
|
#endregion
|
}
|
|
|
|
/// <summary>
|
/// 复制到剪切板
|
/// </summary>
|
/// <param name="text"></param>
|
void CopyToClipboard(string text)
|
{
|
Clipboard.SetTextAsync(text);
|
Utlis.ShowTip(text + "\n" + Language.StringByID(StringId.CopySuccess));
|
}
|
|
|
bool isPublishingMode()
|
{
|
DAL.Server.HttpServerRequest http = new DAL.Server.HttpServerRequest();
|
|
return true;
|
}
|
|
}
|
|
class UMode
|
{
|
public string appCode;
|
public string version;
|
public string releaseSystem;
|
/// <summary>
|
/// APP :用户在app上自助注销
|
/// APPLY : 用户发邮件给公司申请注销
|
/// </summary>
|
public string model;
|
}
|
|
}
|