/// <summary> /// 微信 /// </summary> /// <param name="controller"></param> /// <param name="siteId"></param> /// <returns></returns> public static WechatSdk Wechat(this Controller controller, long?siteId) { if (siteId.HasValue) { var crm = Ioc.Resolve <IApplicationService, SiteEntity>().GetEntity <SiteEntity>(siteId.Value); if (crm == null || string.IsNullOrEmpty(crm.WechatAppId)) { return(null); } var wechat = new WechatSdk(crm.WechatAppId, crm.WechatSecret, crm.WechatToken) { Domain = ConfigurationManager.GetSetting <string>("Domain") }; return(wechat); } if (_wechat == null) { var json = ConfigurationManager.GetSetting <string>("Wechat").DeserializeJson <dynamic>(); if (json == null) { return(null); } _wechat = new WechatSdk((string)json.AppId, (string)json.Secret, (string)json.Token) { Domain = ConfigurationManager.GetSetting <string>("Domain") }; } return(_wechat); }
/// <summary> /// 验证失败 /// </summary> public virtual void RedirectPage(ActionExecutingContext filterContext) { if (WechatSdk.CheckWechatBrower()) { RedirectWechatLoginPage(filterContext); } else if (filterContext.HttpContext.Request.Url != null && (filterContext.HttpContext.Request.Browser.IsMobileDevice || filterContext.HttpContext.Request.Url.AbsoluteUri.Contains("m."))) { RedirectMobileLoginPage(filterContext); } else { RedirectWebsiteLoginPage(filterContext); } }
public static WechatSdk Wechat(this Controller controller) { if (_wechat == null) { var json = ConfigurationManager.GetSetting <string>("Wechat").DeserializeJson <dynamic>(); if (json == null) { return(null); } _wechat = new WechatSdk((string)json.AppId, (string)json.Secret, (string)json.Token) { Domain = ConfigurationManager.GetSetting <string>("Domain") }; } return(_wechat); }
/// <summary> /// 手机端登陆 /// </summary> /// <param name="filterContext"></param> public virtual void RedirectWechatLoginPage(ActionExecutingContext filterContext) { var url = string.Format("{0}/Home/WechatLogin?url={1}", ConfigurationManager.GetSetting <string>("PresentationMobileLoginUrl"), filterContext.HttpContext.Server.UrlEncode( filterContext.HttpContext.Request.Url.AbsoluteUri)); var json = ConfigurationManager.GetSetting <string>("AutoLogin").DeserializeJson <dynamic>(); if (WechatSdk != null && json != null && json.Weixin == true) { url = string.Format("{0}/Wechat/Oauth?url={1}", ConfigurationManager.GetSetting <string>("DistributedOutsideReceptionUrl"), filterContext.HttpContext.Server.UrlEncode(url)); url = WechatSdk.CreateAuthorityUrl(url, true); } filterContext.Result = new RedirectResult(url); }