xmsjdev/wechat 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

xmsjdev/wechat

Composer 安装命令:

composer require xmsjdev/wechat

包简介

easywechat for hyperf

README 文档

README

微信 SDK for Hyperf, 基于 w7corp/wechat

注意:组件依赖 Context 中的 Request

安装

composer require xmsjdev/hyperf-wechat

配置

  1. 发布配置文件
php ./bin/hyperf.php vendor:publish xmsjdev/hyperf-wechat
  1. 修改应用根目录下的 config/autoload/wechat.php 中对应的参数即可。
  2. 每个模块基本都支持多账号,默认为 default

使用

下面以接收普通消息为例写一个例子:

假设您的域名为 nxx.cloud 那么请登录微信公众平台 “开发者中心” 修改 “URL(服务器配置)” 为: http://nxx.cloud/wechat

路由:

Router::addRoute(['GET', 'POST', 'HEAD'], '/wechat', 'App\Controller\WeChatController@serve');

注意:一定是 Router::addRoute, 因为微信服务端认证的时候是 GET, 接收用户消息时是 POST

然后创建控制器 WeChatController

<?php

declare(strict_types=1);

namespace App\Controller;

use EasyWeChat\Kernel\Exceptions\BadRequestException;
use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
use EasyWeChat\Kernel\Exceptions\InvalidConfigException;
use Xmsjdev\HyperfWechat\EasyWechat;
use ReflectionException;use Xmsjdev\Wechat\Wechat;

class WeChatController extends AbstractController
{
    /**
     * 处理微信的请求消息
     *
     * @return string
     * @throws BadRequestException
     * @throws InvalidArgumentException
     * @throws InvalidConfigException
     * @throws ReflectionException
     */
    public function serve()
    {

        $app = Wechat::officialAccount();
        // 监听事件
        $app->getServer()->addEventListener();
        // 监听消息
        $app->getServer()->addMessageListener();
        
        return $app->getServer()->serve();
    }
}

上面例子里的 在return的时候必须调用Xmsjdev\HyperfWechat\Helper::Response去转换,否则会报错。

我们有以下方式获取 SDK 的服务实例

使用外观
  use Xmsjdev\Wechat\Wechat;
  $officialAccount = Wechat::officialAccount(); // 公众号
  $work = Wechat::work(); // 企业微信
  $pay = Wechat::pay(); // 微信支付
  $openPlatform = Wechat::openPlatform(); // 开放平台
  $miniApp = Wechat::miniApp(); // 小程序
  
  // 均支持传入配置账号名称以及配置
  Wechat::officialAccount('foo',[]); // `foo` 为配置文件中的名称,默认为 `default`。`[]` 可覆盖账号配置
  //...

更多 SDK 的具体使用请参考:https://easywechat.com

License

MIT

统计信息

  • 总下载量: 15
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-17