|
@@ -9,8 +9,8 @@ use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelHigh;
|
|
|
use Endroid\QrCode\Label\Alignment\LabelAlignmentCenter;
|
|
|
use Endroid\QrCode\Label\Font\NotoSans;
|
|
|
use Endroid\QrCode\Writer\PngWriter;
|
|
|
+use PHPZxing\PHPZxingDecoder;
|
|
|
use think\facade\Log;
|
|
|
-use ZxingSPE\QrReader;
|
|
|
|
|
|
class Qrcode extends Base
|
|
|
{
|
|
@@ -59,8 +59,31 @@ class Qrcode extends Base
|
|
|
if (!$url) {
|
|
|
$this->error("url为空");
|
|
|
}
|
|
|
- $qrcodeReader = new QrReader($url);
|
|
|
- $qrcodeText = $qrcodeReader->text();
|
|
|
- $this->success(["text" => $qrcodeText]);
|
|
|
+ //本二维码识别方案:https://github.com/dsiddharth2/php-zxing
|
|
|
+ //需要服务器有安装java
|
|
|
+ $decoder = new PHPZxingDecoder();
|
|
|
+ //把url下载到本地
|
|
|
+ $folder = runtime_path() . "/qrcode/" . date("Y-m") . "/" . date("d/");
|
|
|
+ if (!is_dir($folder)) {
|
|
|
+ mkdir($folder, 0777, true);
|
|
|
+ }
|
|
|
+ $file = $folder . basename($url);
|
|
|
+ $imgData = file_get_contents($url);
|
|
|
+ file_put_contents($file, $imgData);
|
|
|
+ $data = $decoder->decode($file);
|
|
|
+ if ($data->isFound()) {
|
|
|
+ $this->success([
|
|
|
+ "text" => $data->getImageValue(),
|
|
|
+ "format" => $data->getFormat(),
|
|
|
+ "type" => $data->getType(),
|
|
|
+ ]);
|
|
|
+ /* var_dump($data->getImageValue());
|
|
|
+ $data->getFormat();
|
|
|
+ $data->getType();*/
|
|
|
+ }
|
|
|
+ $this->error("未识别到二维码");
|
|
|
+ /* $qrcodeReader = new QrReader($url);
|
|
|
+ $qrcodeText = $qrcodeReader->text();
|
|
|
+ $this->success(["text" => $qrcodeText]);*/
|
|
|
}
|
|
|
}
|