Esempio n. 1
0
        public void Inserir(UserRes ur)
        {
            AndromedaContext ctx = new AndromedaContext();

            ctx.UserRes.Add(ur);
            ctx.SaveChanges();
        }
Esempio n. 2
0
        /// <summary>
        /// The GetUser
        /// </summary>
        /// <returns>The <see cref="Task{User}"/></returns>
        public async Task <User> GetUser()
        {
            RestRequest req = new RestRequest(Route.GetMe, Method.GET);

            req.AddHeader("Content-Type", "application/json");
            req.AddHeader("Authorization", "Bearer " + AuthProvider.Instance.token.token);

            Task <IRestResponse> resTask = Route.Client.ExecuteTaskAsync(req);

            var     res  = await resTask;
            UserRes User = JsonConvert.DeserializeObject <UserRes>(res.Content);

            return(User.data);
        }
Esempio n. 3
0
        public async Task <IActionResult> Create([FromBody] UserAddDto userDto)
        {
            _logger.LogInformation($"Users Create");
            if (!ModelState.IsValid)
            {
                _logger.LogWarning($"Users Created BadRequest");
                return(new BadRequestResult());
            }
            User user   = UeserMapper.UserFromAddDto(userDto);
            long userid = await Task.FromResult(_userSrvice.addUser(user));

            var res = new UserRes {
                UserId = userid.ToString()
            };

            _logger.LogInformation($"Users Created: {userid}");
            return(Ok(res));
        }
Esempio n. 4
0
        /// <summary>
        /// The getUser
        /// </summary>
        /// <returns>The <see cref="UserRes"/></returns>
        public UserRes getUser()
        {
            try
            {
                RestRequest req = new RestRequest(Route.GetMe, Method.GET);
                req.AddHeader("Content-Type", "application/json");
                req.AddHeader("Authorization", "Bearer " + AuthProvider.Instance.token.token);
                IRestResponse <UserRes> resTask = Route.Client.Execute <UserRes>(req);
                UserRes account = JsonConvert.DeserializeObject <UserRes>(resTask.Content);

                return(resTask.Data);
            }
            catch (System.Exception e)
            {
                MessageBox.Show(e.Message);
                throw;
            }
        }
Esempio n. 5
0
        public HttpResponseMessage Register(RegisterReq req)
        {
            string phone = req.phone;
            string vCode = req.verificationCode;
            var    pwd   = req.password;

            var users = UserInfoOper.Instance.GetByPhone(phone);

            if (users.Count != 0)
            {
                return(ControllerHelper.Instance.JsonResult(500, "该手机号已注册"));
            }
            else
            {
                var code = CacheHelper.GetUserVerificationCode(phone);
                if (code == null)//缓存中没有这个手机的验证码了,正式时保留5分钟
                {
                    return(ControllerHelper.Instance.JsonResult(500, "请重新发送验证码"));
                }
                else if (code != vCode)
                {
                    return(ControllerHelper.Instance.JsonResult(500, "验证码错误"));
                }
                else
                {//可以注册了
                    UserInfo userHere = new UserInfo();
                    userHere.userPhone = phone;
                    userHere.userPwd   = MD5Helper.Instance.StrToMD5(pwd);
                    userHere.userHead  = "";
                    var id = UserInfoOper.Instance.Add(userHere);

                    userHere.id       = id;
                    userHere.userName = "";
                    //userHere.birthday = null;
                    Token token = CacheHelper.SetUserToken(userHere);
                    //userHere.Token = token.GetToken();
                    UserRes userRes = new UserRes(userHere, apiHost, token.GetToken());
                    return(ControllerHelper.Instance.JsonResult(200, JsonConvert.SerializeObject(userRes), ""));
                    //var str = JsonHelper.JsonPlus(true, JsonConvert.SerializeObject(userRes), "");
                    //return ControllerHelper.Instance.JsonResult(str);
                    //目前是返回了新的user记录了,移动端要什么再改-txy
                }
            }
        }
        /// <summary>
        /// Syncronize the account, show error message or navigate to login page.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void SyncAccountButton_Click(object sender, RoutedEventArgs e)
        {
            var user = new User("no name", PasswordBox.Password, Email.Text);
            Res res  = await Auth.SignIn(user);

            if (res.Success)
            {
                UserRes userData = await Auth.GetUser(user);

                //create user account
                User userForCreate = new User(userData.DisplayName, "none", userData.Email);
                DAO.AddNewUser(userForCreate);

                //navigate to login windows
                Frame.Navigate(typeof(LoginView));
            }
            else
            {
                ErrorMessage.Text = errorMessageSyncAccount;
            }
        }
