Kirin 1 年間 前
コミット
30ea835ef0
1 ファイル変更15 行追加0 行削除
  1. 15 0
      app/models/user/Cert.php

+ 15 - 0
app/models/user/Cert.php

@@ -9,8 +9,10 @@
 namespace app\models\user;
 
 
+use app\admin\model\system\SystemAttachment;
 use crmeb\basic\BaseModel;
 use crmeb\services\FormBuilder;
+use crmeb\services\UtilService;
 use crmeb\traits\ModelTrait;
 use think\facade\Route;
 
@@ -107,6 +109,19 @@ class Cert extends BaseModel
             $code = self::createNewCode($id);
             $data['date'] = $date;
             $data['code'] = $code;
+            if (!$data['qrcode']) {
+                $name = 'cert_' . $info['uid'] . '_' . $code . '.jpg';
+                $imageInfo = SystemAttachment::getInfo($name, 'name');
+                if (!$imageInfo) {
+                    $codeUrl = UtilService::setHttpType(sys_config('site_url') . '/index/pages/certificate/showCertificate?id=' . $id, 1);//二维码链接
+                    $imageInfo = UtilService::getQRCodePath($codeUrl, $name);
+                    if (!$imageInfo) return self::setErrorInfo('二维码生成失败');
+                    SystemAttachment::attachmentAdd($imageInfo['name'], $imageInfo['size'], $imageInfo['type'], $imageInfo['dir'], $imageInfo['thumb_path'], 1, $imageInfo['image_type'], $imageInfo['time'], 2);
+                    $url = $imageInfo['dir'];
+                } else $url = $imageInfo['att_dir'];
+                $data['qrcode'] = $url;
+                if ($imageInfo['image_type'] == 1) $data['qrcode'] = sys_config('site_url') . $url;
+            }
             $res = self::where('id', $id)->update($data);
         } else {
             $res = self::where('id', $id)->update($data);