/// <summary> /// 获取传入的用户信息和微信会员信息 /// </summary> /// <param name="context"></param> /// <param name="memberModel"></param> /// <param name="userInfo"></param> /// <param name="msg"></param> /// <returns></returns> private bool GetWeixinMemberInfo(HttpContext context, out WXMemberInfo memberModel, out ZentCloud.BLLJIMP.Model.UserInfo userInfo, out string msg) { //取得OpenID支持两种模式:传入模式,授权Session模式 string openId = context.Request[systemSet.WXCurrOpenerOpenIDKey]; string userAutoIDHex = context.Request[systemSet.UserAutoIDHexKey]; memberModel = new WXMemberInfo(); msg = ""; //判断用户微信是否已认证,认证则根据Session取openId,否则根据Url取得 userInfo = userBll.GetUserInfoByAutoIDHex(userAutoIDHex); if (userInfo == null) { msg = "用户不存在!"; return(false); } if (userModel.IsWeixinVerify == 1 && context.Session[systemSet.WXCurrOpenerOpenIDKey] != null) { //如果是微信认证用户而且认证取到的openID也存在,则会忽略浏览器url上的openid openId = context.Session[systemSet.WXCurrOpenerOpenIDKey].ToString(); } memberModel = weixinBll.GetWXMemberInfo(userModel.UserID, openId); if (memberModel == null) { msg = "会员不存在!"; return(false); } return(true); }