示例#1
0
        public bool Init()
        {
            pc             = new paramclass();
            Cp             = new callparam();
            Sds            = new SDSParam();
            SapEntityList1 = new List <ClientDemo.SapEntity>();
            Categories     = new List <GroupEntry>();
            Devicelist     = new List <DeviceEntry>();
            //BusinessCenter.Instance.OnDataback += update;
            //BusinessCenter.Instance.showDialog += showdialog;
            Hytera.Commom.Log.Logger.configLogger();
            //string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            //Directory.SetCurrentDirectory(path);
            MediaManager.GetInstance().InitMediaTerm();

            //LoginPara loginpara = Hytera.I18N.XMLHelper.DeSerializeFromFile<LoginPara>(fileName);

            Loginpara               = new LoginPara();
            Loginpara.LoginName     = "anzheng";
            Loginpara.Password      = "******";
            Loginpara.LocolSipIP    = "20.0.0.99";
            Loginpara.LocolSipPort  = "7060";
            Loginpara.ServerIP      = "20.0.0.11";
            Loginpara.ServerPort    = "12000";
            Loginpara.ServerSipIP   = "20.0.0.11";
            Loginpara.ServerSipPort = "6060";

            BusinessCenter.Instance.OnIncomingCallEvent += Instance_OnIncomingCallEvent;

            return(true);
        }
示例#2
0
        public IActionResult Login(LoginPara model)
        {
            //PC端医生使用手机号登录  Source_UserType_key
            var ckUser = $"loginFail:{UserSource.PC.ToInt32()}_{UserType.医生.ToInt32()}_{model.account_num}";
            var cnt    = CacheManager.Create().Get <int>(ckUser);

            if (cnt >= _jwt.TryCount)
            {
                //登录连续失败设置上限以上,锁定账号30分钟后才能再次登录
                return(Json(new ResponseModel(ResponseCode.NotAuthority, $"当前账户连续登录失败{_jwt.TryCount}次以上,请30分钟后再尝试.")));
            }
            //调用登录
            var loginInfo = this.GetInstance <ILogin>();
            var result    = new ResponseModel(ResponseCode.Success, "人员登录成功!");

            try
            {
                var logicResult = loginInfo.DoctorLogin(model.account_num, model.password)?.Result;
                //登录成功
                if (logicResult.code == ResponseCode.Success)
                {
                    //登录成功 ,登录失败次数清零
                    CacheManager.Create().Remove(ckUser);
                    var loginKey = model.account_num;
                    //生成jwt
                    Dictionary <string, string> clims = new Dictionary <string, string>();
                    //Source_UserType_key
                    clims.Add("userName", $"userinfo:{UserSource.PC.ToInt32()}_{UserType.医生.ToInt32()}_{model.account_num}");
                    //获取到一个新的token
                    var value = _jwt.GetToken(clims);
                    //token添加到缓存中(设置缓存2小时失效)
                    AddLoginCacheToken(loginKey, value, UserType.医生, UserSource.PC);
                    //初始化一次用户登录信息
                    var accountObj = this.GetInstance <ISysUser>();
                    var userModel  = accountObj.GetAccountInfo(model.account_num)?.Result;
                    //输出信息返回token
                    logicResult.data.is_super_admin = userModel.is_super_admin;
                    //将token赋值给登录返回信息
                    logicResult.data.token = value;
                    result.data            = logicResult.data;
                    //返回结果
                    return(Json(result));
                }
                else
                {
                    cnt++;
                    //缓存有效期设置为30分钟
                    CacheManager.Create().Set(ckUser, cnt, new TimeSpan(0, 30, 0));
                    return(Json(new ResponseModel(ResponseCode.NotAuthority, $"登录失败,还有{_jwt.TryCount - cnt}次机会!失败原因:{logicResult.msg}")));
                }
            }
            catch (Exception ex)
            {
                result.code = ResponseCode.Error.ToInt32();
                result.msg  = "人员登录失败:" + ex.Message;
            }
            return(Json(result));
        }
