public ResponseViewModel <VerifyTokenView> VerifyPhoneCode([FromBody] RequestViewModel obj) { ResponseViewModel <VerifyTokenView> response = null; VerifyTokenView result = new VerifyTokenView(); obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content); bool isLog = _token.VerifyToken(obj.HendInfo.UserOpenId, obj.HendInfo.SessionToken); var sysCode = SysCode.Ok; if (isLog) { string code = (string)obj.Data.verifyCode; string verifyCode = _sys.Md5Encode(code); string key = CacheKey.UnbindPhone.ToString(); string strLog = RedisHelper.StringGet($"{CacheKey.Token}{obj.HendInfo.UserOpenId}", RedisFolderEnum.token, RedisEnum.Three); var userLog = JsonHelper.DeserializeJsonToObject <UserLoginDto>(strLog); key = $"{key}{userLog.Phone}"; if (RedisHelper.KeyExists(key, RedisFolderEnum.code, RedisEnum.Four)) { if (RedisHelper.StringGet(key, RedisFolderEnum.code, RedisEnum.Four).Equals(code)) { RedisHelper.KeyDelete(key, RedisFolderEnum.code, RedisEnum.Four); /*缓存验证码*/ key = $"{CacheKey.UnbindPhoneAingle}{userLog.Phone}"; result.VerifyToken = verifyCode; RedisHelper.StringSet(key, verifyCode, 10, RedisFolderEnum.code, RedisEnum.Four); } else { /*验证码错误*/ sysCode = SysCode.CodeErr; } } else { /*未找到验证码*/ sysCode = SysCode.CodeErr; } } else { /*短令牌失效*/ sysCode = SysCode.SessionTokenLose; } response = new ResponseViewModel <VerifyTokenView>(sysCode, sysCode == SysCode.Ok ? result : null, obj.Encrypt, _sys, obj.Secret); return(null); }
public async Task <ResponseViewModel <VerifyTokenView> > StraitSendCode([FromBody] RequestViewModel obj) { obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content); ResponseViewModel <VerifyTokenView> response = null; VerifyTokenView result = new VerifyTokenView(); var sysCode = SysCode.Ok; string key = string.Empty; string code = string.Empty; bool isExist = await _user.PhoneExistAsync((string)obj.Data.phone); switch ((string)obj.Data.type) { case "1": key = CacheKey.Rgister.ToString(); if (isExist) { /*手机号码已经注册*/ sysCode = SysCode.PhoneExist; } break; case "2": key = CacheKey.LogIn.ToString(); if (!isExist) { /*未注册*/ sysCode = SysCode.PhoneNonentity; } break; case "3": key = CacheKey.SeekPwd.ToString(); if (!isExist) { /*未注册*/ sysCode = SysCode.PhoneNonentity; } break; case "4": key = CacheKey.UnbindPhone.ToString(); break; case "5": key = CacheKey.BindPhone.ToString(); if (isExist) { /*手机号码已经注册*/ sysCode = SysCode.PhoneExist; } break; case "6": key = CacheKey.UpdatePwd.ToString(); if (!isExist) { /*未注册*/ sysCode = SysCode.PhoneNonentity; } break; default: break; } key = $"{key}{(string)obj.Data.phone}"; #region code = "123456"; //_sys.getrandomseed(4).tostring(); if (sysCode == SysCode.Ok) { if (RedisHelper.KeyExists(key, RedisFolderEnum.code, RedisEnum.Four)) //是否存在 { /*重复获取*/ sysCode = SysCode.RepeatedGetCode; } if (sysCode == SysCode.Ok) { //!_mag.messagecode((string)obj.data.phone, code, stringextension.toint((string)obj.data.sendtype)) if (false) { /*获取验证码失败*/ sysCode = SysCode.GetCodeErr; } else { RedisHelper.StringSet(key, code, 10, RedisFolderEnum.code, RedisEnum.Four); } } } #endregion //code = _sys.GetRandomSeed(4).ToString(); //if (sysCode == SysCode.Ok) //{ // if (RedisHelper.KeyExists(key, RedisFolderEnum.code, RedisEnum.Four)) //是否存在 // { // /*重复获取*/ // sysCode = SysCode.RepeatedGetCode; // } // if (sysCode == SysCode.Ok) // { // if (!_mag.StraitMessageCode((string)obj.Data.phone, code, StringExtension.ToInt((string)obj.Data.sendType))) // { // /*获取验证码失败*/ // sysCode = SysCode.GetCodeErr; // } // else // { // RedisHelper.StringSet(key, code, 10, RedisFolderEnum.code, RedisEnum.Four); // } // } //} response = new ResponseViewModel <VerifyTokenView>(sysCode, null, obj.Encrypt, _sys, obj.Secret); return(response); }