siganushka / wechat-api
Wechat API.
1.0.0
2025-05-13 02:03 UTC
Requires
- php: >=7.4
- siganushka/api-factory: ^1.0
- symfony/cache: ^5.4|^6.0|^7.0
Requires (Dev)
- symfony/error-handler: ^5.4|^6.0|^7.0
README
微信公众号、小程序和开放平台相关接口实现,基于 siganushka/api-factory 抽象层,可快速实现微信相关业务。
安装
$ composer require siganushka/wechat-api
使用
具体使用参考 ./example
示例,运行示例前复制 _config.php.dist
文件为 _config.php
并修改相关参数,由于示例中包含了小程序、公众号和开放平台相关功能,因此对应功能修改对应参数即可。
目录包含以下示例:
文件 | 功能 |
---|---|
example/affiaccount_user.php | 微信公众号获取用户列表 |
example/affiaccount_userinfo.php | 微信公众号获取用户基本信息 |
example/core_callback_ip.php | 获取微信 callback IP 地址 |
example/core_server_ip.php | 获取微信服务器 IP 地址 |
example/core_ticket.php | 获取微信临时票据,用于微信 JS API |
example/core_token.php | 获取全局 access_token |
example/core_token_stable.php | 获取全局稳定版 access_token |
example/jsapi_config_utils.php | 生成微信 JS API 配置参数 |
example/miniapp_qrcode.php | 获取小程序二维码 |
example/miniapp_session_key.php | 获取小程序 session_key |
example/miniapp_wxacode.php | 获取小程序码 |
example/miniapp_wxacode_unlimit.php | 获取不限制的小程序码 |
example/oauth_client.php | 网页授权 |
example/oauth_client_qrcode.php | 网页授权(扫码登录) |
example/oauth_user_info.php | 根据用户 access_token 获取用户信息 |
example/oauth_check_token.php | 检验用户 access_token 是否有效 |
example/oauth_refresh_token.php | 刷新用户 access_token |
example/message_subscribe.php | 发送小程序订阅消息 |
example/template_message.php | 发送模板消息 |
框架集成
Symfony
项目已集成至 siganushka/api-factory-bundle,将以服务的形式使用。
安装
$ composer require siganushka/wechat-api siganushka/api-factory-bundle
单个应用配置
# config/packages/siganushka_api_factory.yaml siganushka_api_factory: wechat: appid: your_appid # 微信公众号/小程序/开放平台帐号 secret: your_secret # 微信公众号/小程序/开放平台秘钥
多个应用配置
# config/packages/siganushka_api_factory.yaml siganushka_api_factory: wechat: default_configuration: foo configurations: # 将以 Siganushka\ApiFactory\Wechat\Configuration $fooConfiguration 被注入到服务 foo: appid: your_appid secret: your_secret # 将以 Siganushka\ApiFactory\Wechat\Configuration $barConfiguration 被注入到服务 bar: appid: your_appid secret: your_secret
使用
// src/Controller/DefaultController.php use Siganushka\ApiFactory\Wechat\Core\Token; use Siganushka\ApiFactory\Wechat\Configuration; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; class DefaultController extends AbstractController { public function index(Token $request) { // 使用默认配置,即 foo $result = $request->send(); var_dump($result); } public function useBarConfig(Token $request, Configuration $barConfiguration) { // 使用 bar 覆盖默认配置 $request->extend(new ConfigurationExtension($barConfiguration)); $result = $request->send(); var_dump($result); } }
查看所有服务
$ php bin/console debug:container Siganushka\\ApiFactory\\Wechat