public MiniCode2Session AuthUserOpenId()
        {
            string           code   = Request.Query["code"];
            MiniCode2Session result = null;

            if (!string.IsNullOrEmpty(code))
            {
                result = WXApi.GetOpenIdForWxMini(code);
                result.HasExistInWX = _UserSrv.ExistUnionId(result.unionid);

                return(result);
            }
            return(new MiniCode2Session());
        }
示例#2
0
        public static MiniCode2Session GetOpenIdForWxMini(string code)
        {
            try
            {
                //构造获取openid及access_token的url
                WxPayData data = new WxPayData();

                data.SetValue("appid", EduConfig.WXAppId);
                data.SetValue("secret", EduConfig.WXSecret);

                data.SetValue("js_code", code);
                data.SetValue("grant_type", "authorization_code");
                string url = "https://api.weixin.qq.com/sns/jscode2session?" + data.ToUrl();

                MiniCode2Session result = HttpHelper.Get <MiniCode2Session>(url);

                return(result);
            }
            catch (Exception ex)
            {
                NLogHelper.ErrorTxt("GetOAuth2AccessTokenFromCode:" + ex.Message);
                throw new WxPayException(ex.ToString());
            }
        }