/// <summary> /// 获取用户基本信息 20200525 /// </summary> public WechatUserInfo GetWeChartUserInfoNew(WeChatUserModel userModel) { WeChatInfoModel InfoModel = _IWeChatClientRepository.Decrypt(userModel.code, _IOptions.Value.appid, _IOptions.Value.secret); WechatUserInfo wechatUser = _IWeChatClientRepository.DecryptUserInfo(userModel.encryptedData, userModel.iv, InfoModel.session_key); return(wechatUser); }
/// <summary> /// 用户初次进入自愿者小程序验证用户是否是微官网已注册用户,如果是返回微官网用户中心信息,如果不是返回空 /// </summary> public Dtol.WGWdtol.UserInfo WGWDecrypt(string code, string appId, string appSecret) { Dtol.WGWdtol.UserInfo WGWuserInfo = new Dtol.WGWdtol.UserInfo(); if (code == null || code == "") { return(null); } if (String.IsNullOrEmpty(code)) { return(null); } WeChatInfoModel oiask = JsonConvert.DeserializeObject <WeChatInfoModel>(GetOpenIdAndSessionKeyString(code, appId, appSecret)); WGWuserInfo = GetUser(oiask.unionid); if (WGWuserInfo.ID != null) { string photopath = WGWuserInfo.PhotoUrl; if (!photopath.Contains("https")) { photopath = photopath.Substring(2, (photopath.Length - 2)); WGWuserInfo.PhotoUrl = "http://wgw.bhteda.com" + photopath; } } return(WGWuserInfo); }
/// <summary> /// 20200629 用户授权 通过解密获取unionid 再查询是否是泰便利注册用户 /// </summary> public UserInfoResModel EasyDecryptByDE(WeChatCodeDEModel codeModel, string appId, string appSecret) { UserInfoResModel resModel = new UserInfoResModel(); BaseViewModel model = new BaseViewModel(); Dtol.Easydtol.UserInfo user = new Dtol.Easydtol.UserInfo(); if (codeModel.code == null || codeModel.code == "") { model.ResponseCode = 9; model.Message = "参数为空"; } WeChatInfoModel oiask = JsonConvert.DeserializeObject <WeChatInfoModel>(GetOpenIdAndSessionKeyString(codeModel.code, appId, appSecret)); if (!string.IsNullOrEmpty(oiask.session_key)) { WechatUserInfoResModel res = new WechatUserInfoResModel(); res = Decrypt(codeModel.encryptedData, codeModel.iv, oiask.session_key); if (!string.IsNullOrEmpty(res.unionId)) { V_OpenidUnionid v_Openid = new V_OpenidUnionid(); v_Openid.openid = oiask.openid; v_Openid.unionid = res.unionId; v_OpenidUnionidRepository.Add(v_Openid); v_OpenidUnionidRepository.SaveChanges(); user = GetEasyUser(res.unionId); if (!String.IsNullOrEmpty(user.ID)) { model.ResponseCode = 5; model.Message = "unionid不为空,已注册泰便利"; } else { model.ResponseCode = 6; model.Message = "unionid不为空,未注册泰便利"; } } else { model.ResponseCode = 7; model.Message = "授权未获取unionid"; } } else { model.ResponseCode = 8; model.Message = "授权未获取session_key"; } resModel.baseView = model; resModel.userInfo = user; return(resModel); }
//20200514 根据code 获取openid public OpenidViewModel GetWeChartOpenid(string code) { OpenidViewModel openidView = new OpenidViewModel(); string openid = _IWeChatClientRepository.GetOpenIdAndSessionKeyString(code, _IOptions.Value.appid, _IOptions.Value.secret); WeChatInfoModel oiask = JsonConvert.DeserializeObject <WeChatInfoModel>(openid); openidView.openid = oiask.openid; return(openidView); }
public WeChatInfoModel Decrypt(string code, string appId, string appSecret) { if (code == null || code == "") { return(null); } if (String.IsNullOrEmpty(code)) { return(null); } WeChatInfoModel oiask = JsonConvert.DeserializeObject <WeChatInfoModel>(GetOpenIdAndSessionKeyString(code, appId, appSecret)); return(oiask); }
/// <summary> /// 根据微信小程序平台提供的解密算法解密数据,推荐直接使用此方法 /// </summary> /// <param name="codeModel">登陆信息</param> /// <returns>用户信息</returns> public WeChatUserCheckResModel Decrypt(WeChatCodeModel codeModel, string appId, string appSecret) { WeChatUserCheckResModel userInfoCheck = new WeChatUserCheckResModel(); if (codeModel == null) { return(null); } if (String.IsNullOrEmpty(codeModel.code)) { return(null); } WeChatInfoModel oiask = JsonConvert.DeserializeObject <WeChatInfoModel>(GetOpenIdAndSessionKeyString(codeModel.code, appId, appSecret)); userInfoCheck = CheckUser(oiask.unionid); return(userInfoCheck); }
/// <summary> /// 用户初次进入自愿者小程序验证用户是否是泰便利已注册用户,如果是返回泰便利用户中心信息,如果不是返回空 20200510 /// </summary> public Dtol.Easydtol.UserInfo EasyDecrypt(string code, string appId, string appSecret) { Dtol.Easydtol.UserInfo userInfo = new Dtol.Easydtol.UserInfo(); if (code == null || code == "") { return(userInfo); } if (String.IsNullOrEmpty(code)) { return(userInfo); } WeChatInfoModel oiask = JsonConvert.DeserializeObject <WeChatInfoModel>(GetOpenIdAndSessionKeyString(code, appId, appSecret)); if (!String.IsNullOrEmpty(oiask.unionid)) { userInfo = GetEasyUser(oiask.unionid); } return(userInfo); }
/// <summary> /// 20200629 用户初次进入自愿者小程序验证用户是否是泰便利已注册用户,如果是返回泰便利用户中心信息,如果不是返回空 20200510 /// </summary> public UserInfoResModel EasyDecryptByCode(string code, string appId, string appSecret) { UserInfoResModel resModel = new UserInfoResModel(); BaseViewModel model = new BaseViewModel(); Dtol.Easydtol.UserInfo user = new Dtol.Easydtol.UserInfo(); if (code == null || code == "") { model.ResponseCode = 9; model.Message = "参数为空"; resModel.baseView = model; resModel.userInfo = user; return(resModel); } WeChatInfoModel oiask = JsonConvert.DeserializeObject <WeChatInfoModel>(GetOpenIdAndSessionKeyString(code, appId, appSecret)); if (!String.IsNullOrEmpty(oiask.unionid)) { user = GetEasyUser(oiask.unionid); if (!String.IsNullOrEmpty(user.ID)) { model.ResponseCode = 7; model.Message = "unionid不为空,已注册泰便利"; } else { model.ResponseCode = 6; model.Message = "unionid不为空,未注册泰便利"; } resModel.baseView = model; resModel.userInfo = user; } else { if (!String.IsNullOrEmpty(oiask.openid)) { var mm = v_OpenidUnionidRepository.GetByParasOne(oiask.openid); if (mm != null) { user = GetEasyUser(mm.unionid); if (!String.IsNullOrEmpty(user.ID)) { model.ResponseCode = 7; model.Message = "unionid不为空,已注册泰便利"; } else { model.ResponseCode = 6; model.Message = "unionid不为空,未注册泰便利"; } resModel.baseView = model; resModel.userInfo = user; } else { model.ResponseCode = 8; model.Message = "unionid为空,未授权"; resModel.baseView = model; resModel.userInfo = user; } } else { model.ResponseCode = 8; model.Message = "unionid为空,未授权"; resModel.baseView = model; resModel.userInfo = user; } } return(resModel); }
public ActionResult <WeChatInfoModel> GetWeChartUserInfo(WeChatCodeModel codeModel) { WeChatInfoModel resModel = _weChatHttpClient.GetWeChartUserInfo(codeModel); return(resModel); }
/// <summary> /// 获取用户基本信息 /// </summary> public WeChatInfoModel GetWeChartUserInfo(WeChatCodeModel codeModel) { WeChatInfoModel InfoModel = _IWeChatClientRepository.Decrypt(codeModel.code, _IOptions.Value.appid, _IOptions.Value.secret); return(InfoModel); }