using System; using System.Collections.Generic; using System.Text; namespace Shared.Phone { /// /// 账号设置信息 /// public class AccountOptionClass { #region ■ 变量声明___________________________ /// /// 是否使用指纹验证 /// public bool FingerprintAuthentication = false; /// /// 密码验证 /// public string PswAuthentication = string.Empty; /// /// 手势验证 /// public string GestureAuthentication = string.Empty; /// /// 是否使用远程开锁 /// public bool DoorUnLockByRemote = false; /// /// 密码剩余可输入次数 /// [Newtonsoft.Json.JsonIgnore] public int PasswordInputCount = 3; /// /// 手势密码剩余可输入次数 /// [Newtonsoft.Json.JsonIgnore] public int PasswordGestureInputCount = 5; /// /// 检测APP是否能够退出 /// [Newtonsoft.Json.JsonIgnore] public bool AppCanSignout = false; #endregion #region ■ 一般方法___________________________ /// /// 保存 /// public void Save() { try { //加密密码 string hdlKey = "hD1(La3o"; string oldPswAuthentication = PswAuthentication; PswAuthentication = HdlCommonLogic.Current.EncryptPassword(hdlKey, oldPswAuthentication); string oldGestureAuthentication = GestureAuthentication; GestureAuthentication = HdlCommonLogic.Current.EncryptPassword(hdlKey, oldGestureAuthentication); //写入内容 HdlFileLogic.Current.SaveFileContent(HdlFileNameResourse.AccountOptionFile, this); //还原明码 PswAuthentication = oldPswAuthentication; GestureAuthentication = oldGestureAuthentication; } catch (Exception ex) { HdlLogLogic.Current.WriteLog(ex); } } /// /// 加载数据 /// /// public AccountOptionClass Load() { string fileName = HdlFileNameResourse.AccountOptionFile; if (System.IO.File.Exists(fileName) == false) { return new AccountOptionClass(); } try { var varByte = HdlFileLogic.Current.ReadFileByteContent(fileName); string strValue = System.Text.Encoding.UTF8.GetString(varByte); var info = Newtonsoft.Json.JsonConvert.DeserializeObject(strValue); //解密密码 string hdlKey = "hD1(La3o"; info.PswAuthentication = HdlCommonLogic.Current.DecryptPassword(hdlKey, info.PswAuthentication); info.GestureAuthentication = HdlCommonLogic.Current.DecryptPassword(hdlKey, info.GestureAuthentication); return info; } catch (Exception ex) { HdlLogLogic.Current.WriteLog(ex); return new AccountOptionClass(); } } /// /// 重置密码剩余次数 /// public void ResetPasswordCount() { this.PasswordInputCount = 3; this.PasswordGestureInputCount = 5; } #endregion } }