ThinkPHP6(TP6) 微信接口 EasyWechat
参考:https://blog.csdn.net/qq_36476972/article/details/134823505
EasyWeChat开发文档:https://easywechat.com/5.x/
环境信息
框架: TP6
PHP: 7.4.3
Composer: 2.5.1
选择包版本
PHP >= 8.0 选择 6.x
PHP >= 7.4 选择 5.x
5.x 只能用V2接口
详见文档
安装使用
安装和配置
composer require overtrue/wechat:~5.0 -vvv
在 config
中创建配置文件 wechat.php
, 这里只用到了小程序登录和支付, 如需要其他的功能, 按需增加配置信息即可, 格式可以自己定
<?php return [ 'app_id' => '', 'secret' => '', // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名 'response_type' => 'array', // V2 支付配置 'pay' => [ 'mch_id' => '', // V2 密钥 'key' => '', // 绝对路径 'cert_path' => '', // 绝对路径 'key_path' => '', 'notify_url' => '' ] ];
在 extend
目录创建 easyWechat/Wechat.php
<?php namespace easyWechat; use think\facade\Config; use EasyWeChat\Factory; use EasyWeChat\MiniProgram\Application; /** * easyWechat * 文档 https://easywechat.com/5.x/mini-program/auth.html * Class Wechat * @package easyWechat */ class Wechat { public function getConfig(): array { $wechat = Config::get('wechat'); return [ 'app_id' => $wechat['app_id'], 'secret' => $wechat['secret'], 'mch_id' => $wechat['pay']['mch_id'], 'key' => $wechat['pay']['key'], 'cert_path' => $wechat['pay']['cert_path'], 'key_path' => $wechat['pay']['key_path'], 'notify_url' => $wechat['pay']['notify_url'], ]; } // 小程序登录 public function miniapp_login(string $code){ $wechat = Factory::miniProgram($this->getConfig());; return $wechat->auth->session($code); } // 获取支付对象 public function payment(): \EasyWeChat\Payment\Application { return Factory::payment($this->getConfig()); } }
使用
-
- 登录
use easyWechat\Wechat; public function login(string $code): Json { $wechat = new Wechat(); $res = $wechat->miniapp_login($code); if (isset($res['errcode'])) { // 报错 $res['errmsg'] } $openId = $res['openid']; // 业务处理 }
- 支付
$wechat = new Wechat(); $payment = $wechat->payment(); // ...
- 登录
微信包 EasyWechatEasyWeChat 官方文档
环境信息框架: TP6PHP: 7.4.3Composer: 2.5.1
选择包版本PHP >= 8.0 选择 6.xPHP >= 7.4 选择 5.x5.x 只能用V2接口详见文档
安装使用安装和配置composer require overtrue/wechat:~5.0 -vvv
在 config 中创建配置文件 wechat.php, 这里只用到了小程序登录和支付, 如需要其他的功能, 按需增加配置信息即可, 格式可以自己定
<?phpreturn [ 'app_id' => '', 'secret' => '', // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名 'response_type' => 'array', // V2 支付配置 'pay' => [ 'mch_id' => '', // V2 密钥 'key' => '', // 绝对路径 'cert_path' => '', // 绝对路径 'key_path' => '', 'notify_url' => '' ]];123456789101112131415161718在 extend 目录创建 easyWechat/Wechat.php
<?php
namespace easyWechat;
use think\facade\Config;use EasyWeChat\Factory;use EasyWeChat\MiniProgram\Application;
/** * easyWechat * 文档 https://easywechat.com/5.x/mini-program/auth.html * Class Wechat * @package easyWechat */class Wechat{
public function getConfig(): array { $wechat = Config::get('wechat'); return [ 'app_id' => $wechat['app_id'], 'secret' => $wechat['secret'], 'mch_id' => $wechat['pay']['mch_id'], 'key' => $wechat['pay']['key'], 'cert_path' => $wechat['pay']['cert_path'], 'key_path' => $wechat['pay']['key_path'], 'notify_url' => $wechat['pay']['notify_url'], ]; }
// 小程序登录 public function miniapp_login(string $code){ $wechat = Factory::miniProgram($this->getConfig());; return $wechat->auth->session($code); }
// 获取支付对象 public function payment(): \EasyWeChat\Payment\Application { return Factory::payment($this->getConfig()); }}12345678910111213141516171819202122232425262728293031323334353637383940414243使用登录use easyWechat\Wechat;
public function login(string $code): Json {$wechat = new Wechat(); $res = $wechat->miniapp_login($code); if (isset($res['errcode'])) { // 报错 $res['errmsg'] } $openId = $res['openid']; // 业务处理}123456789101112支付$wechat = new Wechat();$payment = $wechat->payment();// ...123需要什么就在 Wechat 里定义吧, 或者是直接使用————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/qq_36476972/article/details/134823505
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构