moonsflyer 6 месяцев назад
Родитель
Сommit
0a23160dfa
1 измененных файлов с 46 добавлено и 44 удалено
  1. 46 44
      app/common/service/GiftCardQrCodeService.php

+ 46 - 44
app/common/service/GiftCardQrCodeService.php

@@ -23,60 +23,62 @@ class GiftCardQrCodeService
     {
         try {
             // 小程序页面路径,根据实际情况修改
-            $page = 'pages/gift-card/exchange';
+            $page = 'pages/gift-card/exchange?';
             $scene = "cardNo={$cardNo}&cardPass={$cardPass}";
 
             // 生成小程序码
             $config = WeChatConfigService::getMnpConfig();
 
             $app = Factory::miniProgram($config);
-
-            try {
-                $accessToken = $app->access_token->getToken()['access_token'];
-                $url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token={$accessToken}";
-
-                $data = [
-                    'path' => $page . '?' . $scene,
-                    'width' => 280
-                ];
-
-                // 使用Guzzle HTTP客户端
-                $client = new \GuzzleHttp\Client();
-                $response = $client->post($url, [
-                    'json' => $data,
-                    'headers' => [
-                        'Content-Type' => 'application/json'
-                    ]
-                ]);
-                return $response;
-                // 检查响应
-                if ($response->getStatusCode() === 200) {
-                    $body = $response->getBody();
-                    // 这里$body就是二维码的二进制数据
-                } else {
-                    Log::error('微信API调用失败', ['status' => $response->getStatusCode()]);
-                    return false;
-                }
-
-            } catch (\Exception $e2) {
-                Log::error('HTTP客户端调用失败', ['error' => $e2->getMessage()]);
-                return false;
-            }
-
-            if (!($response instanceof \EasyWeChat\Kernel\Http\StreamResponse)) {
-                Log::error('生成小程序码失败', [
-                    'response' => $response,
-                    'response_type' => gettype($response),
-                    'page' => $page,
-                    'scene' => $scene
-                ]);
-                return false;
-            }
+            $accessToken = $app->access_token->getToken()['access_token'];
+            $IMG = getQrCode($accessToken, $page.$scene, 'uploads/qrcode/', $cardPass);
+//            $result = $app->app_code->getUnlimited($page = 'pages/index/index', $width = 430);
+//            try {
+//                $accessToken = $app->access_token->getToken()['access_token'];
+//                $url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token={$accessToken}";
+//
+//                $data = [
+//                    'path' => $page . '?' . $scene,
+//                    'width' => 280
+//                ];
+//
+//                // 使用Guzzle HTTP客户端
+//                $client = new \GuzzleHttp\Client();
+//                $response = $client->post($url, [
+//                    'json' => $data,
+//                    'headers' => [
+//                        'Content-Type' => 'application/json'
+//                    ]
+//                ]);
+//                return $response;
+//                // 检查响应
+//                if ($response->getStatusCode() === 200) {
+//                    $body = $response->getBody();
+//                    // 这里$body就是二维码的二进制数据
+//                } else {
+//                    Log::error('微信API调用失败', ['status' => $response->getStatusCode()]);
+//                    return false;
+//                }
+//
+//            } catch (\Exception $e2) {
+//                Log::error('HTTP客户端调用失败', ['error' => $e2->getMessage()]);
+//                return false;
+//            }
+//
+//            if (!($response instanceof \EasyWeChat\Kernel\Http\StreamResponse)) {
+//                Log::error('生成小程序码失败', [
+//                    'response' => $response,
+//                    'response_type' => gettype($response),
+//                    'page' => $page,
+//                    'scene' => $scene
+//                ]);
+//                return false;
+//            }
 //            if (!($response instanceof \EasyWeChat\Kernel\Http\StreamResponse)) {
 //                Log::error('生成小程序码失败', ['response' => $response]);
 //                return false;
 //            }
-            return $response;
+            return $IMG;
             // 保存到本地临时目录
             $saveDir = 'resource/image/gift_card/qr_code/';
             if (!file_exists($saveDir)) {