Skip to content

Commit 23642ab

Browse files
authored
Merge pull request #3234 from JeffreySu/Developer
Developer
2 parents 584952f + 59dffed commit 23642ab

File tree

12 files changed

+183
-111
lines changed

12 files changed

+183
-111
lines changed

Samples/MP/Senparc.Weixin.Sample.MP.Simple/Program.cs

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,74 @@
1-
using System.Text;
1+
using System.Text;
2+
using Microsoft.AspNetCore.Builder;
3+
using Microsoft.AspNetCore.Http;
4+
using Microsoft.Extensions.DependencyInjection;
5+
using Microsoft.Extensions.Hosting;
6+
using Microsoft.Extensions.FileProviders;
7+
using Senparc.Weixin.RegisterServices;
8+
using Senparc.Weixin.AspNet;
9+
using Senparc.Weixin.MP.MessageHandlers.Middleware;
10+
using Senparc.Weixin.Sample.MP;
211
using Senparc.Weixin.MP.AdvancedAPIs.MerChant;
12+
using System.IO;
313

414
var builder = WebApplication.CreateBuilder(args);
515

616
// Add services to the container.
717
builder.Services.AddControllersWithViews();
818

9-
//使用本地缓存必须添加
19+
// 使用内存缓存必须添加
1020
builder.Services.AddMemoryCache();
1121

12-
#region 添加微信配置(一行代码)
22+
#region 添加微信配置(一行代码)
1323

14-
//Senparc.Weixin 注册(必须)
24+
// Senparc.Weixin 注册(必须)
1525
builder.Services.AddSenparcWeixin(builder.Configuration);
1626

1727
#endregion
1828

1929
var app = builder.Build();
2030

21-
#region 启用微信配置(一句代码)
31+
#region 启用微信配置(一句代码)
2232

23-
//启用微信配置(必须)
33+
// 启用微信配置(必须)
2434
var registerService = app.UseSenparcWeixin(app.Environment,
25-
senparcSetting: null /* 不为 null 则覆盖 appsettings 中的 SenpacSetting 配置*/,
26-
senparcWeixinSetting: null /* 不为 null 则覆盖 appsettings 中的 SenpacWeixinSetting 配置*/,
27-
globalRegisterConfigure: register => { /* CO2NET 全局配置 */ },
28-
weixinRegisterConfigure: (register, weixinSetting) => {/* 注册公众号或其他平台信息(可以执行多次,注册多个公众号)*/},
29-
autoRegisterAllPlatforms: true /* 自动注册所有平台 */
35+
senparcSetting: null /* 传入 null 则覆盖 appsettings 中的 SenpacSetting 配置*/,
36+
senparcWeixinSetting: null /* 传入 null 则覆盖 appsettings 中的 SenpacWeixinSetting 配置*/,
37+
globalRegisterConfigure: register => { /* CO2NET 全局配置 */ },
38+
weixinRegisterConfigure: (register, weixinSetting) => {/* 注册公众号或开放平台账号信息(可以执行多次,注册多个公众号)*/},
39+
autoRegisterAllPlatforms: true /* 自动注册所有平台 */
3040
);
3141

32-
#region 使用 MessageHadler 中间件,用于取代创建独立的 Controller
42+
#region 使用 MessageHandler 中间件直接接收消息,无需 Controller
3343

34-
//MessageHandler 中间件介绍:https://www.cnblogs.com/szw/p/Wechat-MessageHandler-Middleware.html
35-
//使用公众号的 MessageHandler 中间件(不再需要创建 Controller
44+
// MessageHandler 中间件功能:https://www.cnblogs.com/szw/p/Wechat-MessageHandler-Middleware.html
45+
// 使用公众号的 MessageHandler 中间件,不再需要编写 Controller
3646
app.UseMessageHandlerForMp("/WeixinAsync", CustomMessageHandler.GenerateMessageHandler, options =>
3747
{
38-
//获取默认微信配置
48+
// 获取默认微信配置
3949
var weixinSetting = Senparc.Weixin.Config.SenparcWeixinSetting.Items["OpenVip"];
4050

41-
//[必须] 设置微信配置
51+
// [必填] 指定微信配置
4252
options.AccountSettingFunc = context => weixinSetting;
4353

44-
//[可选] 设置最大文本长度回复限制(超长后会调用客服接口分批次回复)
54+
// [可选] 设置文本返回长度限制;如需超长消息可通过客服接口分段回复
4555
options.TextResponseLimitOptions = new TextResponseLimitOptions(2048, weixinSetting.WeixinAppId);
4656
});
4757

