Ejemplo n.º 1
0
        public void RememberUser(string userName, string phone, 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,
                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(" MainViewModelBase.OpenUserInfoDialog写入用户信息异常:", e);
            }
        }
Ejemplo n.º 2
0
        private void LogoutEventHandler(object sender, DialogClosingEventArgs eventArgs)
        {
            if ((bool)eventArgs.Parameter == false)
            {
                return;
            }

            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");

                UserDataModel userDataModel = new UserDataModel
                {
                    UserName    = GlobalUser.USER.UserName,
                    Phone       = GlobalUser.USER.Moblie,
                    AccessToken = "",
                    Data        = new UserInfo()
                };
                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();
                    }
                    using (StreamWriter sw = new StreamWriter(userDataFile, false))
                    {
                        sw.Write(userEncoded);
                    }
                }
                catch (Exception e)
                {
                    Log4NetHelper.Error("写入用户信息异常:", e);
                }

                var winLogin = new MainLogin();
                winLogin.Show();
                winLogin.Focus();

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

                //_metroWindow.Hide();
                //_metroWindow.Close();
                //_metroWindow = null;
            }));
        }
Ejemplo n.º 3
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);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 更新 异常评分数据
        /// </summary>
        public static void UpdateErrScore(string user, string paperid, string attendid)
        {
            var filePath = Path.Combine(GlobalUser.AUDIODATAFOLDER, $"{user}_{paperid.Split(new[] { "#" }, StringSplitOptions.RemoveEmptyEntries)[0]}_{attendid}");

            if (GlobalUser.ErrScoreInfo == null || GlobalUser.ErrScoreInfo.Count == 0)
            {
                if (File.Exists(filePath))
                {
                    File.Delete(filePath);
                }
                return;
            }

            for (int i = 0; i < GlobalUser.ErrScoreInfo?.Count; i++)
            {
                if (GlobalUser.ErrScoreInfo[GlobalUser.ErrScoreInfo.Keys.ToList()[i]].AnswerModel?.exam_attend_id == attendid)
                {
                    continue;
                }

                {
                    GlobalUser.ErrScoreInfo.Remove(GlobalUser.ErrScoreInfo.Keys.ToList()[i]);
                    i--;
                }
            }

            //读写文件
            //File
            var errjson   = GlobalUser.ErrScoreInfo.ToJson();
            var errjson_e = Base64Provider.AESEncrypt(errjson);

            //byte[] data = System.Text.Encoding.Default.GetBytes(errjson_e);
            using (StreamWriter sw = new StreamWriter(filePath, false))
            {
                sw.Write(errjson_e);
            }
        }
Ejemplo n.º 5
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;
            }));
        }