tourze / wechat-work-push-bundle
企业微信应用推送模块
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
pkg:composer/tourze/wechat-work-push-bundle
Requires
- php: ^8.1
- doctrine/collections: ^2.3
- doctrine/dbal: ^4.0
- doctrine/doctrine-bundle: ^2.13
- doctrine/orm: ^3.0
- doctrine/persistence: ^3.1 || ^4
- symfony/config: ^6.4
- symfony/dependency-injection: ^6.4
- symfony/doctrine-bridge: ^6.4
- symfony/event-dispatcher: ^6.4
- symfony/framework-bundle: ^6.4
- symfony/http-kernel: ^6.4
- symfony/yaml: ^6.4 || ^7.1
- tourze/arrayable: 0.0.*
- tourze/doctrine-indexed-bundle: 0.0.*
- tourze/doctrine-ip-bundle: 0.0.*
- tourze/doctrine-snowflake-bundle: 0.1.*
- tourze/doctrine-timestamp-bundle: 0.0.*
- tourze/doctrine-user-bundle: 0.0.*
- tourze/easy-admin-attribute: 0.1.*
- tourze/http-client-bundle: 0.1.*
- tourze/wechat-work-bundle: 0.1.*
- tourze/wechat-work-contracts: 0.0.*
- tourze/wechat-work-media-bundle: 0.1.*
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-11-01 19:33:51 UTC
README
[]
(https://packagist.org/packages/tourze/wechat-work-push-bundle)
[
]
(https://github.com/tourze/php-monorepo/actions)
[
]
(https://codecov.io/gh/tourze/php-monorepo)
Enterprise WeChat application push module for Symfony applications.
Features
- 🚀 Support for all Enterprise WeChat message types
- 📦 Easy integration with Symfony framework
- 🎯 Type-safe message entities with validation
- 🛡️ Built-in security features (safe mode, duplicate check)
- 📊 Rich template card message support
- 🧪 Comprehensive test coverage
Installation
Install the bundle using Composer:
composer require tourze/wechat-work-push-bundle
Quick Start
- Configure the bundle in your Symfony application
- Create and send a text message:
use WechatWorkPushBundle\Entity\TextMessage; $message = new TextMessage(); $message->setContent('Hello, Enterprise WeChat!'); $message->setAgentId(1000001); $message->setToUser('@all'); // Send the message through your service
Usage
Supported Message Types
The bundle provides entities for all Enterprise WeChat message types:
- Text Messages (
TextMessage) - Image Messages (
ImageMessage) - Video Messages (
VideoMessage) - File Messages (
FileMessage) - Voice Messages (
VoiceMessage) - Markdown Messages (
MarkdownMessage) - News Messages (
NewsMessage) - Text Card Messages (
TextCardMessage) - Mini Program Messages (
MpnewsMessage)
Template Card Messages
Advanced template card messages for interactive content:
- Button Interaction (
ButtonTemplateMessage) - Vote Selection (
VoteTemplateMessage) - Multiple Choice (
MultipleTemplateMessage) - Text Notice (
TextNoticeTemplateMessage) - News Template (
NewsTemplateMessage) - Mini Program Notice (
MiniProgramNoticeMessage)
Message Configuration
All message entities support common Enterprise WeChat features:
$message = new TextMessage(); $message->setContent('Your message content'); $message->setAgentId(1000001); // Application ID $message->setToUser('user1|user2'); // Target users $message->setToParty('1|2'); // Target departments $message->setToTag('tag1|tag2'); // Target tags $message->setSafe(1); // Enable safe mode $message->setEnableDuplicateCheck(1); // Enable duplicate check
Advanced Usage
Event Listeners
The bundle provides event listeners for message sending and revoking:
SendMessageListener- Handles message sending eventsRevokeMessageListener- Handles message revocation events
Custom Repositories
Each message entity comes with a dedicated repository for database operations:
use WechatWorkPushBundle\Repository\TextMessageRepository; $repository = $entityManager->getRepository(TextMessage::class); $messages = $repository->findByAgent(1000001);
Request Objects
The bundle includes request objects for API interactions:
SendMessageRequest- For sending messagesRevokeMessageRequest- For revoking messages
Documentation
For detailed documentation on Enterprise WeChat API:
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.