日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TP5 封装通用的微信服务类

發(fā)布時間:2025/7/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TP5 封装通用的微信服务类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、安裝依賴包

我們這里用的是 EasyWeChat

EasyWeCha官網(wǎng) https://www.easywechat.com/
安裝地址 https://github.com/easywechat/docs
相關(guān)文檔 https://www.easywechat.com/docs/4.1/payment/index

  • composer安裝
$ composer require overtrue/wechat:~4.0 -vvv

1、封裝服務(wù)類

<?phpnamespace app\common\service; use EasyWeChat\Factory; use EasyWeChat\MiniProgram\Application; use think\Hook;/*** 微信服務(wù)* @package app\common\service*/ class WeChatService {//微信公眾號配置private $officeConfig = ['app_id' => 'wx727ac3b3f4439a25','secret' => '23471aaeb7d0ab3679da9f9a7d58bb25',// 指定 API 調(diào)用返回結(jié)果的類型:array(default)/collection/object/raw/自定義類名'response_type' => 'array',//...];//微信支付private $payConfig = [// 必要配置'app_id' => 'xxxx','mch_id' => 'your-mch-id','key' => 'key-for-signature', // API 密鑰// 如需使用敏感接口(如退款、發(fā)送紅包等)需要配置 API 證書路徑(登錄商戶平臺下載 API 證書)'cert_path' => 'path/to/your/cert.pem', // XXX: 絕對路徑!!!!'key_path' => 'path/to/your/key', // XXX: 絕對路徑!!!!'notify_url' => '默認的訂單回調(diào)地址', // 你也可以在下單時單獨設(shè)置來想覆蓋它];//微信小程序配置private $miniConfig = ['app_id' => 'wx3cf0f39249eb0exx','secret' => 'f1c242f4f28f735d4687abb469072axx',// 下面為可選項// 指定 API 調(diào)用返回結(jié)果的類型:array(default)/collection/object/raw/自定義類名'response_type' => 'array','log' => ['level' => 'debug','file' => PUBLIC_PATH . '/logs/wechat.log',],];//開放平臺配置private $openConfig = ['app_id' => '開放平臺第三方平臺 APPID','secret' => '開放平臺第三方平臺 Secret','token' => '開放平臺第三方平臺 Token','aes_key' => '開放平臺第三方平臺 AES Key'];private $token = ''; //獲取小程序的ACCESS_TOKENprivate $isContract = false; //是否開啟支付中簽約/*** @ApiTitle (實例化)* @param int $type* @return bool|Application|\EasyWeChat\OfficialAccount\Application|\EasyWeChat\OpenPlatform\Application|\EasyWeChat\Payment\Application* @throws \EasyWeChat\Kernel\Exceptions\HttpException* @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException* @throws \EasyWeChat\Kernel\Exceptions\RuntimeException* @throws \Psr\SimpleCache\InvalidArgumentException*/public function connect($type = 0){//實例化對象if ($type == 0) $app = Factory::miniProgram($this->miniConfig); //微信小程序if ($type == 1) $app = Factory::officialAccount($this->officeConfig); //微信公眾號if ($type == 2) $app = Factory::payment($this->payConfig); //微信支付if ($type == 3) $app = Factory::openPlatform($this->payConfig); //微信開放平臺//獲取token$accessToken = $app->access_token;$this->token = $accessToken->getToken()['access_token']; // token 數(shù)組 token['access_token'] 字符串return $app ?? false;}/*** @ApiTitle (生成小程序二維碼)* @return bool|int* @throws \EasyWeChat\Kernel\Exceptions\HttpException* @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException* @throws \EasyWeChat\Kernel\Exceptions\RuntimeException* @throws \Psr\SimpleCache\InvalidArgumentException*/public function createCode(){$app = $this->connect(0);$response = $app->app_code->getUnlimit('scene-value', ['page' => 'path/to/page','width' => 600,]);if ($response instanceof \EasyWeChat\Kernel\Http\StreamResponse) {$dir = 'qrCode/' . date('Ymd', time()) . '/';if (!file_exists($dir)) mkdir($dir, 0777, true);$url = PUBLIC_PATH . $dir . 'app_mini_code.png';$response->save($url);//保存到OSS$urlOss = Hook::listen("upload_oss", $url, null, true);//刪除本地圖片和文件夾if (file_exists($url)) {unlink($url);rmdir($dir);}}return $urlOss ?? false;}}

其中微信小程序、公眾號、微信支付和開放平臺等配置都在這里面寫,如果需要企業(yè)微信等配置自行根據(jù)自己的業(yè)務(wù)修改里面的代碼即可。

3、調(diào)用服務(wù)類

  • 我們只要 new 一個服務(wù)類就可以使用里面的方法了
public function createWeChatCode() {$code = (new WeChatService)->createCode();$this->success('生成小程序碼成功', $code); }
  • 調(diào)用 EasyWeChat 包的方法,只需要 connect 一下就可以了,其中需要傳參
$app = (new WeChatService())->connect(1);

感謝你的觀看,如果有什么問題歡迎在留言區(qū)留言。

總結(jié)

以上是生活随笔為你收集整理的TP5 封装通用的微信服务类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。