4858
#endregion
4959

5060
#endregion
5161

52-
#region 高级接口调用示例
62+
#region 逻辑接口调用示例
5363

5464
app.MapGroup("/").MapGet("/TryApi", async () =>
5565
{
56-
//演示获取已关注用户的 OpenId(分批获取的第一批
66+
// 展示如何获取已关注用户的 OpenId(仅获取的第一个
5767

5868
var weixinSetting = Senparc.Weixin.Config.SenparcWeixinSetting.MpSetting;
5969
var users = await Senparc.Weixin.MP.AdvancedAPIs.UserApi.GetAsync(weixinSetting.WeixinAppId, null);
6070

61-
Console.WriteLine($"展示前 {users.count} 个 OpenId");
71+
Console.WriteLine($"展示前 {users.count} 个 OpenId");
6272

6373
return users.data.openid;
6474
});
@@ -76,7 +86,7 @@
7686
app.UseHttpsRedirection();
7787
app.UseStaticFiles();
7888

79-
#region 此部分代码为 Sample 共享文件需要而添加,实际项目无需添加
89+
#region 此段代码仅为 Sample 示例需要,实际项目可按需处理
8090
#if DEBUG
8191
//app.UseStaticFiles(new StaticFileOptions
8292
//{

Samples/MP/Senparc.Weixin.Sample.MP/Program.cs

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,60 @@
1+
using Microsoft.AspNetCore.Builder;
2+
using Microsoft.AspNetCore.Http;
3+
using Microsoft.Extensions.DependencyInjection;
4+
using Microsoft.Extensions.Hosting;
5+
using Microsoft.Extensions.FileProviders;
6+
using Senparc.Weixin.RegisterServices;
7+
using Senparc.Weixin.AspNet;
8+
using Senparc.Weixin.MP.MessageHandlers.Middleware;
9+
using Senparc.Weixin.Sample.MP;
10+
using System.IO;
11+
112
var builder = WebApplication.CreateBuilder(args);
213

314
// Add services to the container.
415
builder.Services.AddControllersWithViews();
516

6-
//使用本地缓存必须添加
17+
// 使用内存缓存必须添加
718
builder.Services.AddMemoryCache();
819

9-
#region 添加微信配置(一行代码)
20+
#region 添加微信配置(一行代码)
1021

11-
//Senparc.Weixin 注册(必须)
22+
// Senparc.Weixin 注册(必须)
1223
builder.Services.AddSenparcWeixin(builder.Configuration);
1324

1425
#endregion
1526

1627
var app = builder.Build();
1728

18-
#region 启用微信配置(一句代码)
29+
#region 启用微信配置(一句代码)
1930

20-
//手动获取配置信息可使用以下方法
21-
//var senparcWeixinSetting = app.Services.GetService<IOptions<SenparcWeixinSetting>>()!.Value;
31+
// 手动获取配置信息可使用如下方式:
32+
// var senparcWeixinSetting = app.Services.GetService<IOptions<SenparcWeixinSetting>>()!.Value;
2233

23-
//启用微信配置(必须)
34+
// 启用微信配置(必须)
2435
var registerService = app.UseSenparcWeixin(app.Environment,
25-
null /* 不为 null 则覆盖 appsettings 中的 SenpacSetting 配置*/,
26-
null /* 不为 null 则覆盖 appsettings 中的 SenpacWeixinSetting 配置*/,
27-
register => { /* CO2NET 全局配置 */ },
36+
null /* 传入 null 则覆盖 appsettings 中的 SenpacSetting 配置*/,
37+
null /* 传入 null 则覆盖 appsettings 中的 SenpacWeixinSetting 配置*/,
38+
register => { /* CO2NET 全局配置 */ },
2839
(register, weixinSetting) =>
2940
{
30-
//注册公众号信息(可以执行多次,注册多个公众号)
31-
register.RegisterMpAccount(weixinSetting, "【盛派网络小助手】公众号");
41+
// 注册公众号账号信息(可以执行多次,注册多个公众号)
42+
register.RegisterMpAccount(weixinSetting, "【盛派网络小助手】公众号");
3243
});
3344

