Beispiel #1
0
 /// <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);
 }
Beispiel #2
0
 /// <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);
     }
 }
Beispiel #3
0
 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);
 }
Beispiel #4
0
        /// <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);
        }