PHPackages                             tourze/wechat-work-menu-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. tourze/wechat-work-menu-bundle

ActiveSymfony-bundle[API Development](/categories/api)

tourze/wechat-work-menu-bundle
==============================

A Symfony bundle for managing WechatWork (Enterprise WeChat) application menus with support for hierarchical menu structures, multiple button types, and automatic API serialization.

0.0.1(1y ago)00MITPHPPHP ^8.1CI passing

Since Jun 3Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/tourze/wechat-work-menu-bundle)[ Packagist](https://packagist.org/packages/tourze/wechat-work-menu-bundle)[ RSS](/packages/tourze-wechat-work-menu-bundle/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (26)Versions (2)Used By (0)

WechatWork Menu Bundle
======================

[](#wechatwork-menu-bundle)

[English](README.md) | [中文](README.zh-CN.md)

[![Latest Version](https://camo.githubusercontent.com/db343dfa5bc0826ddb8b7a395d2dfad7e6e6a3c78526a0e7b3d9329b93c48198/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f746f75727a652f7765636861742d776f726b2d6d656e752d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tourze/wechat-work-menu-bundle)[![Total Downloads](https://camo.githubusercontent.com/a5a58f19f3217442f399e486aff233c74b7cfba8ac79ff544d769111f755b853/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f746f75727a652f7765636861742d776f726b2d6d656e752d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tourze/wechat-work-menu-bundle)
[![PHP Version Require](https://camo.githubusercontent.com/9aff22ba35645f4d9ba37c028d4a983f4f4ca27dcbfd38c52b896599d51e0ff3/687474703a2f2f706f7365722e707567782e6f72672f746f75727a652f7765636861742d776f726b2d6d656e752d62756e646c652f726571756972652f706870)](https://packagist.org/packages/tourze/wechat-work-menu-bundle)[![License](https://camo.githubusercontent.com/e48e6af0d61f2744a87aec115585c7e99fce1179a80067dfc0ad6eec0f119564/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f746f75727a652f7765636861742d776f726b2d6d656e752d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tourze/wechat-work-menu-bundle)[![Code Coverage](https://camo.githubusercontent.com/6ce0146325478eb7cebae4cc6139b2af2c161735dd0e3c6ff6802f2c5a708179/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f746f75727a652f7068702d6d6f6e6f7265706f3f7374796c653d666c61742d737175617265)](https://codecov.io/gh/tourze/php-monorepo)

A Symfony bundle for managing WechatWork (Enterprise WeChat) application menus with support for hierarchical menu structures, multiple button types, and automatic API serialization.

Table of Contents
-----------------

[](#table-of-contents)

- [Features](#features)
- [Dependencies](#dependencies)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Button Types](#button-types)
- [Repository Usage](#repository-usage)
- [Advanced Usage](#advanced-usage)
- [Configuration](#configuration)
- [Testing](#testing)
- [Contributing](#contributing)
- [License](#license)

Features
--------

[](#features)

- **Hierarchical Menu Structure**: Support for parent-child menu relationships
- **Multiple Button Types**: Click, View, ScanCode, Photo, Location, MiniProgram and more
- **Doctrine ORM Integration**: Entity management with repositories and relationships
- **API Serialization**: Automatic conversion to WechatWork API format
- **Symfony Integration**: Full Symfony bundle with services and controllers
- **Timestampable &amp; Blameable**: Built-in tracking of creation and modification
- **Enum Support**: Type-safe button type definitions with labels

Dependencies
------------

[](#dependencies)

This bundle requires:

- PHP 8.1 or higher
- Symfony 6.4 or higher
- Doctrine ORM
- `tourze/wechat-work-contracts` for interface definitions
- `tourze/doctrine-timestamp-bundle` for timestamp tracking
- `tourze/doctrine-user-bundle` for user tracking
- `tourze/enum-extra` for enhanced enum functionality

Installation
------------

[](#installation)

```
composer require tourze/wechat-work-menu-bundle
```

Quick Start
-----------

[](#quick-start)

### 1. Register the Bundle

[](#1-register-the-bundle)

```
// config/bundles.php
return [
    // ...
    Tourze\WechatWorkMenuBundle\WechatWorkMenuBundle::class => ['all' => true],
];
```

### 2. Create Menu Buttons

[](#2-create-menu-buttons)

```
