333
This commit is contained in:
parent
bbe07eefe6
commit
64571676f0
|
|
@ -155,6 +155,50 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||||
_weChatOptions = weChatOptions.Value;
|
_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登陆成功之后发送的请求=========================================================
|
#region wx.login登陆成功之后发送的请求=========================================================
|
||||||
|
|
||||||
|
|
@ -175,6 +219,12 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||||
request.AccessToken = accessToken;
|
request.AccessToken = accessToken;
|
||||||
|
|
||||||
var response = await client.ExecuteSnsJsCode2SessionAsync(request, HttpContext.RequestAborted);
|
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.请求成功)
|
if (response.ErrorCode == (int)WeChatReturnCode.ReturnCode.请求成功)
|
||||||
{
|
{
|
||||||
using (await _mutex.LockAsync())
|
using (await _mutex.LockAsync())
|
||||||
|
|
|
||||||
|
|
@ -855,6 +855,13 @@
|
||||||
构造函数
|
构造函数
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</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)">
|
<member name="M:CoreCms.Net.Web.WebApi.Controllers.UserController.OnLogin(CoreCms.Net.Model.FromBody.FMWxPost)">
|
||||||
<summary>
|
<summary>
|
||||||
wx.login登陆成功之后发送的请求
|
wx.login登陆成功之后发送的请求
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user