Skip to content

Commit

Permalink
Merge pull request #3065 from JeffreySu/Developer
Browse files Browse the repository at this point in the history
Developer
  • Loading branch information
JeffreySu authored Sep 1, 2024
2 parents 96b5f20 + 39b7047 commit 45fe075
Show file tree
Hide file tree
Showing 14 changed files with 779 additions and 104 deletions.
3 changes: 2 additions & 1 deletion src/Senparc.Weixin.All/Senparc.Weixin.All.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>2024.8.12</Version>
<Version>2024.9.2</Version>
<LangVersion>10.0</LangVersion>
<AssemblyName>Senparc.Weixin.All</AssemblyName>
<RootNamespace>Senparc.Weixin.All</RootNamespace>
Expand Down Expand Up @@ -46,6 +46,7 @@
[2024-08-06] v2024.6.31 更新基础库,包括 Senparc.CO2NET 相关库、Senparc.AI
[2024-08-11] v2024.8.11 升级 Senparc.Weixin.Open
[2024-08-12] v2024.8.12 升级 Senparc.Weixin.Work
[2024-09-02] v2024.9.2 WxOpen 支持小程序付费能力的用量告警事件
</PackageReleaseNotes>
<RepositoryUrl>https://github.com/JeffreySu/WeiXinMPSDK</RepositoryUrl>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#region Apache License Version 2.0
/*----------------------------------------------------------------
Copyright 2024 Jeffrey Su & Suzhou Senparc Network Technology Co.,Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific language governing permissions
and limitations under the License.
Detail: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md
----------------------------------------------------------------*/
#endregion Apache License Version 2.0

/*----------------------------------------------------------------
Copyright (C) 2024 Senparc
文件名:RequestMessageEvent_UserAuthorizationCancellation.cs
文件功能描述:事件之授权用户信息变更
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/authorization_change.html
----------------------------------------------------------------*/

using Senparc.NeuChar.Entities;