示例#3
0
        /// <summary>
        /// 验证码登录
        /// </summary>
        /// <param name="loginPara"></param>
        /// <returns></returns>
        public async Task <LoginRD> LoginByAuthCode(LoginPara loginPara)
        {
            string url  = "/member/loginByAuthCode";
            var    json = JsonConvert.SerializeObject(loginPara);

            LoginRD loginRD = await RestSharpHelper <LoginRD> .PostAsync(url, json);

            return(loginRD);
        }
示例#4
0
        public ActionResult Login(LoginPara para)
        {
            LoginResult result = new LoginResult()
            {
                Code    = SystemConst.MSG_ERR_UNKNOWN,
                Message = String.Empty
            };

            using (var db = new TravelEntities())
            {
                var users = db.T_Users.Count();
                if (users == 0 && para.Username.Equals(SYS_ADMIN_NAME) && para.Password.Equals(AppUtils.SHA1Hash(SYS_PASSWORD)))
                {
                    result.Code = SystemConst.MSG_SUCCESS;
                    LoginDto loginResult = new LoginDto
                    {
                        UserID    = SystemConst.SYS_ADMIN,
                        UserName  = String.Empty,
                        Functions = new List <string>(),
                    };
                    result.Data = loginResult;
                    return(Content(AppUtils.JsonSerializer(result)));
                }

                var user =
                    db.T_Users.Where(a => a.LoginName == para.Username && a.Status.Equals(SystemConst.ENABLE))
                    .FirstOrDefault();
                if (user != null && para.Password.Equals(user.Password))
                {
                    var fx = (from roleFunction in db.T_RoleFunction
                              join function in db.T_Functions on roleFunction.FunctionID equals function.ID
                              where roleFunction.RoleID == user.RoleID
                              select function).ToList();

                    List <String> selectfunction = new List <string>();
                    foreach (var function in fx)
                    {
                        selectfunction.Add(function.Code.ToString());
                    }

                    LoginDto loginResult = new LoginDto
                    {
                        UserID    = user.UserID,
                        UserName  = user.UserName,
                        Functions = selectfunction,
                    };
                    result.Data = loginResult;
                    result.Code = SystemConst.MSG_SUCCESS;
                }
                else
                {
                    result.Message = "ERROR_PASSWORD";
                }
            }
            return(Content(AppUtils.JsonSerializer(result)));
        }
示例#5
0
        /// <summary>
        /// 登录 ok
        /// </summary>
        /// <param name="tel">手机号</param>
        /// <param name="pwd">密码</param>
        /// <returns></returns>
        public async Task <LoginRD> Login(LoginPara loginPara)
        {
            string url = rootUrl3 + "/member/loginByTel";

            string httpContent = JsonConvert.SerializeObject(loginPara);

            string responseBody = await PostAsync(url, httpContent);

            LoginRD loginRD = JsonConvert.DeserializeObject <LoginRD>(responseBody);

            return(loginRD);
        }
        public DataResult <UserManager> SignIn(LoginPara loginPara)
        {
            var result = new DataResult <UserManager>();

            var userLogin = new UserLogin
            {
                UserName    = loginPara.UserName,
                PassWord    = loginPara.PassWord,
                LastLoginIp = loginPara.Ip
            };

            result.data = _userManagerRepository.SignIn(userLogin);
            return(result);
        }
        /// <summary>
        /// 验证码登录
        /// </summary>
        /// <param name="loginPara"></param>
        /// <returns></returns>
        public static async Task <LoginRD> LoginByAuthCode(LoginPara loginPara)
        {
            try
            {
                string url  = "/member/loginByAuthCode";
                var    json = JsonConvert.SerializeObject(loginPara);

                LoginRD loginRD = await RestSharpHelper <LoginRD> .PostAsync(url, json);

                return(loginRD);
            }
            catch (ApplicationException ex)
            {
                throw ex;
            }
        }
