Exemple #1
0
        /// <summary>
        /// 检查记住的用户。
        /// </summary>
        private void CheckRememberUser()
        {
            try
            {
                string userDataFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER, $"user.dat");

                if (File.Exists(userDataFile))
                {
                    using (StreamReader streamReader = new StreamReader(userDataFile))
                    {
                        string userEncoded = streamReader.ReadToEnd();
                        if (!String.IsNullOrEmpty(userEncoded))
                        {
                            string        userData      = Base64Provider.AESDecrypt(userEncoded, Base64Provider.KEY, Base64Provider.IV);
                            UserDataModel userDataModel = userData.FromJsonTo <UserDataModel>();
                            if (!String.IsNullOrEmpty(userDataModel?.Phone))
                            {
                                PhoneNum = userDataModel?.Phone;
                                if (!String.IsNullOrEmpty(userDataModel?.AccessToken))
                                {
                                    GlobalUser.USER = userDataModel?.Data;

                                    var windows  = Application.Current.Windows;
                                    var loginWin = new Window();
                                    foreach (Window window in windows)
                                    {
                                        if (window.Name == "ml")
                                        {
                                            loginWin = window as Window;
                                        }
                                    }
                                    GlobalUser.AutoLoggedIn = true;
                                    checkOK = true;
                                    LoggedIn(loginWin);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Log4NetHelper.Error("读取用户信息异常:", e);
            }
        }
Exemple #2
0
        public void RememberUser()
        {
            string        userFolder    = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER);
            string        userDataFile  = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER, $"user.dat");
            UserDataModel userDataModel = new UserDataModel
            {
                UserName    = GlobalUser.USER.UserName,
                Phone       = GlobalUser.USER.Mobile,
                Avatar      = GlobalUser.USER.Avatar,
                AccessToken = GlobalUser.USER.Token,
                Password    = GlobalUser.USER.Password,
                Data        = GlobalUser.USER,
                ClassData   = GlobalUser.CLASSINFO,
                UserZy      = GlobalUser.USER.UserZy,
                StudyCard   = GlobalUser.STUDYCARD,
                GradeData   = GlobalUser.GRADEINFO,
                UnFirstOpen = GlobalUser.USER.UnFirstOpen
            };

            string userEncoded = Base64Provider.AESEncrypt(userDataModel.ToJsonItem(), Base64Provider.KEY, Base64Provider.IV);

            try
            {
                if (!Directory.Exists(userFolder))
                {
                    Directory.CreateDirectory(userFolder);
                }
                if (!File.Exists(userDataFile))
                {
                    var file = File.Create(userDataFile);
                    file.Close();
                    file.Dispose();
                }
                using (StreamWriter sw = new StreamWriter(userDataFile, false))
                {
                    sw.Write(userEncoded);
                }
            }
            catch (Exception e)
            {
                Log4NetHelper.Error("写入用户信息异常:", e);
            }
        }
Exemple #3
0
        /// <summary>
        /// 记住用户。
        /// </summary>
        /// <param name="userName">用户名称。</param>
        /// <param name="phone">手机号码。</param>
        /// <param name="accessToken">访问令牌。</param>
        private new void RememberUser(string userName, string phone, string avatar, string accessToken)
        {
            string        userFolder    = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER);
            string        userDataFile  = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER, $"user.dat");
            UserDataModel userDataModel = new UserDataModel
            {
                UserName    = userName,
                Phone       = phone,
                Avatar      = avatar,
                AccessToken = accessToken,
                Data        = GlobalUser.USER
            };

            string userEncoded = Base64Provider.AESEncrypt(userDataModel.ToJsonItem(), Base64Provider.KEY, Base64Provider.IV);

            try
            {
                if (!Directory.Exists(userFolder))
                {
                    Directory.CreateDirectory(userFolder);
                }
                if (!File.Exists(userDataFile))
                {
                    var file = File.Create(userDataFile);
                    file.Close();
                }
                using (StreamWriter sw = new StreamWriter(userDataFile, false))
                {
                    sw.Write(userEncoded);
                }
            }
            catch (Exception e)
            {
                Log4NetHelper.Error("写入用户信息异常:", e);
            }
        }
Exemple #4
0
        /// <summary>
        /// 注销
        /// </summary>
        protected void Loginout()
        {
            Application.Current.Dispatcher.Invoke(new Action(() =>
            {
                //var logoutResult = WebProxy(ApiType.UserLogout, GlobalUser.USER.AccessToken);//暂时 不用调用接口  移除token记录

                string userFolder   = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER);
                string userDataFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER,
                                                   $"user.dat");
                GlobalUser.USER.Token       = "";
                UserDataModel userDataModel = new UserDataModel
                {
                    AccessToken = "",
                    UserName    = GlobalUser.USER.UserName,
                    Phone       = GlobalUser.USER.Mobile,
                    Avatar      = GlobalUser.USER.Avatar,
                    Password    = GlobalUser.USER.Password,
                    Data        = GlobalUser.USER,
                    ClassData   = GlobalUser.CLASSINFO,
                    UserZy      = GlobalUser.USER.UserZy,
                    StudyCard   = GlobalUser.STUDYCARD,
                    UnFirstOpen = GlobalUser.USER.UnFirstOpen,
                };
                GlobalUser.USER    = null;
                string userEncoded =
                    Base64Provider.AESEncrypt(userDataModel.ToJsonItem(), Base64Provider.KEY, Base64Provider.IV);
                try
                {
                    if (!Directory.Exists(userFolder))
                    {
                        Directory.CreateDirectory(userFolder);
                    }

                    if (!File.Exists(userDataFile))
                    {
                        var file = File.Create(userDataFile);
                        file.Close();
                        file.Dispose();
                    }

                    using (StreamWriter sw = new StreamWriter(userDataFile, false))
                    {
                        sw.Write(userEncoded);
                    }
                }
                catch (Exception e)
                {
                    Log4NetHelper.Error("写入用户信息异常:", e);
                }

                DialogHost.CloseAllShow();

                {
                    Log_Data log   = new Log_Data();
                    log.log_desc   = Log_Type.PC_Logout.ToString();
                    log.log_text   = $"注销:{GlobalUser.USER?.Mobile}";
                    log.log_device = JsonHelper.ToJson(GlobalUser.MACHINEINFO.GetDevice());
                    WebApiProxy.GetHtmlRespInfo(log, ApiType.SysLog, null, "Post");
                }

                GlobalUser.MainWin?.Hide();
                GlobalUser.MainWin = null;
                //GlobalUser.MainWin?.Close();

                ClearMemory();

                GlobalUser.AutoLoggedIn        = false;
                GlobalUser.MainWin             = new MainLogin();
                GlobalUser.MainWin.DataContext = new MainLoginVM(false);
                GlobalUser.MainWin.Show();
                GlobalUser.MainWin.Focus();

                //_metroWindow.Hide();
                //_metroWindow.Close();
                //_metroWindow = null;
            }));
        }