34-
#region 使用 MessageHadler 中间件,用于取代创建独立的 Controller
45+
#region 使用 MessageHandler 中间件直接接收消息,无需 Controller
3546

36-
//MessageHandler 中间件介绍:https://www.cnblogs.com/szw/p/Wechat-MessageHandler-Middleware.html
37-
//使用公众号的 MessageHandler 中间件(不再需要创建 Controller
47+
// MessageHandler 中间件功能:https://www.cnblogs.com/szw/p/Wechat-MessageHandler-Middleware.html
48+
// 使用公众号的 MessageHandler 中间件,不再需要编写 Controller
3849
app.UseMessageHandlerForMp("/WeixinAsync", CustomMessageHandler.GenerateMessageHandler, options =>
3950
{
40-
//获取默认微信配置
51+
// 获取默认微信配置
4152
var weixinSetting = Senparc.Weixin.Config.SenparcWeixinSetting;
4253

43-
//[必须] 设置微信配置
54+
// [必填] 指定微信配置
4455
options.AccountSettingFunc = context => weixinSetting;
4556

46-
//[可选] 设置最大文本长度回复限制(超长后会调用客服接口分批次回复)
57+
// [可选] 设置文本返回长度限制;如需超长消息可通过客服接口分段回复
4758
options.TextResponseLimitOptions = new TextResponseLimitOptions(2048, weixinSetting.WeixinAppId);
4859
});
4960

@@ -62,7 +73,7 @@
6273
app.UseHttpsRedirection();
6374
app.UseStaticFiles();
6475

65-
#region 此部分代码为 Sample 共享文件需要而添加,实际项目无需添加
76+
#region 此段代码仅为 Sample 示例需要,实际项目可按需处理
6677
#if DEBUG
6778
//app.UseStaticFiles(new StaticFileOptions
6879
//{

Samples/MP/Senparc.Weixin.Sample.MP/Senparc.Weixin.Sample.MP.net10.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212
<!-- 此节点为 Sample 共享文件需要而添加,实际项目无需添加 -->
1313
<ItemGroup Condition=" '$(Configuration)' != 'Release' ">
14-
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />
15-
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.0" />
14+
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.3.0" />
15+
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="10.0.0" />
1616
<!--<EmbeddedResource Include="..\..\Shared\Senparc.Weixin.Sample.Shared\wwwroot\**\*">
1717
<Link>wwwroot\%(RecursiveDir)/%(FileName)%(Extension)</Link>
1818
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -24,7 +24,7 @@
2424

2525
<!--引用 Nuget 包-->
2626
<ItemGroup>
27-
<PackageReference Include="Senparc.Weixin.AspNet" Version="1.5.0.1-preview.3" />
27+
<PackageReference Include="Senparc.Weixin.AspNet" Version="1.6.0" />
2828
<PackageReference Include="Senparc.Weixin.MP" Version="16.23.9" />
2929
<PackageReference Include="Senparc.Weixin.MP.Middleware" Version="1.4.10" />
3030
<PackageReference Include="Senparc.Weixin.MP.MVC" Version="7.16.10" />

Samples/TenPayV2/Senparc.Weixin.Sample.TenPayV2/Program.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
using Senparc.Weixin.RegisterServices;
1+
using Microsoft.AspNetCore.Builder;
2+
using Microsoft.AspNetCore.Http;
3+
using Microsoft.Extensions.FileProviders;
4+
using Senparc.Weixin.RegisterServices;
5+
using Senparc.Weixin.AspNet;
6+
using System.IO;
27

38
var builder = WebApplication.CreateBuilder(args);
49

