feat(wechat): 微信机器人全链路集成与稳定性修复

- 新增:管理员后台的微信机器人双向收发参数设置页面及扫码绑定能力。
- 新增:WechatBotApiService 与 KafkaConsumerService 模块打通过往僵尸进程导致的拒绝连接问题。
- 新增:下发所有群发/私聊通知时统一带上「[和平聊吧]」标注前缀。
- 优化:前端个人中心绑定逻辑支持一键生成及复制动态口令。
- 修复:闭环联调修补各个模型中产生的变量警告如 stdClass 对象获取等异常预警。
This commit is contained in:
2026-04-02 14:56:51 +08:00
parent 8a809e3cc0
commit fc57f97c9e
19 changed files with 1552 additions and 6 deletions
Generated
+283 -1
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "56338775768722c90ec723eb5b939be1",
"content-hash": "2c7aa959e462c8c80ba7e8ed493a2af3",
"packages": [
{
"name": "brick/math",
@@ -135,6 +135,72 @@
],
"time": "2024-02-09T16:56:22+00:00"
},
{
"name": "chdemko/sorted-collections",
"version": "1.0.10",
"source": {
"type": "git",
"url": "https://github.com/chdemko/php-sorted-collections.git",
"reference": "d9cf7021e6fda1eb68b9f35caf99215327f6db76"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/chdemko/php-sorted-collections/zipball/d9cf7021e6fda1eb68b9f35caf99215327f6db76",
"reference": "d9cf7021e6fda1eb68b9f35caf99215327f6db76",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.7",
"phpbench/phpbench": "^1.3",
"phpunit/phpunit": "^11.3",
"squizlabs/php_codesniffer": "^3.10"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"chdemko\\SortedCollection\\": "src/SortedCollection"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Christophe Demko",
"email": "chdemko@gmail.com",
"homepage": "https://chdemko.pagelab.univ-lr.fr/",
"role": "Developer"
}
],
"description": "Sorted Collections for PHP >= 8.1",
"homepage": "https://php-sorted-collections.readthedocs.io/en/latest/?badge=latest",
"keywords": [
"avl",
"collection",
"iterator",
"map",
"ordered",
"set",
"sorted",
"tree",
"treemap",
"treeset"
],
"support": {
"issues": "https://github.com/chdemko/php-sorted-collections/issues",
"source": "https://github.com/chdemko/php-sorted-collections/tree/1.0.10"
},
"time": "2024-08-04T14:31:40+00:00"
},
{
"name": "clue/redis-protocol",
"version": "v0.3.2",
@@ -757,6 +823,50 @@
},
"time": "2023-08-08T05:53:35+00:00"
},
{
"name": "exussum12/xxhash",
"version": "1.3",
"source": {
"type": "git",
"url": "https://github.com/exussum12/xxhash.git",
"reference": "f5567ec5739ffee27aa3469e5001b4759b1b9e0d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/exussum12/xxhash/zipball/f5567ec5739ffee27aa3469e5001b4759b1b9e0d",
"reference": "f5567ec5739ffee27aa3469e5001b4759b1b9e0d",
"shasum": ""
},
"require": {
"ext-bcmath": "*",
"php": ">=7.4"
},
"require-dev": {
"phpunit/phpunit": "^7.1|^8.0|^9.0"
},
"type": "library",
"autoload": {
"psr-4": {
"exussum12\\xxhash\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Scott Dutton",
"email": "scott@exussum.co.uk"
}
],
"description": "xxHash implementation in Pure PHP",
"support": {
"issues": "https://github.com/exussum12/xxhash/issues",
"source": "https://github.com/exussum12/xxhash/tree/1.3"
},
"time": "2020-11-30T09:04:53+00:00"
},
{
"name": "fruitcake/php-cors",
"version": "v1.4.0",
@@ -886,6 +996,53 @@
},
"time": "2025-11-20T18:50:15+00:00"
},
{
"name": "google/crc32",
"version": "v0.1.0",
"source": {
"type": "git",
"url": "https://github.com/google/php-crc32.git",
"reference": "a8525f0dea6fca1893e1bae2f6e804c5f7d007fb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/google/php-crc32/zipball/a8525f0dea6fca1893e1bae2f6e804c5f7d007fb",
"reference": "a8525f0dea6fca1893e1bae2f6e804c5f7d007fb",
"shasum": ""
},
"require": {
"php": ">=5.4"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^1.13 || v2.14.2",
"paragonie/random_compat": ">=2",
"phpunit/phpunit": "^4"
},
"type": "library",
"autoload": {
"psr-4": {
"Google\\CRC32\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Andrew Brampton",
"email": "bramp@google.com"
}
],
"description": "Various CRC32 implementations",
"homepage": "https://github.com/google/php-crc32",
"support": {
"issues": "https://github.com/google/php-crc32/issues",
"source": "https://github.com/google/php-crc32/tree/v0.1.0"
},
"abandoned": true,
"time": "2019-05-09T06:24:58+00:00"
},
{
"name": "graham-campbell/result-type",
"version": "v1.1.4",
@@ -2688,6 +2845,51 @@
],
"time": "2026-01-15T06:54:53+00:00"
},
{
"name": "longlang/phpkafka",
"version": "v1.2.5",
"source": {
"type": "git",
"url": "https://github.com/swoole/phpkafka.git",
"reference": "f42bfa7c97b1f2c751e2a956e597b970407faad1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/swoole/phpkafka/zipball/f42bfa7c97b1f2c751e2a956e597b970407faad1",
"reference": "f42bfa7c97b1f2c751e2a956e597b970407faad1",
"shasum": ""
},
"require": {
"chdemko/sorted-collections": "^1.0",
"exussum12/xxhash": "^1.0.0",
"google/crc32": "^0.1.0",
"php": ">=7.1",
"symfony/polyfill-php81": "^1.23"
},
"require-dev": {
"colinodell/json5": "^2.1",
"friendsofphp/php-cs-fixer": "^2.18",
"phpstan/phpstan": "^0.12.81",
"phpunit/phpunit": "^7.5|^8.0|^9.0",
"swoole/ide-helper": "^4.5"
},
"type": "library",
"autoload": {
"psr-4": {
"longlang\\phpkafka\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"description": "A kafka client. Support php-fpm and Swoole.",
"support": {
"issues": "https://github.com/swoole/phpkafka/issues",
"source": "https://github.com/swoole/phpkafka/tree/v1.2.5"
},
"time": "2023-10-13T01:40:42+00:00"
},
{
"name": "maxmind-db/reader",
"version": "v1.13.1",
@@ -6531,6 +6733,86 @@
],
"time": "2025-01-02T08:10:11+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php81\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php83",
"version": "v1.33.0",