示例#8
0
        /// <summary>
        /// 登录
        /// </summary>
        private async void OnLogin()
        {
            try
            {
                if (!Tools.IsNetConnective())
                {
                    CrossToastPopUp.Current.ShowToastError("无网络连接,请检查网络。", ToastLength.Long);
                    return;
                }

                LoginPara loginPara = new LoginPara
                {
                    userPwd  = Pwd,
                    authCode = "",
                    tel      = Tel
                };

                //RestSharpService _restSharpService = new RestSharpService();
                LoginRD loginRD = await RestSharpService.Login(loginPara);

                if (loginRD.result.message == null)
                {
                    CrossToastPopUp.Current.ShowToastSuccess("欢迎您登录美而好家具!", ToastLength.Long);

                    GlobalVariables.LoggedUser = loginRD.result;   //将登录用户的信息保存成全局静态变量
                    GlobalVariables.IsLogged   = true;

                    JObject log = new JObject();
                    log.Add("LoginTime", DateTime.UtcNow);
                    log.Add("UserInfo", JsonConvert.SerializeObject(loginRD.result));
                    string fileName = Path.Combine(FileSystem.CacheDirectory, "log.dat");
                    File.WriteAllText(fileName, log.ToString());

                    Application.Current.MainPage.Navigation.RemovePage(Application.Current.MainPage.Navigation.NavigationStack[0]);
                    MainPage mainPage = new MainPage();
                    await Application.Current.MainPage.Navigation.PushAsync(mainPage);
                }
                else
                {
                    CrossToastPopUp.Current.ShowToastError(loginRD.result.message, ToastLength.Long);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#9
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            LoginPara para = new LoginPara()
            {
                Username = txtUser.Text,
                Password = AppUtils.SHA1Hash(txtPwd.Text)
            };
            string      str_result = WebCall.PostMethod <LoginPara>(WebCall.Login, para);
            LoginResult result     = AppUtils.JsonDeserialize <LoginResult>(str_result);

            if (result.Code.Equals(SystemConst.MSG_SUCCESS))
            {
                Configure.UserID    = result.Data.UserID;
                Configure.UserName  = result.Data.UserName;
                Configure.Functions = result.Data.Functions;
                isLogined           = true;
                this.Close();
            }
            else
            {
                MessageBox.Show(LangBase.GetString(result.Message));
            }
        }
示例#10
0
        /// <summary>
        /// 登录
        /// </summary>
        private async void OnLogin()
        {
            try
            {
                if (!Tools.IsNetConnective())
                {
                    CrossToastPopUp.Current.ShowToastError("无网络连接,请检查网络。", ToastLength.Long);
                    return;
                }

                if (AuthCode.Length != 6)
                {
                    CrossToastPopUp.Current.ShowToastError("请输入6位验证码", ToastLength.Long);
                    return;
                }

                LoginPara loginPara = new LoginPara
                {
                    authCode = AuthCode,
                    tel      = Tel
                };

                LoginRD loginRD = await _restSharpService.LoginByAuthCode(loginPara);

                /*
                 * if (loginRD.code == 200)
                 * {
                 *  CrossToastPopUp.Current.ShowToastSuccess(loginRD.message, ToastLength.Long);
                 *
                 *  MainPage mainPage = new MainPage();
                 *  await Navigation.PushModalAsync(mainPage);
                 * }
                 * else
                 * {
                 *  CrossToastPopUp.Current.ShowToastError(loginRD.message, ToastLength.Long);
                 * }*/
                if (loginRD.result.message == null)
                {
                    CrossToastPopUp.Current.ShowToastSuccess("欢迎您登录美而好家具!", ToastLength.Long);

                    GlobalVariables.LoggedUser = loginRD.result;   //将登录用户的信息保存成全局静态变量
                    GlobalVariables.IsLogged   = true;

                    string  fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "log.dat");
                    JObject log      = new JObject();
                    log.Add("LoginTime", DateTime.UtcNow);
                    log.Add("UserInfo", JsonConvert.SerializeObject(loginRD.result));
                    //string text = "State:Checked\n" + "Account:" + Tel + "\nPassword:"******"\nLoginTime:" + DateTime.UtcNow;
                    File.WriteAllText(fileName, log.ToString());

                    MainPage mainPage = new MainPage();
                    await Application.Current.MainPage.Navigation.PushModalAsync(mainPage);
                }
                else
                {
                    CrossToastPopUp.Current.ShowToastError(loginRD.result.message, ToastLength.Long);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#11
0
        public async Task <IActionResult> Login([FromForm] LoginPara loginPara)
        {
            var result = new Result
            {
                code = (int)StatusCodeEnum.Success,
                msg  = StatusCodeEnum.Success.GetEnumText()
            };

            if (string.IsNullOrWhiteSpace(loginPara.UserName) || string.IsNullOrWhiteSpace(loginPara.PassWord) || string.IsNullOrWhiteSpace(loginPara.CaptchaCode))
            {
                result.code = (int)StatusCodeEnum.ParameterError;
                result.msg  = StatusCodeEnum.ParameterError.GetEnumText();
                return(Json(result));
            }
            if (!ValidateCaptchaCode(loginPara.CaptchaCode))
            {
                result.code = (int)StatusCodeEnum.SignInCaptchaCodeError;
                result.msg  = StatusCodeEnum.SignInCaptchaCodeError.GetEnumText();
                return(Json(result));
            }
            loginPara.Ip       = Ip;
            loginPara.PassWord = Md5.GetMD5String(loginPara.PassWord);
            var signInResult = await _userManagerServices.SignInAsync(loginPara);

            if (signInResult.code != 0)
            {
                result.code = signInResult.code;
                result.msg  = signInResult.msg;
                return(Json(result));
            }
            var user = signInResult.data;

            if (user == null)
            {
                result.code = (int)StatusCodeEnum.SignInUserNameOrPassWordError;
                result.msg  = StatusCodeEnum.SignInUserNameOrPassWordError.GetEnumText();
                return(Json(result));
            }
            if (user.IsDelete)
            {
                result.code = (int)StatusCodeEnum.SignInUserIsDeleteError;
                result.msg  = StatusCodeEnum.SignInUserIsDeleteError.GetEnumText();
                return(Json(result));
            }
            if (user.IsEnabled)
            {
                result.code = (int)StatusCodeEnum.SignInUserIsEnabledError;
                result.msg  = StatusCodeEnum.SignInUserIsEnabledError.GetEnumText();
                return(Json(result));
            }
            if (!user.UserRoles.Any())
            {
                result.code = (int)StatusCodeEnum.SignInUserNoRoleError;
                result.msg  = StatusCodeEnum.SignInUserNoRoleError.GetEnumText();
                return(Json(result));
            }
            var claimIdentity = new ClaimsIdentity("Cookie");

            claimIdentity.AddClaim(new Claim(JwtClaimTypes.Id, user.Id.ToString()));
            var claimsPrincipal = new ClaimsPrincipal(claimIdentity);
            // 在上面注册AddAuthentication时,指定了默认的Scheme,在这里便可以不再指定Scheme。
            await HttpContext.SignInAsync(claimsPrincipal, new AuthenticationProperties
            {
                IsPersistent = true
            });

            return(Json(result));
        }
示例#12
0
 public ResponsePackage <bool> ResetPwd([FromBody] LoginPara para)
 {
     _userBusiness.IpAddress = IpAddress;
     return(CommonResult(() => ResetPwd(para.Account, para.Pwd), r => Console.WriteLine(r.ToJSON())));
 }
示例#13
0
 public ResponsePackage <UserView> UserLogin([FromBody] LoginPara para)
 {
     _userBusiness.IpAddress = IpAddress;
     return(CommonResult(() => _userBusiness.LoginUser(para.Account, para.Pwd), r => Console.WriteLine(r.ToJSON())));
 }