<?php namespace App\Http\Controllers\Api; use App\Command\Log; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; use App\Models\SystemSetting as SystemSettingModel; use Endroid\QrCode\Color\Color; use Endroid\QrCode\Encoding\Encoding; use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelLow; use Endroid\QrCode\QrCode; use Endroid\QrCode\Label\Label; use Endroid\QrCode\Logo\Logo; use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin; use Endroid\QrCode\Writer\PngWriter; class SystemSettingController extends BaseController { public function verificationGrCode(Request $request) { $user_id = $request->user()->id; $code = $request->code; $writer = new PngWriter(); //$str = "#小程序://留日指南/AYpQ1H8PIFNvUaC"; $qrCode = QrCode::create($code) ->setEncoding(new Encoding('UTF-8')) ->setErrorCorrectionLevel(new ErrorCorrectionLevelLow()) ->setSize(300) ->setMargin(10) ->setRoundBlockSizeMode(new RoundBlockSizeModeMargin()) ->setForegroundColor(new Color(0, 0, 0)) ->setBackgroundColor(new Color(255, 255, 255)); $result = $writer->write($qrCode); $dataUri = $result->getDataUri(); // 指定保存路径 $folder_name = "/qrcode/" . date("Ymd", time()); $filename = md5("verifi_code_" . $code . "_" . $user_id) . ".png"; $savePath = public_path() . "/uploads" . $folder_name . "/"; if (!file_exists($savePath)) { mkdir($savePath, 0755, true); } $result->saveToFile($savePath . $filename); $filepath = env('IMAGE_URL') . $folder_name . "/" . $filename; //$qrCode->writeFile($savePath); return $this->JsonResponse(['qrcode' => $dataUri, 'filepath' => $filepath]); // 返回二维码图片的Base64编码 //return response()->json(['status' => 'success', 'qrcode' => 'data:image/png;base64,' . base64_encode($qrCode)]); } public function qrCode(Request $request) { $user_id = $request->user()->id; $writer = new PngWriter(); $spurl = env("API_URL") . "/share?spuid=" . $user_id; //$str = "#小程序://留日指南/AYpQ1H8PIFNvUaC"; $qrCode = QrCode::create($spurl) ->setEncoding(new Encoding('UTF-8')) ->setErrorCorrectionLevel(new ErrorCorrectionLevelLow()) ->setSize(300) ->setMargin(10) ->setRoundBlockSizeMode(new RoundBlockSizeModeMargin()) ->setForegroundColor(new Color(0, 0, 0)) ->setBackgroundColor(new Color(255, 255, 255)); $result = $writer->write($qrCode); $dataUri = $result->getDataUri(); // 指定保存路径 $folder_name = "/qrcode/" . date("Ymd", time()); $filename = "qrcode_" . $user_id . ".png"; $savePath = public_path() . "/uploads" . $folder_name . "/"; if (!file_exists($savePath)) { mkdir($savePath, 0755, true); } $result->saveToFile($savePath . $filename); $filepath = env('IMAGE_URL') . $folder_name . "/" . $filename; //$qrCode->writeFile($savePath); return $this->JsonResponse(['qrcode' => $dataUri, 'filepath' => $filepath]); // 返回二维码图片的Base64编码 //return response()->json(['status' => 'success', 'qrcode' => 'data:image/png;base64,' . base64_encode($qrCode)]); } // public function companyIntro(Request $request) { $articleObj = SystemSettingModel::find(1); if (!$articleObj) { return $this->JsonResponse('', '参数错误', 201); } $cp_brief = $articleObj->cp_brief ?? ''; return $this->JsonResponse(['intro' => $cp_brief]); } public function cashoutIntro(Request $request) { $articleObj = SystemSettingModel::find(1); if (!$articleObj) { return $this->JsonResponse('', '参数错误', 201); } $cashout_brief = $articleObj->cashout_brief ?? ''; return $this->JsonResponse(['intro' => $cashout_brief]); } public function getBj(Request $request) { $articleObj = SystemSettingModel::find(1); if (!$articleObj) { return $this->JsonResponse('', '参数错误', 201); } $bj = ($articleObj->bj_invite ? env('IMAGE_URL') . $articleObj->bj_invite : ""); return $this->JsonResponse(['bj' => $bj]); } }