Samples/TenPayV2/Senparc.Weixin.Sample.TenPayV2/Senparc.Weixin.Sample.TenPayV2.net10.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212
<!-- 此节点为 Sample 共享文件需要而添加,实际项目无需添加 -->
1313
<ItemGroup Condition=" '$(Configuration)' != 'Release' ">
14-
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />
15-
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.0" />
14+
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.3.0" />
15+
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="10.0.0" />
1616
<!--<EmbeddedResource Include="..\..\Shared\Senparc.Weixin.Sample.Shared\wwwroot\**\*">
1717
<Link>wwwroot\%(RecursiveDir)/%(FileName)%(Extension)</Link>
1818
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -24,7 +24,7 @@
2424

2525
<!--引用 Nuget 包-->
2626
<ItemGroup>
27-
<PackageReference Include="Senparc.Weixin.AspNet" Version="1.5.0.1-preview.3" />
27+
<PackageReference Include="Senparc.Weixin.AspNet" Version="1.6.0" />
2828
<PackageReference Include="Senparc.Weixin.MP" Version="16.23.9" />
2929
<PackageReference Include="Senparc.Weixin.MP.MVC" Version="7.16.10" />
3030
<PackageReference Include="Senparc.Weixin.TenPay" Version="1.17.9" />

Samples/TenPayV3/Senparc.Weixin.Sample.TenPayV3/Senparc.Weixin.Sample.TenPayV3.net10.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212
<!-- 此节点为 Sample 共享文件需要而添加,实际项目无需添加 -->
1313
<ItemGroup Condition=" '$(Configuration)' != 'Release' ">
14-
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />
15-
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.0" />
14+
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.3.0" />
15+
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="10.0.0" />
1616
<!--<EmbeddedResource Include="..\..\Shared\Senparc.Weixin.Sample.Shared\wwwroot\**\*">
1717
<Link>wwwroot\%(RecursiveDir)/%(FileName)%(Extension)</Link>
1818
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -25,10 +25,10 @@
2525

2626
<!--引用 Nuget 包-->
2727
<ItemGroup>
28-
<PackageReference Include="Senparc.Weixin.AspNet" Version="1.5.0.1-preview.3" />
28+
<PackageReference Include="Senparc.Weixin.AspNet" Version="1.6.0" />
2929
<PackageReference Include="Senparc.Weixin.MP" Version="16.23.9" />
3030
<PackageReference Include="Senparc.Weixin.MP.MVC" Version="7.16.10" />
31-
<PackageReference Include="Senparc.Weixin.TenpayV3" Version="2.2.1" />
31+
<PackageReference Include="Senparc.Weixin.TenpayV3" Version="2.3.2" />
3232
<PackageReference Include="System.Drawing.Common" Version="8.0.0" />
3333
<PackageReference Include="ZXing.Net" Version="0.16.9" />
3434
</ItemGroup>

Samples/Work/Senparc.Weixin.Sample.Work/Program.cs

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
using Microsoft.AspNetCore.Builder;
1+
using Microsoft.AspNetCore.Builder;
22
using Microsoft.AspNetCore.Http;
33
using Microsoft.Extensions.DependencyInjection;
44
using Microsoft.Extensions.Hosting;
5+
using Microsoft.Extensions.FileProviders;
6+
using Senparc.Weixin.RegisterServices;
7+
using Senparc.Weixin.AspNet;
8+
using Senparc.Weixin.Work.MessageHandlers.Middleware;
9+
using Senparc.Weixin.Sample.Work.MessageHandlers;
510
using Senparc.Weixin.Work.Containers;
611
using System.IO;
712

@@ -10,44 +15,44 @@
1015
// Add services to the container.
1116
builder.Services.AddControllersWithViews();
1217

13-
//使用本地缓存必须添加
18+
// 使用内存缓存必须添加
1419
builder.Services.AddMemoryCache();
1520

16-
#region 添加微信配置(一行代码)
21+
#region 添加微信配置(一行代码)
1722