Esempio n. 7
0
        //[ValidateModel]
        public HttpResponseMessage Login(UserReq req)
        {
            var   userId      = req.userId;
            var   qq          = req.qq;
            var   wechat      = req.wechat;
            var   phoneNumber = req.phone;
            var   code        = req.verificationCode;
            var   tokenString = req.Token;
            var   mode        = req.LoginMode;
            var   userinfo    = new UserInfo();
            Token tokenTemp   = new Token();

            bool hasPwd = true;

            #region 短信验证登录
            if (mode == "Mail")
            {
                if (string.IsNullOrEmpty(code))
                {
                    return(ControllerHelper.Instance.JsonResult(500, "验证码为空"));
                }
                else
                {
                    var codeHere = CacheHelper.GetUserVerificationCode(phoneNumber);
                    if (codeHere == null)
                    {
                        return(ControllerHelper.Instance.JsonResult(500, "请重新发送验证码"));
                    }
                    else if (codeHere != code)
                    {
                        return(ControllerHelper.Instance.JsonResult(500, "验证码错误"));
                    }
                    else
                    {
                        var list = UserInfoOper.Instance.GetByPhone(phoneNumber);
                        if (list.Count < 1)
                        { //第一次用这个手机号登录
                            userinfo.userPhone = phoneNumber;
                            userinfo.userHead  = "";
                            //userinfo.userPwd ="";
                            var id = UserInfoOper.Instance.Add(userinfo);
                            userinfo          = UserInfoOper.Instance.GetById(id);
                            userinfo.birthday = null;
                            //hasPwd = false;
                        }
                        else
                        { //手机登录过,token失效
                            userinfo = list.First();
                        }
                    }
                }
            }
            #endregion

            #region 密码登录
            else if (mode == "Password")
            {
                var password = MD5Helper.Instance.StrToMD5(req.password);
                var list     = UserInfoOper.Instance.GetByPhone(phoneNumber);
                if (list.Count < 1)
                {//数据库里没这个手机号,要先注册
                    return(ControllerHelper.Instance.JsonResult(500, "该手机号尚未注册"));
                }
                else
                {//手机号注册过了
                    userinfo = list.First();
                    if (string.IsNullOrEmpty(password))
                    {
                        return(ControllerHelper.Instance.JsonResult(500, "请先输入密码"));
                    }
                    else if (password != userinfo.userPwd)
                    {
                        return(ControllerHelper.Instance.JsonResult(500, "密码错误"));
                    }
                }
            }
            #endregion

            #region QQ登录
            else if (mode == "QQ")
            {
                if (string.IsNullOrEmpty(qq))
                {
                    return(ControllerHelper.Instance.JsonResult(500, "QQ号码为空"));
                }
                else
                {
                    var list = UserInfoOper.Instance.GetByQQ(qq);
                    if (list.Count < 1)
                    { //第一次用这个QQ登录
                        return(ControllerHelper.Instance.JsonResult(200, "phone", "", ""));
                    }
                    else
                    { //这个qq登录过
                        userinfo = list.First();
                    }
                }
            }
            #endregion

            #region 微信登录
            else if (mode == "WeChat")
            {
                if (string.IsNullOrEmpty(wechat))
                {
                    return(ControllerHelper.Instance.JsonResult(500, "微信号码为空"));
                }
                else
                {
                    var list = UserInfoOper.Instance.GetByWechat(wechat);
                    if (list.Count < 1)
                    { //第一次用这个微信登录
                        return(ControllerHelper.Instance.JsonResult(200, "phone", "", ""));
                    }
                    else
                    { //这个微信登录过
                        userinfo = list.First();
                    }
                }
            }
            #endregion
            var deviceToken = req.deviceToken;
            if (!string.IsNullOrEmpty(deviceToken))
            {
                var user = new UserInfo();
                user.id          = userinfo.id;
                user.deviceToken = deviceToken;
                user.deviceType  = req.deviceType;
                UserInfoOper.Instance.Update(user);
            }

            tokenTemp = CacheHelper.SetUserToken(userinfo);
            UserRes userR = new UserRes(userinfo, apiHost, tokenTemp.GetToken());
            if (string.IsNullOrEmpty(userinfo.userPwd))
            {
                hasPwd = false;
            }
            userR.hasPwd = hasPwd;
            return(ControllerHelper.Instance.JsonResult(200, JsonConvert.SerializeObject(userR), ""));

            //return ControllerHelper.Instance.JsonResult(500, "意想不到的登录失败");
        }
