protected override void OnActionExecuting(ActionExecutingContext filterContext) { Models.RedisSession <UserInfo> redisSession = new Models.RedisSession <UserInfo>(filterContext.HttpContext, true, 120); if (!redisSession.IsExistKey("UserCode")) { filterContext.Result = Redirect(WeChateSiteHelper.getOauthURL(HttpUtils.Ins.UrlEncode(filterContext.HttpContext.Request.RawUrl))); } }
public override void OnActionExecuting(ActionExecutingContext filterContext) { Models.RedisSession <UserInfo> redisSession = new Models.RedisSession <UserInfo>(filterContext.HttpContext, true, 120); if (!redisSession.IsExistKey("UserCode")) { string Key = filterContext.HttpContext.Request.RawUrl.MD5(); if (!RedisBase.ContainsKey(Key)) { RedisBase.Item_Set(Key, filterContext.HttpContext.Request.RawUrl); } filterContext.Result = new RedirectResult(WeChateSiteHelper.getOauthURL(Key)); } }
// GET api/<controller> /// <summary> /// 线下客户端获取微信登录二维码 /// </summary> /// <returns></returns> public JsonResult <string> Get(string lockCode) { JsonResult <string> result = new JsonResult <string>(); result.code = 0; result.msg = "OK"; string uuid = Utils.GetWeChatUUID(); string long_url = WeChateSiteHelper.getCRContent(uuid); string cqContent = WeChatAccessTokenAPI.GetShortURL(long_url); if (string.IsNullOrEmpty(cqContent)) { cqContent = long_url; } string fileName = string.Format("{0}.png", uuid); string filePath = FileHelper.GetPicFilePath(fileName); if (QrCodeHelper.CreateImgCode(cqContent, filePath)) { result.code = 1; result.Result = FileHelper.GetPicFileURL(fileName); result.ResultMsg = uuid; ThreadPool.QueueUserWorkItem(new WaitCallback(p => { //图片记录进缓存,定期清理 string key = CacheKey.GetQrCodeKey(DateTime.Now); RedisBase.List_Add <string>(key, filePath); RedisBase.List_SetExpire(key, DateTime.Now.AddDays(2)); //记录日志 WeChatLogin login = new WeChatLogin(); login.State = 0; login.UUID = uuid; login.LoginData = DateTime.Now.ToString("yyyy-MM-dd"); login.CreateTime = DateTime.Now; login.LockCode = lockCode; SaveWeChatLogin(login); }), null); } return(result); }
public async Task <IHttpActionResult> BindingWeChartCQ() { JsonResult <string> result = new JsonResult <string>(); result.code = 0; result.msg = "OK"; await Task.Run(() => { string uuid = Utils.GetWeChatUUID(); string long_url = WeChateSiteHelper.getCRContent(uuid); string cqContent = WeChatAccessTokenAPI.GetShortURL(long_url); if (string.IsNullOrEmpty(cqContent)) { cqContent = long_url; } string fileName = string.Format("{0}.png", uuid); string filePath = FileHelper.GetPicFilePath(fileName); if (QrCodeHelper.CreateImgCode(cqContent, filePath)) { result.code = 1; result.Result = FileHelper.GetPicFileURL(fileName); result.ResultMsg = uuid; //图片记录进缓存,定期清理 string key = CacheKey.GetQrCodeKey(DateTime.Now); RedisBase.List_Add <string>(key, filePath); RedisBase.List_SetExpire(key, DateTime.Now.AddDays(2)); ApiUserManager userManager = new ApiUserManager(ActionContext); string bindkey = string.Format("bind_{0}", uuid); RedisBase.Item_Set(bindkey, userManager.User); RedisBase.ExpireEntryAt(bindkey, DateTime.Now.AddHours(1)); } }); return(Ok(result)); }
public RedirectResult Index(string type) { return(Redirect(WeChateSiteHelper.getOauthURL(type))); }