Download the PHP package tourze/wechat-mini-program-server-message-bundle without Composer
On this page you can find all versions of the php package tourze/wechat-mini-program-server-message-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tourze/wechat-mini-program-server-message-bundle
More information about tourze/wechat-mini-program-server-message-bundle
Files in tourze/wechat-mini-program-server-message-bundle
Package wechat-mini-program-server-message-bundle
Short Description 微信小程序服务端消息处理组件
License MIT
Informations about the package wechat-mini-program-server-message-bundle
WeChat Mini Program Server Message Bundle
中文
A Symfony bundle for handling WeChat Mini Program server-side message push notifications, including message decryption, validation, and event dispatching.
Table of Contents
- Features
- Installation
- Configuration
- Quick Start
- Message Types
- Event System
- Advanced Features
- Advanced Usage
- Security
- Requirements
- Contributing
- License
Features
- WeChat Mini Program message push server endpoint
- Message signature verification and decryption
- Automatic message persistence to database
- Event dispatching for custom message handling
- Built-in deduplication mechanism
- Support for both JSON and XML message formats
- Automatic user synchronization
- Configurable message retention policies
Installation
Configuration
1. Register the Bundle
Add the bundle to your bundles.php:
2. Configure Routing
The bundle automatically registers the message handling endpoint at:
3. Environment Variables
Configure message retention policy:
4. Database Migration
Create the required database table:
Quick Start
1. Set Up WeChat Mini Program Configuration
Ensure you have a WeChat Mini Program account configured with:
- App ID
- App Secret
- Server Token
2. Configure Message Push URL
In WeChat Mini Program console, set the message push URL to:
3. Handle Message Events
Create an event subscriber to handle incoming messages:
4. Access Message History
You can access stored messages using the repository:
Message Types
The bundle supports all WeChat Mini Program message types:
- text: Text messages
- image: Image messages
- voice: Voice messages
- video: Video messages
- location: Location messages
- link: Link messages
- event: Event messages (subscribe, unsubscribe, etc.)
Event System
The bundle dispatches ServerMessageRequestEvent for each incoming message, containing:
$message: The parsed message data$account: The WeChat Mini Program account$wechatUser: The WeChat user information
Advanced Features
Message Deduplication
The bundle automatically handles message deduplication using:
- Database unique constraints
- Cache-based deduplication (1-hour TTL)
User Synchronization
Automatically creates and updates user records when messages are received, ensuring user data is always current.
Message Retention
Configure automatic message cleanup using the
WECHAT_MINI_PROGRAM_SERVER_MESSAGE_PERSIST_DAY environment variable.
Advanced Usage
Custom Message Processing
For complex message processing scenarios, you can extend the default behavior:
Custom Validation
You can add custom validation for incoming messages:
Security
Message Verification
The bundle automatically verifies message signatures to ensure authenticity:
- All incoming messages are validated against WeChat's signature algorithm
- Invalid signatures are rejected with appropriate error responses
- Message decryption is performed using your configured App Secret
Data Protection
- All message data is validated before storage
- Sensitive information is properly encrypted during transmission
- User data is handled according to privacy best practices
Rate Limiting
Consider implementing rate limiting for your message endpoints:
Requirements
- PHP 8.1+
- Symfony 7.3+
- Doctrine ORM 3.0+
- Doctrine DBAL 4.0+
- WeChat Mini Program Account
Contributing
Please see CONTRIBUTING.md for details.
License
The MIT License (MIT). Please see License File for more information.
All versions of wechat-mini-program-server-message-bundle with dependencies
ext-json Version *
ext-mbstring Version *
ext-openssl Version *
doctrine/dbal Version ^4.0
doctrine/doctrine-bundle Version ^2.13
doctrine/orm Version ^3.0
doctrine/persistence Version ^4.1
easycorp/easyadmin-bundle Version ^4
knplabs/knp-menu Version ^3.7
monolog/monolog Version ^3.1
nesbot/carbon Version ^2.72 || ^3
psr/log Version ^3|^2|^1
psr/simple-cache Version ^1.0|^2.0|^3.0
symfony/cache Version ^7.3
symfony/config Version ^7.3
symfony/dependency-injection Version ^7.3
symfony/doctrine-bridge Version ^7.3
symfony/event-dispatcher Version ^7.3
symfony/event-dispatcher-contracts Version ^3
symfony/framework-bundle Version ^7.4
symfony/http-foundation Version ^7.4
symfony/http-kernel Version ^7.3
symfony/messenger Version ^7.3
symfony/polyfill-php83 Version ^1.31
symfony/property-access Version ^7.3
symfony/routing Version ^7.3
symfony/security-core Version ^7.3
symfony/yaml Version ^7.3
tourze/async-contracts Version 1.0.*
tourze/bundle-dependency Version 1.*
tourze/doctrine-indexed-bundle Version 1.0.*
tourze/easy-admin-menu-bundle Version 1.0.*
tourze/symfony-dependency-service-loader Version 1.0.*
tourze/symfony-routing-auto-loader-bundle Version 1.0.*
tourze/symfony-schedule-entity-clean-bundle Version 1.1.*
tourze/user-event-bundle Version 1.0.*
tourze/user-id-bundle Version 1.0.*
tourze/wechat-helper Version 0.0.*
tourze/wechat-mini-program-appid-contracts Version 1.0.*
tourze/wechat-mini-program-auth-bundle Version 2.0.*
tourze/wechat-mini-program-bundle Version 2.0.*
tourze/wechat-mini-program-user-contracts Version 1.0.*
yiisoft/arrays Version ^3
yiisoft/json Version ^1.0