Add JSON format support for WeChat Mini Program message push with full message handling integration #3723
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements JSON format support for WeChat Mini Program outbound messages by adding the
WxMaJsonOutMessageclass and fully integrating it into the message handling infrastructure.Problem
Currently, the WeChat Mini Program SDK only supports XML format for message push responses through
WxMaXmlOutMessage. According to WeChat's official documentation, JSON format should also be supported for message push scenarios.Solution
Added
WxMaJsonOutMessageclass and created a unified message handling infrastructure that supports both XML and JSON formats seamlessly:Integration with Message Router
The JSON message support is fully integrated into the message handling infrastructure:
Key Features
WxMaOutMessageinterface implemented by bothWxMaXmlOutMessageandWxMaJsonOutMessageWxMaMessageHandler,WxMaMessageRouter, andWxMaMessageRouterRuleto work with both formatstoXml(),toJson(),toEncryptedXml(),toEncryptedJson())WxMaPortalServletto demonstrate proper JSON/XML format handlingWxMaGsonBuilderfor consistent JSON formattingWxMaXmlOutMessageImplementation Details
The implementation follows established patterns from other WxJava modules and fully integrates into the project infrastructure:
WxMaOutMessageinterface as the common message contractThis implementation provides developers the flexibility to choose between XML and JSON formats based on their specific needs, with the format automatically handled by the message router based on configuration.
Fixes #小程序消息推送没有对消息体是json数据格式支持
Fixes #3376
Fixes #3376
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.