namespace Senparc.Weixin.MP.Entities
{
/// <summary>
/// 事件之授权用户信息变更
/// </summary>
public class RequestMessageEvent_UserAuthorizationCancellation : RequestMessageEventBase, IRequestMessageEventBase
{
/// <summary>
/// 事件类型
/// </summary>
public override Event Event
{
get { return Event.user_authorization_revoke; }
}

/// <summary>
/// 授权用户OpenID
/// </summary>
public string OpenID { get; set; }

/// <summary>
/// 公众号的AppID
/// </summary>
public string AppID { get; set; }

/// <summary>
/// 用户撤回的H5授权信息,201:地址,202:发票信息,203:卡券信息,204:麦克风,205:昵称和头像,206:位置信息,207:选中的图片或视频
/// </summary>
public string RevokeInfo { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#region Apache License Version 2.0
/*----------------------------------------------------------------
Copyright 2024 Jeffrey Su & Suzhou Senparc Network Technology Co.,Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific language governing permissions
and limitations under the License.
Detail: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md
----------------------------------------------------------------*/
#endregion Apache License Version 2.0

/*----------------------------------------------------------------
Copyright (C) 2024 Senparc
文件名:RequestMessageEvent_UserAuthorizationRevoke.cs
文件功能描述:事件之授权用户信息变更
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/authorization_change.html
----------------------------------------------------------------*/

using Senparc.NeuChar.Entities;

namespace Senparc.Weixin.MP.Entities
{
/// <summary>
/// 事件之授权用户信息变更
/// </summary>
public class RequestMessageEvent_UserAuthorizationRevoke : RequestMessageEventBase, IRequestMessageEventBase
{
/// <summary>
/// 事件类型
/// </summary>
public override Event Event
{
get { return Event.user_authorization_revoke; }
}

/// <summary>
/// 授权用户OpenID
/// </summary>
public string OpenID { get; set; }

/// <summary>
/// 公众号的AppID
/// </summary>
public string AppID { get; set; }

/// <summary>
/// 用户撤回的H5授权信息,201:地址,202:发票信息,203:卡券信息,204:麦克风,205:昵称和头像,206:位置信息,207:选中的图片或视频
/// </summary>
public string RevokeInfo { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#region Apache License Version 2.0
/*----------------------------------------------------------------
Copyright 2024 Jeffrey Su & Suzhou Senparc Network Technology Co.,Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific language governing permissions
and limitations under the License.
Detail: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md
----------------------------------------------------------------*/
#endregion Apache License Version 2.0

/*----------------------------------------------------------------
Copyright (C) 2024 Senparc
文件名:RequestMessageEvent_UserInfoModified.cs
文件功能描述:事件之授权用户信息变更
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/authorization_change.html
----------------------------------------------------------------*/

using Senparc.NeuChar.Entities;

namespace Senparc.Weixin.MP.Entities
{
/// <summary>
/// 事件之授权用户信息变更
/// </summary>
public class RequestMessageEvent_UserInfoModified : RequestMessageEventBase, IRequestMessageEventBase
{
/// <summary>
/// 事件类型
/// </summary>
public override Event Event
{
get { return Event.user_info_modified; }
}

/// <summary>
/// 授权用户OpenID
/// </summary>
public string OpenID { get; set; }

/// <summary>
/// 公众号的AppID
/// </summary>
public string AppID { get; set; }

/// <summary>
/// 用户撤回的H5授权信息,201:地址,202:发票信息,203:卡券信息,204:麦克风,205:昵称和头像,206:位置信息,207:选中的图片或视频
/// </summary>
public string RevokeInfo { get; set; }
}
}
13 changes: 13 additions & 0 deletions src/Senparc.Weixin.MP/Senparc.Weixin.MP/Enums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,19 @@ public enum Event
/// </summary>
subscribe_msg_sent_event,
#endregion

/// <summary>
/// 用户资料变更
/// </summary>
user_info_modified,
/// <summary>
/// 用户撤回
/// </summary>
user_authorization_revoke,
/// <summary>
/// 用户完成注销
/// </summary>
user_authorization_cancellation,
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,15 @@ public virtual async Task<IResponseMessageBase> OnEventRequestAsync(IRequestMess
responseMessage = await OnEvent_Subscribe_Msg_SentRequestAsync(RequestMessage as RequestMessageEvent_Subscribe_Msg_Sent).ConfigureAwait(false);
break;

case Event.user_info_modified:
responseMessage = await OnEvent_UserInfoModifiedRequesAsync(RequestMessage as RequestMessageEvent_UserInfoModified).ConfigureAwait(false);
break;
case Event.user_authorization_revoke:
responseMessage = await OnEvent_UserAuthorizationRevokeRequestAsync(RequestMessage as RequestMessageEvent_UserAuthorizationRevoke).ConfigureAwait(false);
break;
case Event.user_authorization_cancellation:
responseMessage = await OnEvent_UserAuthorizationCancellationRequestAsync(RequestMessage as RequestMessageEvent_UserAuthorizationCancellation).ConfigureAwait(false);
break;

#region 微信认证事件推送

Expand Down Expand Up @@ -257,6 +266,34 @@ public virtual async Task<IResponseMessageBase> OnEventRequestAsync(IRequestMess

#region Event下属分类,接收事件方法

/// <summary>
/// 【异步方法】Event事件类型请求之用户资料变更
/// </summary>
/// <param name="requestMessage"></param>
/// <returns></returns>
public virtual async Task<IResponseMessageBase> OnEvent_UserInfoModifiedRequesAsync(RequestMessageEvent_UserInfoModified requestMessage)
{
return await DefaultAsyncMethod(requestMessage, () => OnEvent_UserInfoModifiedRequest(requestMessage)).ConfigureAwait(false);
}
/// <summary>
/// 【异步方法】Event事件类型请求之用户撤回
/// </summary>
/// <param name="requestMessage"></param>
/// <returns></returns>
public virtual async Task<IResponseMessageBase> OnEvent_UserAuthorizationRevokeRequestAsync(RequestMessageEvent_UserAuthorizationRevoke requestMessage)
{
return await DefaultAsyncMethod(requestMessage, () => OnEvent_UserAuthorizationRevokeRequest(requestMessage)).ConfigureAwait(false);
}
/// <summary>
/// 【异步方法】Event事件类型请求之用户完成注销
/// </summary>
/// <param name="requestMessage"></param>
/// <returns></returns>
public virtual async Task<IResponseMessageBase> OnEvent_UserAuthorizationCancellationRequestAsync(RequestMessageEvent_UserAuthorizationCancellation requestMessage)
{
return await DefaultAsyncMethod(requestMessage, () => OnEvent_UserAuthorizationCancellationRequest(requestMessage)).ConfigureAwait(false);
}

/// <summary>
/// 【异步方法】Event事件类型请求之ENTER
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,16 @@ public virtual IResponseMessageBase OnEventRequest(IRequestMessageEventBase requ
responseMessage = OnEvent_Subscribe_Msg_SentRequest(RequestMessage as RequestMessageEvent_Subscribe_Msg_Sent);
break;

case Event.user_info_modified:
responseMessage = OnEvent_UserInfoModifiedRequest(RequestMessage as RequestMessageEvent_UserInfoModified);
break;
case Event.user_authorization_revoke:
responseMessage = OnEvent_UserAuthorizationRevokeRequest(RequestMessage as RequestMessageEvent_UserAuthorizationRevoke);
break;
case Event.user_authorization_cancellation:
responseMessage = OnEvent_UserAuthorizationCancellationRequest(RequestMessage as RequestMessageEvent_UserAuthorizationCancellation);
break;

#region 卡券回调

case Event.giftcard_pay_done:
Expand Down Expand Up @@ -257,6 +267,34 @@ public virtual IResponseMessageBase OnEventRequest(IRequestMessageEventBase requ

#region Event下属分类,接收事件方法

/// <summary>
/// Event事件类型请求之用户资料变更
/// </summary>
/// <param name="requestMessage"></param>
/// <returns></returns>
public virtual IResponseMessageBase OnEvent_UserInfoModifiedRequest(RequestMessageEvent_UserInfoModified requestMessage)
{
return DefaultResponseMessage(requestMessage);
}
/// <summary>
/// Event事件类型请求之用户撤回
/// </summary>
/// <param name="requestMessage"></param>
/// <returns></returns>
public virtual IResponseMessageBase OnEvent_UserAuthorizationRevokeRequest(RequestMessageEvent_UserAuthorizationRevoke requestMessage)
{
return DefaultResponseMessage(requestMessage);
}
/// <summary>
/// Event事件类型请求之用户完成注销
/// </summary>
/// <param name="requestMessage"></param>
/// <returns></returns>
public virtual IResponseMessageBase OnEvent_UserAuthorizationCancellationRequest(RequestMessageEvent_UserAuthorizationCancellation requestMessage)
{
return DefaultResponseMessage(requestMessage);
}

/// <summary>
/// Event事件类型请求之ENTER
/// </summary>
Expand Down
Loading

0 comments on commit 45fe075

Please sign in to comment.