18-
//Senparc.Weixin 注册(必须)
23+
// Senparc.Weixin 注册(必须)
1924
builder.Services.AddSenparcWeixin(builder.Configuration);
2025

2126
#endregion
2227

2328

2429
var app = builder.Build();
2530

26-
#region 启用微信配置(一句代码)
31+
#region 启用微信配置(一句代码)
2732

28-
//启用微信配置(必须)
33+
// 启用微信配置(必须)
2934
var registerService = app.UseSenparcWeixin(app.Environment, null, null,
3035
register => { },
3136
(register, weixinSetting) =>
3237
{
33-
//注册企业微信(可以执行多次,注册多个账号)
34-
register.RegisterWorkAccount(weixinSetting, "【盛派网络】企业微信");
38+
// 注册企业微信账号信息(可以执行多次,注册多个账号)
39+
register.RegisterWorkAccount(weixinSetting, "【盛派网络】企业微信");
3540
});
3641

37-
#region 使用 MessageHadler 中间件,用于取代创建独立的 Controller
42+
#region 使用 MessageHandler 中间件直接接收消息,无需 Controller
3843

39-
//MessageHandler 中间件介绍(参考公众号):https://www.cnblogs.com/szw/p/Wechat-MessageHandler-Middleware.html
44+
// MessageHandler 中间件功能(参考公众号):https://www.cnblogs.com/szw/p/Wechat-MessageHandler-Middleware.html
4045

41-
//使用企业微信的 MessageHandler 中间件(不再需要创建 Controller --DPBMARK Work
46+
// 使用企业微信的 MessageHandler 中间件,不再需要编写 Controller --DPBMARK Work
4247
app.UseMessageHandlerForWork("/WorkAsync", WorkCustomMessageHandler.GenerateMessageHandler, options =>
4348
{
44-
//获取默认微信配置
49+
// 获取默认微信配置
4550
var weixinSetting = Senparc.Weixin.Config.SenparcWeixinSetting;
4651

47-
//[必须] 设置微信配置
52+
// [必填] 指定微信配置
4853
options.AccountSettingFunc = context => weixinSetting;
4954

50-
//[可选] 设置最大文本长度回复限制(超长后会调用客服接口分批次回复)
55+
// [可选] 设置文本返回长度限制;如需超长消息可通过客服接口分段回复
5156
var appKey = AccessTokenContainer.BuildingKey(weixinSetting.WorkSetting);
5257
options.TextResponseLimitOptions = new TextResponseLimitOptions(2048, appKey);
5358
});
@@ -66,7 +71,7 @@
6671
app.UseHttpsRedirection();
6772
app.UseStaticFiles();
6873

69-
#region 此部分代码为 Sample 共享文件需要而添加,实际项目无需添加
74+
#region 此段代码仅为 Sample 示例需要,实际项目可按需处理
7075
#if DEBUG
7176
//app.UseStaticFiles(new StaticFileOptions
7277
//{

Samples/Work/Senparc.Weixin.Sample.Work/Senparc.Weixin.Sample.Work.net10.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212
<!-- 此节点为 Sample 共享文件需要而添加,实际项目无需添加 -->
1313
<ItemGroup Condition=" '$(Configuration)' != 'Release' ">
14-
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />
15-
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.0" />
14+
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.3.0" />
15+
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="10.0.0" />
1616
<!--<EmbeddedResource Include="..\..\Shared\Senparc.Weixin.Sample.Shared\wwwroot\**\*">
1717
<Link>wwwroot\%(RecursiveDir)/%(FileName)%(Extension)</Link>
1818
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -25,7 +25,7 @@
2525

2626
<!--引用 Nuget 包-->
2727
<ItemGroup>
28-
<PackageReference Include="Senparc.Weixin.AspNet" Version="1.5.0.1-preview.3" />
28+
<PackageReference Include="Senparc.Weixin.AspNet" Version="1.6.0" />
2929
<PackageReference Include="Senparc.Weixin.Work" Version="3.28.1" />
3030
<PackageReference Include="Senparc.Weixin.Work.Middleware" Version="1.4.10" />
3131
</ItemGroup>

0 commit comments

Comments
 (0)