Merge remote-tracking branch 'prod/master'

This commit is contained in:
xiaolipro 2026-09-09 15:52:35 +08:00
commit 23eb80931a
2 changed files with 5 additions and 3 deletions

View File

@ -30,7 +30,9 @@ public class WeChatRouteIntegrationTests
await using var host = await SimpleAdminApiTestHost.CreateAsync(configureServices: ConfigureWeChatFallback); await using var host = await SimpleAdminApiTestHost.CreateAsync(configureServices: ConfigureWeChatFallback);
host.RoutePatterns.Should().Contain("apiwechat/verification"); host.RoutePatterns.Should().Contain("apiwechat/verification");
host.RoutePatterns.Should().Contain("wechat/mp/{appId:regex(^wx[A-Za-z0-9]+$)}"); host.RoutePatterns.Should().Contain(p =>
p.StartsWith("wechat/mp/{appId:regex(^wx", StringComparison.Ordinal)
&& p.EndsWith("+$)}", StringComparison.Ordinal));
host.RoutePatterns.Should().Contain("wechat/mp/login-qrcode"); host.RoutePatterns.Should().Contain("wechat/mp/login-qrcode");
host.RoutePatterns.Should().Contain("wechat/oauth/config"); host.RoutePatterns.Should().Contain("wechat/oauth/config");
host.RoutePatterns.Should().Contain("wechat/mp/follow-qrcode"); host.RoutePatterns.Should().Contain("wechat/mp/follow-qrcode");

View File

@ -73,7 +73,7 @@ public partial class AuthService
/// appId 仅匹配 wx 开头,避免 login-qrcode / oauth-config 等静态段落入本路由。 /// appId 仅匹配 wx 开头,避免 login-qrcode / oauth-config 等静态段落入本路由。
/// </summary> /// </summary>
[AllowAnonymous] [AllowAnonymous]
[HttpGet("/wechat/mp/{appId:regex(^wx[A-Za-z0-9]+$)}")] [HttpGet("/wechat/mp/{appId:regex(^wx[[a-zA-Z0-9]]+$)}")]
[Produces("text/plain")] [Produces("text/plain")]
[ApiExplorerSettings(GroupName = "WeChat")] [ApiExplorerSettings(GroupName = "WeChat")]
public async Task<IActionResult> WeChatValidateAsync( public async Task<IActionResult> WeChatValidateAsync(
@ -121,7 +121,7 @@ public partial class AuthService
/// 微信消息/事件推送(明文,XML/JSON)。 /// 微信消息/事件推送(明文,XML/JSON)。
/// </summary> /// </summary>
[AllowAnonymous] [AllowAnonymous]
[HttpPost("/wechat/mp/{appId:regex(^wx[A-Za-z0-9]+$)}")] [HttpPost("/wechat/mp/{appId:regex(^wx[[a-zA-Z0-9]]+$)}")]
[Consumes("text/xml", "application/xml", "application/json", "text/plain")] [Consumes("text/xml", "application/xml", "application/json", "text/plain")]
[Produces("text/plain", "application/xml")] [Produces("text/plain", "application/xml")]
[ApiExplorerSettings(GroupName = "WeChat")] [ApiExplorerSettings(GroupName = "WeChat")]