Add JSON format support for WeChat Mini Program message push with full message handling integration#3723
Merged
binarywang merged 3 commits intodevelopfrom Nov 17, 2025
Conversation
- Implement WxMaJsonOutMessage class with JSON serialization - Add toJson() method for basic JSON formatting - Add toEncryptedJson() method for encrypted JSON support - Include comprehensive tests for the new functionality - Follow existing patterns from other modules like weixin-java-cp Co-authored-by: binarywang <1343140+binarywang@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] 小程序消息推送没有对消息体是 json 数据格式支持
Add JSON format support for WeChat Mini Program message push
Sep 24, 2025
Owner
|
@copilot |
- Create WxMaOutMessage interface for unified message handling - Update WxMaXmlOutMessage to implement WxMaOutMessage interface - Update WxMaJsonOutMessage to implement WxMaOutMessage interface - Update WxMaMessageHandler to return WxMaOutMessage instead of WxMaXmlOutMessage - Update WxMaMessageRouter and WxMaMessageRouterRule to use WxMaOutMessage - Update WxMaPortalServlet demo to properly handle both JSON and XML responses - Update WxMaDemoServer to use the new interface - Add tests to verify interface implementation and format conversion Co-authored-by: binarywang <1343140+binarywang@users.noreply.github.com>
Contributor
Author
已完成集成。我创建了
现在项目中的消息处理就像 XML 格式那样完整集成了 JSON 支持。详细用法请参见更新的 PR 描述。 Commit: 27d5961 |
Copilot
AI
changed the title
Add JSON format support for WeChat Mini Program message push
Add JSON format support for WeChat Mini Program message push with full message handling integration
Nov 17, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.