Skip to content

Commit 45fe075

Browse files
authored
Merge pull request #3065 from JeffreySu/Developer
Developer
2 parents 96b5f20 + 39b7047 commit 45fe075

File tree

14 files changed

+779
-104
lines changed

14 files changed

+779
-104
lines changed

src/Senparc.Weixin.All/Senparc.Weixin.All.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFramework>net8.0</TargetFramework>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
7-
<Version>2024.8.12</Version>
7+
<Version>2024.9.2</Version>
88
<LangVersion>10.0</LangVersion>
99
<AssemblyName>Senparc.Weixin.All</AssemblyName>
1010
<RootNamespace>Senparc.Weixin.All</RootNamespace>
@@ -46,6 +46,7 @@
4646
[2024-08-06] v2024.6.31 更新基础库,包括 Senparc.CO2NET 相关库、Senparc.AI
4747
[2024-08-11] v2024.8.11 升级 Senparc.Weixin.Open
4848
[2024-08-12] v2024.8.12 升级 Senparc.Weixin.Work
49+
[2024-09-02] v2024.9.2 WxOpen 支持小程序付费能力的用量告警事件
4950
</PackageReleaseNotes>
5051
<RepositoryUrl>https://github.com/JeffreySu/WeiXinMPSDK</RepositoryUrl>
5152
</PropertyGroup>
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#region Apache License Version 2.0
2+
/*----------------------------------------------------------------
3+
4+
Copyright 2024 Jeffrey Su & Suzhou Senparc Network Technology Co.,Ltd.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
7+
except in compliance with the License. You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software distributed under the
12+
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13+
either express or implied. See the License for the specific language governing permissions
14+
and limitations under the License.
15+
16+
Detail: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md
17+
18+
----------------------------------------------------------------*/
19+
#endregion Apache License Version 2.0
20+
21+
/*----------------------------------------------------------------
22+
Copyright (C) 2024 Senparc
23+
24+
文件名:RequestMessageEvent_UserAuthorizationCancellation.cs
25+
文件功能描述:事件之授权用户信息变更
26+
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/authorization_change.html
27+
28+
----------------------------------------------------------------*/
29+
30+
using Senparc.NeuChar.Entities;
31+
32+
namespace Senparc.Weixin.MP.Entities
33+
{
34+
/// <summary>
35+
/// 事件之授权用户信息变更
36+
/// </summary>
37+
public class RequestMessageEvent_UserAuthorizationCancellation : RequestMessageEventBase, IRequestMessageEventBase
38+
{
39+
/// <summary>
40+
/// 事件类型
41+
/// </summary>
42+
public override Event Event
43+
{
44+
get { return Event.user_authorization_revoke; }
45+
}
46+
47+
/// <summary>
48+
/// 授权用户OpenID
49+
/// </summary>
50+
public string OpenID { get; set; }
51+
52+
/// <summary>
53+
/// 公众号的AppID
54+
/// </summary>
55+
public string AppID { get; set; }
56+
57+
/// <summary>
58+
/// 用户撤回的H5授权信息,201:地址,202:发票信息,203:卡券信息,204:麦克风,205:昵称和头像,206:位置信息,207:选中的图片或视频
59+
/// </summary>
60+
public string RevokeInfo { get; set; }
61+
}
62+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#region Apache License Version 2.0
2+
/*----------------------------------------------------------------
3+
4+
Copyright 2024 Jeffrey Su & Suzhou Senparc Network Technology Co.,Ltd.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
7+
except in compliance with the License. You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software distributed under the
12+
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13+
either express or implied. See the License for the specific language governing permissions
14+
and limitations under the License.
15+
16+
Detail: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md
17+
18+
----------------------------------------------------------------*/
19+
#endregion Apache License Version 2.0
20+
21+
/*----------------------------------------------------------------
22+
Copyright (C) 2024 Senparc
23+
24+
文件名:RequestMessageEvent_UserAuthorizationRevoke.cs
25+
文件功能描述:事件之授权用户信息变更
26+
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/authorization_change.html
27+
28+
----------------------------------------------------------------*/
29+
30+
using Senparc.NeuChar.Entities;
31+
32+
namespace Senparc.Weixin.MP.Entities
33+
{
34+
/// <summary>
35+
/// 事件之授权用户信息变更
36+
/// </summary>
37+
public class RequestMessageEvent_UserAuthorizationRevoke : RequestMessageEventBase, IRequestMessageEventBase
38+
{
39+
/// <summary>
40+
/// 事件类型
41+
/// </summary>
42+
public override Event Event
43+
{
44+
get { return Event.user_authorization_revoke; }
45+
}
46+
47+
/// <summary>
48+
/// 授权用户OpenID
49+
/// </summary>
50+
public string OpenID { get; set; }
51+
52+
/// <summary>
53+
/// 公众号的AppID
54+
/// </summary>
55+
public string AppID { get; set; }
56+
57+
/// <summary>
58+
/// 用户撤回的H5授权信息,201:地址,202:发票信息,203:卡券信息,204:麦克风,205:昵称和头像,206:位置信息,207:选中的图片或视频
59+
/// </summary>
60+
public string RevokeInfo { get; set; }
61+
}
62+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#region Apache License Version 2.0
2+
/*----------------------------------------------------------------
3+
4+
Copyright 2024 Jeffrey Su & Suzhou Senparc Network Technology Co.,Ltd.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
7+
except in compliance with the License. You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software distributed under the
12+
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13+
either express or implied. See the License for the specific language governing permissions
14+
and limitations under the License.
15+
16+
Detail: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md
17+
18+
----------------------------------------------------------------*/
19+
#endregion Apache License Version 2.0
20+
21+
/*----------------------------------------------------------------
22+
Copyright (C) 2024 Senparc
23+
24+
文件名:RequestMessageEvent_UserInfoModified.cs
25+
文件功能描述:事件之授权用户信息变更
26+
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/authorization_change.html
27+
28+
----------------------------------------------------------------*/
29+
30+
using Senparc.NeuChar.Entities;
31+
32+
namespace Senparc.Weixin.MP.Entities
33+
{
34+
/// <summary>
35+
/// 事件之授权用户信息变更
36+
/// </summary>
37+
public class RequestMessageEvent_UserInfoModified : RequestMessageEventBase, IRequestMessageEventBase
38+
{
39+
/// <summary>
40+
/// 事件类型
41+
/// </summary>
42+
public override Event Event
43+
{
44+
get { return Event.user_info_modified; }
45+
}
46+
47+
/// <summary>
48+
/// 授权用户OpenID
49+
/// </summary>
50+
public string OpenID { get; set; }
51+
52+
/// <summary>
53+
/// 公众号的AppID
54+
/// </summary>
55+
public string AppID { get; set; }
56+
57+
/// <summary>
58+
/// 用户撤回的H5授权信息,201:地址,202:发票信息,203:卡券信息,204:麦克风,205:昵称和头像,206:位置信息,207:选中的图片或视频
59+
/// </summary>
60+
public string RevokeInfo { get; set; }
61+
}
62+
}

src/Senparc.Weixin.MP/Senparc.Weixin.MP/Enums.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,19 @@ public enum Event
430430
/// </summary>
431431
subscribe_msg_sent_event,
432432
#endregion
433+
434+
/// <summary>
435+
/// 用户资料变更
436+
/// </summary>
437+
user_info_modified,
438+
/// <summary>
439+
/// 用户撤回
440+
/// </summary>
441+
user_authorization_revoke,
442+
/// <summary>
443+
/// 用户完成注销
444+
/// </summary>
445+
user_authorization_cancellation,
433446
}
434447

435448

src/Senparc.Weixin.MP/Senparc.Weixin.MP/MessageHandlers/Async/MessageHandlerAsync.Event.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,15 @@ public virtual async Task<IResponseMessageBase> OnEventRequestAsync(IRequestMess
189189
responseMessage = await OnEvent_Subscribe_Msg_SentRequestAsync(RequestMessage as RequestMessageEvent_Subscribe_Msg_Sent).ConfigureAwait(false);
190190
break;
191191

192+
case Event.user_info_modified:
193+
responseMessage = await OnEvent_UserInfoModifiedRequesAsync(RequestMessage as RequestMessageEvent_UserInfoModified).ConfigureAwait(false);
194+
break;
195+
case Event.user_authorization_revoke:
196+
responseMessage = await OnEvent_UserAuthorizationRevokeRequestAsync(RequestMessage as RequestMessageEvent_UserAuthorizationRevoke).ConfigureAwait(false);
197+
break;
198+
case Event.user_authorization_cancellation:
199+
responseMessage = await OnEvent_UserAuthorizationCancellationRequestAsync(RequestMessage as RequestMessageEvent_UserAuthorizationCancellation).ConfigureAwait(false);
200+
break;
192201

193202
#region 微信认证事件推送
194203

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

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

269+
/// <summary>
270+
/// 【异步方法】Event事件类型请求之用户资料变更
271+
/// </summary>
272+
/// <param name="requestMessage"></param>
273+
/// <returns></returns>
274+
public virtual async Task<IResponseMessageBase> OnEvent_UserInfoModifiedRequesAsync(RequestMessageEvent_UserInfoModified requestMessage)
275+
{
276+
return await DefaultAsyncMethod(requestMessage, () => OnEvent_UserInfoModifiedRequest(requestMessage)).ConfigureAwait(false);
277+
}
278+
/// <summary>
279+
/// 【异步方法】Event事件类型请求之用户撤回
280+
/// </summary>
281+
/// <param name="requestMessage"></param>
282+
/// <returns></returns>
283+
public virtual async Task<IResponseMessageBase> OnEvent_UserAuthorizationRevokeRequestAsync(RequestMessageEvent_UserAuthorizationRevoke requestMessage)
284+
{
285+
return await DefaultAsyncMethod(requestMessage, () => OnEvent_UserAuthorizationRevokeRequest(requestMessage)).ConfigureAwait(false);
286+
}
287+
/// <summary>
288+
/// 【异步方法】Event事件类型请求之用户完成注销
289+
/// </summary>
290+
/// <param name="requestMessage"></param>
291+
/// <returns></returns>
292+
public virtual async Task<IResponseMessageBase> OnEvent_UserAuthorizationCancellationRequestAsync(RequestMessageEvent_UserAuthorizationCancellation requestMessage)
293+
{
294+
return await DefaultAsyncMethod(requestMessage, () => OnEvent_UserAuthorizationCancellationRequest(requestMessage)).ConfigureAwait(false);
295+
}
296+
260297
/// <summary>
261298
/// 【异步方法】Event事件类型请求之ENTER
262299
/// </summary>

src/Senparc.Weixin.MP/Senparc.Weixin.MP/MessageHandlers/MessageHandler.Event.cs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,16 @@ public virtual IResponseMessageBase OnEventRequest(IRequestMessageEventBase requ
192192
responseMessage = OnEvent_Subscribe_Msg_SentRequest(RequestMessage as RequestMessageEvent_Subscribe_Msg_Sent);
193193
break;
194194

195+
case Event.user_info_modified:
196+
responseMessage = OnEvent_UserInfoModifiedRequest(RequestMessage as RequestMessageEvent_UserInfoModified);
197+
break;
198+
case Event.user_authorization_revoke:
199+
responseMessage = OnEvent_UserAuthorizationRevokeRequest(RequestMessage as RequestMessageEvent_UserAuthorizationRevoke);
200+
break;
201+
case Event.user_authorization_cancellation:
202+
responseMessage = OnEvent_UserAuthorizationCancellationRequest(RequestMessage as RequestMessageEvent_UserAuthorizationCancellation);
203+
break;
204+
195205
#region 卡券回调
196206

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

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

270+
/// <summary>
271+
/// Event事件类型请求之用户资料变更
272+
/// </summary>
273+
/// <param name="requestMessage"></param>
274+
/// <returns></returns>
275+
public virtual IResponseMessageBase OnEvent_UserInfoModifiedRequest(RequestMessageEvent_UserInfoModified requestMessage)
276+
{
277+
return DefaultResponseMessage(requestMessage);
278+
}
279+
/// <summary>
280+
/// Event事件类型请求之用户撤回
281+
/// </summary>
282+
/// <param name="requestMessage"></param>
283+
/// <returns></returns>
284+
public virtual IResponseMessageBase OnEvent_UserAuthorizationRevokeRequest(RequestMessageEvent_UserAuthorizationRevoke requestMessage)
285+
{
286+
return DefaultResponseMessage(requestMessage);
287+
}
288+
/// <summary>
289+
/// Event事件类型请求之用户完成注销
290+
/// </summary>
291+
/// <param name="requestMessage"></param>
292+
/// <returns></returns>
293+
public virtual IResponseMessageBase OnEvent_UserAuthorizationCancellationRequest(RequestMessageEvent_UserAuthorizationCancellation requestMessage)
294+
{
295+
return DefaultResponseMessage(requestMessage);
296+
}
297+
260298
/// <summary>
261299
/// Event事件类型请求之ENTER
262300
/// </summary>

0 commit comments

Comments
 (0)