Esempio n. 8
0
        /// <summary>
        /// qq或微信登录状态,绑定手机号接口
        /// </summary>
        /// <param name="req"></param>
        /// <returns>status</returns>
        public HttpResponseMessage BindPhone(UserReq req)
        {
            var  userId      = Convert.ToInt32(req.userId);
            var  qq          = req.qq;
            var  wechat      = req.wechat;
            var  phoneNumber = req.phone;
            var  code        = req.verificationCode;
            var  bindMode    = req.BindMode;
            bool hasPwd      = true;

            var cache_code = CacheHelper.GetUserVerificationCode(phoneNumber);

            var userinfo = new UserInfo();

            if (cache_code == null)
            {
                return(ControllerHelper.Instance.JsonResult(500, "请重新获取验证码"));
            }
            else if (cache_code != code)
            {
                return(ControllerHelper.Instance.JsonResult(500, "验证码错误"));
            }
            else
            {
                #region QQ登录绑定手机
                if (bindMode == "QQ")
                {
                    var list = UserInfoOper.Instance.GetByPhone(phoneNumber);
                    if (list.Count > 0)
                    {                                           //已存在这个手机号码
                        userinfo = list.First();
                        if (!string.IsNullOrEmpty(userinfo.qq)) //且这个号码下有QQ
                        {
                            return(ControllerHelper.Instance.JsonResult(500, "该手机号已绑定QQ"));
                        }
                        else
                        {//账号未绑定QQ
                            userinfo.qq = qq;
                            UserInfoOper.Instance.Update(userinfo);
                        }
                    }
                    else
                    { //不存在这个手机号
                        userinfo.userPhone = phoneNumber;
                        userinfo.qq        = qq;
                        var id = UserInfoOper.Instance.Add(userinfo);
                        userinfo = UserInfoOper.Instance.GetById(id);
                    }
                }
                #endregion

                #region 微信登录绑定手机
                if (bindMode == "WeChat")
                {
                    var list = UserInfoOper.Instance.GetByPhone(phoneNumber);
                    if (list.Count > 0)
                    { //已存在这个手机号码
                        userinfo = list.First();
                        if (!string.IsNullOrEmpty(userinfo.wechat))
                        {
                            return(ControllerHelper.Instance.JsonResult(500, "该手机号已绑定微信"));
                        }
                        else
                        {
                            userinfo.wechat = wechat;
                            UserInfoOper.Instance.Update(userinfo);
                        }
                    }
                    else
                    {  //不存在这个手机号
                        userinfo.userPhone = phoneNumber;
                        userinfo.wechat    = wechat;
                        var id = UserInfoOper.Instance.Add(userinfo);
                        userinfo = UserInfoOper.Instance.GetById(id);
                    }
                }
                #endregion
            }
            var deviceToken = req.deviceToken;
            if (!string.IsNullOrEmpty(deviceToken))
            {
                userinfo.deviceToken = deviceToken;
                userinfo.deviceType  = req.deviceType;
                UserInfoOper.Instance.Update(userinfo);
            }

            var     tokenTemp = CacheHelper.SetUserToken(userinfo);
            UserRes r         = new UserRes(userinfo, apiHost, tokenTemp.GetToken());
            if (string.IsNullOrEmpty(userinfo.userPwd))
            {
                hasPwd = false;
            }
            r.hasPwd = hasPwd;
            return(ControllerHelper.Instance.JsonResult(200, JsonConvert.SerializeObject(r), ""));
        }