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
posted @ 2024-05-21 16:31  渺小的人类  阅读(65)  评论(0编辑  收藏  举报