333
This commit is contained in:
parent
bbe07eefe6
commit
64571676f0
|
|
@ -155,6 +155,50 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
|||
_weChatOptions = weChatOptions.Value;
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// wx.login登陆成功之后发送的请求
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<WebApiDto> GetWxUserId([FromBody] FMWxPost entity)
|
||||
{
|
||||
var jm = new WebApiCallBack();
|
||||
|
||||
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
|
||||
var request = new SnsJsCode2SessionRequest();
|
||||
request.JsCode = entity.code;
|
||||
request.AccessToken = accessToken;
|
||||
|
||||
var response = await client.ExecuteSnsJsCode2SessionAsync(request, HttpContext.RequestAborted);
|
||||
if (response.ErrorCode == (int)WeChatReturnCode.ReturnCode.请求成功)
|
||||
{
|
||||
var userInfo = await _userWeChatInfoServices.QueryByClauseAsync(p => p.openid == response.OpenId);
|
||||
if (userInfo != null)
|
||||
{
|
||||
if (userInfo.sessionKey != response.SessionKey)
|
||||
{
|
||||
await _userWeChatInfoServices.UpdateAsync(
|
||||
p => new CoreCmsUserWeChatInfo() { sessionKey = response.SessionKey, updateTime = DateTime.Now },
|
||||
p => p.openid == userInfo.openid);
|
||||
}
|
||||
return new WebApiDto { Code = 0, Msg = "OK", Data = new { user = userInfo.userId, isMobile = userInfo.mobile?.Length > 0 } };
|
||||
}
|
||||
userInfo = new CoreCmsUserWeChatInfo();
|
||||
userInfo.openid = response.OpenId;
|
||||
userInfo.type = (int)GlobalEnumVars.UserAccountTypes.微信小程序;
|
||||
userInfo.sessionKey = response.SessionKey;
|
||||
userInfo.gender = 1;
|
||||
userInfo.createTime = DateTime.Now;
|
||||
await _userWeChatInfoServices.InsertAsync(userInfo);
|
||||
if (userInfo is { userId: > 0 })
|
||||
{
|
||||
return new WebApiDto { Code = 0, Msg = "OK", Data = new { user = userInfo.userId, isMobile = false } };
|
||||
}
|
||||
}
|
||||
return new WebApiDto { Code = -2, Msg = "", Data = new { user = 0, isMobile = false } };
|
||||
}
|
||||
|
||||
#region wx.login登陆成功之后发送的请求=========================================================
|
||||
|
||||
|
|
@ -175,6 +219,12 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
|||
request.AccessToken = accessToken;
|
||||
|
||||
var response = await client.ExecuteSnsJsCode2SessionAsync(request, HttpContext.RequestAborted);
|
||||
//wxa/business/getuserphonenumber
|
||||
//client.ExecuteWxaBusinessGetUserPhoneNumberAsync(new SKIT.FlurlHttpClient.Wechat.Api.Models.WxaBusinessGetUserPhoneNumberRequest()
|
||||
//{
|
||||
// AccessToken = accessToken,
|
||||
// Code = ""
|
||||
//}, HttpContext.RequestAborted).GetAwaiter().GetResult();
|
||||
if (response.ErrorCode == (int)WeChatReturnCode.ReturnCode.请求成功)
|
||||
{
|
||||
using (await _mutex.LockAsync())
|
||||
|
|
|
|||
|
|
@ -855,6 +855,13 @@
|
|||
构造函数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:CoreCms.Net.Web.WebApi.Controllers.UserController.GetWxUserId(CoreCms.Net.Model.FromBody.FMWxPost)">
|
||||
<summary>
|
||||
wx.login登陆成功之后发送的请求
|
||||
</summary>
|
||||
<param name="entity"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:CoreCms.Net.Web.WebApi.Controllers.UserController.OnLogin(CoreCms.Net.Model.FromBody.FMWxPost)">
|
||||
<summary>
|
||||
wx.login登陆成功之后发送的请求
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user