/// <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); }
/// <summary> /// 20200629 用户初次进入自愿者小程序 判断是否能获取unionid,如果有unionid验证用户是否是泰便利注册用户, /// 如果是返回泰便利用户中心信息,如果不是返回空 /// </summary> public UserInfoResModel GetEasyUserInfoByCode(string code) { UserInfoResModel resModel = new UserInfoResModel(); resModel = _IWeChatClientRepository.EasyDecryptByCode(code, _IOptions.Value.appid, _IOptions.Value.secret); //判断 是否注册泰便利 if (resModel.userInfo != null) { if (resModel.userInfo.ID != null) { DEncrypt encrypt = new DEncrypt(); string Name = encrypt.Decrypt(resModel.userInfo.Name); string CertificateID = encrypt.Decrypt(resModel.userInfo.CertificateID); string Mobile = encrypt.Decrypt(resModel.userInfo.Mobile); resModel.userInfo.Name = Name; resModel.userInfo.CertificateID = CertificateID; resModel.userInfo.Mobile = Mobile; } } return(resModel); }
/// <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 <UserInfoResModel> GetWeChartEasyUserInfoNew(WeChatCodeModel codeModel) { UserInfoResModel resModel = _weChatHttpClientService.GetEasyUserInfoByCode(codeModel.code); return(resModel); }
public ActionResult <UserInfoResModel> GetWeChartUserInfoByDE(WeChatCodeDEModel codeModel) { UserInfoResModel resModel = _weChatHttpClientService.GetWeChartUserInfoByDE(codeModel); return(resModel); }