兔姬桑 4 years ago
parent
commit
7fc5da2bbd

+ 1 - 1
app/Components/Helpers.php

@@ -148,7 +148,7 @@ class Helpers
     public static function cacheSysConfig($name)
     {
         if ($name === 'is_onlinePay') {
-            $value = !empty(array_filter(Cache::many(['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay'])));
+            $value = !empty(array_filter(Cache::tags('sysConfig')->many(['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay'])));
             Cache::tags('sysConfig')->put('is_onlinePay', $value);
         } else {
             $value = Config::find($name)->value;

+ 3 - 3
app/Http/Controllers/Admin/UserController.php

@@ -363,9 +363,9 @@ class UserController extends Controller
         return view('admin.user.export', $view);
     }
 
-    public function exportProxyConfig(Request $request, $id): JsonResponse
+    public function exportProxyConfig(Request $request, $uid): JsonResponse
     {
-        $node = Node::find($id);
+        $node = Node::find($request->input('id'));
         if ($node->type === 1) {
             if ($node->compatible) {
                 $proxyType = 'SS';
@@ -376,7 +376,7 @@ class UserController extends Controller
             $proxyType = 'V2Ray';
         }
 
-        $data = $this->getUserNodeInfo($id, $node->id, $request->input('type') !== 'text' ? 0 : 1);
+        $data = $this->getUserNodeInfo($uid, $node->id, $request->input('type') !== 'text' ? 0 : 1);
 
         return Response::json(['status' => 'success', 'data' => $data, 'title' => $proxyType]);
     }

+ 1 - 1
app/Http/Controllers/Gateway/PayPal.php

@@ -132,7 +132,7 @@ class PayPal extends AbstractPayment
 
         if ($response === 'VERIFIED' && $request['invoice']) {
             $payment = Payment::whereTradeNo($request['invoice'])->first();
-            if ($payment && $payment->status == 0) {
+            if ($payment && $payment->status === 0) {
                 $ret = $payment->order->update(['status' => 2]);
                 if ($ret) {
                     exit('success');

+ 29 - 23
app/Http/Controllers/PaymentController.php

@@ -14,8 +14,8 @@ use App\Models\Coupon;
 use App\Models\Goods;
 use App\Models\Order;
 use App\Models\Payment;
-use App\Models\PaymentCallback;
 use Auth;
+use Exception;
 use Illuminate\Http\JsonResponse;
 use Illuminate\Http\Request;
 use Log;
@@ -164,32 +164,38 @@ class PaymentController extends Controller
         $orderSn = date('ymdHis').random_int(100000, 999999);
 
         // 生成订单
-        $order = new Order();
-        $order->order_sn = $orderSn;
-        $order->user_id = Auth::id();
-        $order->goods_id = $credit ? 0 : $goods_id;
-        $order->coupon_id = $coupon->id ?? 0;
-        $order->origin_amount = $credit ?: $goods->price;
-        $order->amount = $amount;
-        $order->is_expire = 0;
-        $order->pay_type = $pay_type;
-        $order->pay_way = self::$method;
-        $order->status = 0;
-        $order->save();
-
-        // 使用优惠券,减少可使用次数
-        if (!empty($coupon)) {
-            if ($coupon->usable_times > 0) {
-                Coupon::whereId($coupon->id)->decrement('usable_times', 1);
+        try {
+            $order = new Order();
+            $order->order_sn = $orderSn;
+            $order->user_id = Auth::id();
+            $order->goods_id = $credit ? 0 : $goods_id;
+            $order->coupon_id = $coupon->id ?? 0;
+            $order->origin_amount = $credit ?: $goods->price;
+            $order->amount = $amount;
+            $order->is_expire = 0;
+            $order->pay_type = $pay_type;
+            $order->pay_way = self::$method;
+            $order->status = 0;
+            $order->save();
+
+            // 使用优惠券,减少可使用次数
+            if (!empty($coupon)) {
+                if ($coupon->usable_times > 0) {
+                    Coupon::whereId($coupon->id)->decrement('usable_times', 1);
+                }
+
+                Helpers::addCouponLog('订单支付使用', $coupon->id, $goods_id, $order->id);
             }
 
-            Helpers::addCouponLog('订单支付使用', $coupon->id, $goods_id, $order->id);
-        }
+            $request->merge(['id' => $order->id, 'type' => $pay_type, 'amount' => $amount]);
 
-        $request->merge(['id' => $order->id, 'type' => $pay_type, 'amount' => $amount]);
+            // 生成支付单
+            return self::getClient()->purchase($request);
+        } catch (Exception $e) {
+            Log::error('订单生成错误:'.$e->getMessage());
+        }
 
-        // 生成支付单
-        return self::getClient()->purchase($request);
+        return Response::json(['status' => 'fail', 'message' => '订单创建失败']);
     }
 
     public function close(Request $request): JsonResponse

+ 3 - 3
app/Http/Requests/Admin/ShopUpdateRequest.php

@@ -9,9 +9,9 @@ class ShopUpdateRequest extends FormRequest
     public function rules(): array
     {
         return [
-            'name'    => 'required',
-            'price'   => 'required|numeric|min:0',
-            'renew'   => 'required_unless:type,2|min:0',
+            'name'  => 'required',
+            'price' => 'required|numeric|min:0',
+            'renew' => 'required_unless:type,2|min:0',
         ];
     }
 }

+ 3 - 3
app/Observers/ConfigObserver.php

@@ -2,6 +2,7 @@
 
 namespace App\Observers;
 
+use App\Components\Helpers;
 use App\Models\Config;
 use Cache;
 use Illuminate\Support\Arr;
@@ -14,9 +15,8 @@ class ConfigObserver
         Cache::tags('sysConfig')->put($config->name, $config->value ?? 0);
 
         // 如果在线支付方式出现变动,改变 在线支付 设置状态
-        if (Arr::exists(['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay'], $config->name)) {
-            $value = !empty(array_filter(Cache::many(['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay'])));
-            Cache::tags('sysConfig')->put('is_onlinePay', $value);
+        if (Arr::exists(['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay'], $config->name) && Cache::tags('sysConfig')->has('is_onlinePay')) {
+            Helpers::cacheSysConfig('is_onlinePay');
         }
     }
 }

+ 0 - 1
composer.json

@@ -27,7 +27,6 @@
     "phpoffice/phpspreadsheet": "^1.14",
     "rap2hpoutre/laravel-log-viewer": "^1.6",
     "riverslei/payment": "^5.1",
-    "simplesoftwareio/simple-qrcode": "^3.0",
     "spatie/laravel-permission": "^3.16",
     "srmklive/paypal": "^1.7",
     "xhat/payjs": "^1.4",

+ 23 - 179
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "e2db37b70aa19f8085179e48a19780f1",
+    "content-hash": "f9bb804b87de132a939ed87ee1aa87e0",
     "packages": [
         {
             "name": "asm89/stack-cors",
@@ -58,55 +58,6 @@
             ],
             "time": "2020-05-31T07:17:05+00:00"
         },
-        {
-            "name": "bacon/bacon-qr-code",
-            "version": "2.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/Bacon/BaconQrCode.git",
-                "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/eaac909da3ccc32b748a65b127acd8918f58d9b0",
-                "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0",
-                "shasum": ""
-            },
-            "require": {
-                "dasprid/enum": "^1.0",
-                "ext-iconv": "*",
-                "php": "^7.1"
-            },
-            "require-dev": {
-                "phly/keep-a-changelog": "^1.4",
-                "phpunit/phpunit": "^6.4",
-                "squizlabs/php_codesniffer": "^3.1"
-            },
-            "suggest": {
-                "ext-imagick": "to generate QR code images"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-4": {
-                    "BaconQrCode\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-2-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Ben Scholzen 'DASPRiD'",
-                    "email": "mail@dasprids.de",
-                    "homepage": "http://www.dasprids.de",
-                    "role": "Developer"
-                }
-            ],
-            "description": "BaconQrCode is a QR code generator for PHP.",
-            "homepage": "https://github.com/Bacon/BaconQrCode",
-            "time": "2018-04-25T17:53:56+00:00"
-        },
         {
             "name": "brick/math",
             "version": "0.9.1",
@@ -229,49 +180,6 @@
             ],
             "time": "2020-08-23T12:54:47+00:00"
         },
-        {
-            "name": "dasprid/enum",
-            "version": "1.0.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/DASPRiD/Enum.git",
-                "reference": "6ccc0d7141a7f149e3c56cb0ce5f05d9152cfd07"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/6ccc0d7141a7f149e3c56cb0ce5f05d9152cfd07",
-                "reference": "6ccc0d7141a7f149e3c56cb0ce5f05d9152cfd07",
-                "shasum": ""
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^7 | ^8 | ^9",
-                "squizlabs/php_codesniffer": "^3.4"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-4": {
-                    "DASPRiD\\Enum\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-2-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Ben Scholzen 'DASPRiD'",
-                    "email": "mail@dasprids.de",
-                    "homepage": "https://dasprids.de/",
-                    "role": "Developer"
-                }
-            ],
-            "description": "PHP 7.1 enum implementation",
-            "keywords": [
-                "enum",
-                "map"
-            ],
-            "time": "2020-07-30T16:37:13+00:00"
-        },
         {
             "name": "dnoegel/php-xdg-base-dir",
             "version": "v0.1.1",
@@ -763,27 +671,27 @@
         },
         {
             "name": "geoip2/geoip2",
-            "version": "v2.10.0",
+            "version": "v2.11.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/maxmind/GeoIP2-php.git",
-                "reference": "419557cd21d9fe039721a83490701a58c8ce784a"
+                "reference": "d01be5894a5c1a3381c58c9b1795cd07f96c30f7"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/419557cd21d9fe039721a83490701a58c8ce784a",
-                "reference": "419557cd21d9fe039721a83490701a58c8ce784a",
+                "url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/d01be5894a5c1a3381c58c9b1795cd07f96c30f7",
+                "reference": "d01be5894a5c1a3381c58c9b1795cd07f96c30f7",
                 "shasum": ""
             },
             "require": {
                 "ext-json": "*",
-                "maxmind-db/reader": "~1.5",
-                "maxmind/web-service-common": "~0.6",
-                "php": ">=5.6"
+                "maxmind-db/reader": "~1.8",
+                "maxmind/web-service-common": "~0.8",
+                "php": ">=7.2"
             },
             "require-dev": {
                 "friendsofphp/php-cs-fixer": "2.*",
-                "phpunit/phpunit": "5.*",
+                "phpunit/phpunit": "^8.0 || ^9.0",
                 "squizlabs/php_codesniffer": "3.*"
             },
             "type": "library",
@@ -812,7 +720,7 @@
                 "geolocation",
                 "maxmind"
             ],
-            "time": "2019-12-12T18:48:39+00:00"
+            "time": "2020-10-01T18:48:34+00:00"
         },
         {
             "name": "guzzlehttp/guzzle",
@@ -2064,23 +1972,23 @@
         },
         {
             "name": "maxmind-db/reader",
-            "version": "v1.7.0",
+            "version": "v1.8.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git",
-                "reference": "942553da239f12051275f9c666538b5dd09e2908"
+                "reference": "b566d429ac9aec10594b0935be8ff38302f8d5c8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/942553da239f12051275f9c666538b5dd09e2908",
-                "reference": "942553da239f12051275f9c666538b5dd09e2908",
+                "url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/b566d429ac9aec10594b0935be8ff38302f8d5c8",
+                "reference": "b566d429ac9aec10594b0935be8ff38302f8d5c8",
                 "shasum": ""
             },
             "require": {
                 "php": ">=7.2"
             },
             "conflict": {
-                "ext-maxminddb": "<1.7.0,>=2.0.0"
+                "ext-maxminddb": "<1.8.0,>=2.0.0"
             },
             "require-dev": {
                 "friendsofphp/php-cs-fixer": "2.*",
@@ -2120,31 +2028,31 @@
                 "geolocation",
                 "maxmind"
             ],
-            "time": "2020-08-07T22:10:05+00:00"
+            "time": "2020-10-01T17:30:21+00:00"
         },
         {
             "name": "maxmind/web-service-common",
-            "version": "v0.7.0",
+            "version": "v0.8.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/maxmind/web-service-common-php.git",
-                "reference": "74c996c218ada5c639c8c2f076756e059f5552fc"
+                "reference": "ba67d9532cfaf499bd71774b8170d05df4f75fb7"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/maxmind/web-service-common-php/zipball/74c996c218ada5c639c8c2f076756e059f5552fc",
-                "reference": "74c996c218ada5c639c8c2f076756e059f5552fc",
+                "url": "https://api.github.com/repos/maxmind/web-service-common-php/zipball/ba67d9532cfaf499bd71774b8170d05df4f75fb7",
+                "reference": "ba67d9532cfaf499bd71774b8170d05df4f75fb7",
                 "shasum": ""
             },
             "require": {
                 "composer/ca-bundle": "^1.0.3",
                 "ext-curl": "*",
                 "ext-json": "*",
-                "php": ">=5.6"
+                "php": ">=7.2"
             },
             "require-dev": {
                 "friendsofphp/php-cs-fixer": "2.*",
-                "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0",
+                "phpunit/phpunit": "^8.0 || ^9.0",
                 "squizlabs/php_codesniffer": "3.*"
             },
             "type": "library",
@@ -2166,7 +2074,7 @@
             ],
             "description": "Internal MaxMind Web Service API",
             "homepage": "https://github.com/maxmind/web-service-common-php",
-            "time": "2020-05-06T14:07:26+00:00"
+            "time": "2020-10-01T15:28:36+00:00"
         },
         {
             "name": "mews/captcha",
@@ -3757,70 +3665,6 @@
             ],
             "time": "2020-05-04T03:07:17+00:00"
         },
-        {
-            "name": "simplesoftwareio/simple-qrcode",
-            "version": "3.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/SimpleSoftwareIO/simple-qrcode.git",
-                "reference": "151dd397426d9a6c0507c96e61ddd2ca1290ce1e"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/SimpleSoftwareIO/simple-qrcode/zipball/151dd397426d9a6c0507c96e61ddd2ca1290ce1e",
-                "reference": "151dd397426d9a6c0507c96e61ddd2ca1290ce1e",
-                "shasum": ""
-            },
-            "require": {
-                "bacon/bacon-qr-code": "2.0.0",
-                "ext-gd": "*",
-                "php": ">=7.2"
-            },
-            "require-dev": {
-                "mockery/mockery": "~1",
-                "phpunit/phpunit": "~9"
-            },
-            "suggest": {
-                "ext-imagick": "Allows the generation of PNG QrCodes.",
-                "illuminate/support": "Allows for use within Laravel."
-            },
-            "type": "library",
-            "extra": {
-                "laravel": {
-                    "providers": [
-                        "SimpleSoftwareIO\\QrCode\\ServiceProvider"
-                    ],
-                    "aliases": {
-                        "QrCode": "SimpleSoftwareIO\\QrCode\\Facade"
-                    }
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "SimpleSoftwareIO\\QrCode\\": "src"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Simple Software LLC",
-                    "email": "support@simplesoftware.io"
-                }
-            ],
-            "description": "Simple QrCode is a QR code generator made for Laravel.",
-            "homepage": "http://www.simplesoftware.io",
-            "keywords": [
-                "Simple",
-                "generator",
-                "laravel",
-                "qrcode",
-                "wrapper"
-            ],
-            "time": "2020-06-02T20:41:21+00:00"
-        },
         {
             "name": "spatie/laravel-permission",
             "version": "3.17.0",

File diff suppressed because it is too large
+ 0 - 0
public/assets/custom/qart.min.js


+ 36 - 32
resources/views/admin/user/export.blade.php

@@ -26,7 +26,7 @@
                         <tr>
                             <td>{{$loop->iteration}}</td>
                             <td>
-                                <a href="/node/edit?id={{$node->id}}" target="_blank"> {{$node->name}} </a>
+                                <a href="{{route('admin.node.edit', $node->id)}}" target="_blank"> {{$node->name}} </a>
                             </td>
                             <td>
                                 @if($node->compatible) <span class="label label-info">兼</span> @endif
@@ -75,38 +75,42 @@
 
     <script type="text/javascript">
         function getInfo(id, type) {
-            $.post("{{route('admin.user.exportProxy', $user->id)}}", {_token: '{{csrf_token()}}', type: type}, function(ret) {
-                if (ret.status === 'success') {
-                    switch (type) {
-                        case 'code':
-                            swal.fire({
-                                html: '<textarea class="form-control" rows="8" readonly="readonly">' + ret.data + '</textarea>' +
-                                    '<a href="' + ret.data + '" class="btn btn-danger btn-block mt-10">打开' + ret.title + '</a>',
-                                showConfirmButton: false,
-                            });
-                            break;
-                        case 'qrcode':
-                            swal.fire({
-                                title: '{{trans('home.scan_qrcode')}}',
-                                html: '<div id="qrcode"></div>',
-                                onBeforeOpen: () => {
-                                    $('#qrcode').qrcode({text: ret.data});
-                                },
-                                showConfirmButton: false,
-                            });
-                            break;
-                        case 'text':
-                            swal.fire({
-                                title: '{{trans('home.setting_info')}}',
-                                html: '<textarea class="form-control" rows="12" readonly="readonly">' + ret.data + '</textarea>',
-                                showConfirmButton: false,
-                            });
-                            break;
-                        default:
-                            swal.fire({title: ret.title, text: ret.data});
+            $.post("{{route('admin.user.exportProxy', $user->id)}}", {_token: '{{csrf_token()}}', id: id, type: type},
+                function(ret) {
+                    if (ret.status === 'success') {
+                        switch (type) {
+                            case 'code':
+                                swal.fire({
+                                    html: '<textarea class="form-control" rows="8" readonly="readonly">' + ret.data +
+                                        '</textarea>' +
+                                        '<a href="' + ret.data + '" class="btn btn-danger btn-block mt-10">打开' +
+                                        ret.title + '</a>',
+                                    showConfirmButton: false,
+                                });
+                                break;
+                            case 'qrcode':
+                                swal.fire({
+                                    title: '{{trans('home.scan_qrcode')}}',
+                                    html: '<div id="qrcode"></div>',
+                                    onBeforeOpen: () => {
+                                        $('#qrcode').qrcode({text: ret.data});
+                                    },
+                                    showConfirmButton: false,
+                                });
+                                break;
+                            case 'text':
+                                swal.fire({
+                                    title: '{{trans('home.setting_info')}}',
+                                    html: '<textarea class="form-control" rows="12" readonly="readonly">' + ret.data +
+                                        '</textarea>',
+                                    showConfirmButton: false,
+                                });
+                                break;
+                            default:
+                                swal.fire({title: ret.title, text: ret.data});
+                        }
                     }
-                }
-            });
+                });
         }
     </script>
 @endsection

+ 17 - 3
resources/views/user/index.blade.php

@@ -141,7 +141,7 @@
                             <div class="card-block">
                                 @if(sysConfig('is_push_bear') && sysConfig('push_bear_qrcode'))
                                     <h4 class="card-title"><i class="wb-bell mr-10 yellow-600"></i>微信公告推送</h4>
-                                    <img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->margin(2)->eyeColor(1, 0, 204, 153, 0, 153, 119)->style('round', 0.9)->size(175)->errorCorrection('H')->merge(url('assets/images/wechat.png'), .3, true)->generate(sysConfig('push_bear_qrcode')))!!}" alt="支付二维码">
+                                    <div id="qrcode"></div>
                                 @else
                                     <h4 class="card-title"><i class="wb-bell mr-10 yellow-600"></i>交流群</h4>
                                 @endif
@@ -220,7 +220,6 @@
             </div>
         </div>
     </div>
-
 @endsection
 @section('script')
     <script src="/assets/global/vendor/aspieprogress/jquery-asPieProgress.js" type="text/javascript"></script>
@@ -228,6 +227,21 @@
     <script src="/assets/global/vendor/chart-js/Chart.min.js" type="text/javascript"></script>
     <script src="/assets/global/js/Plugin/aspieprogress.js" type="text/javascript"></script>
     <script src="/assets/global/js/Plugin/matchheight.js" type="text/javascript"></script>
+    @if(sysConfig('is_push_bear') && sysConfig('push_bear_qrcode'))
+        <script src="/assets/custom/qart.min.js"></script>
+        <script type="text/javascript">
+            $(document).ready(function() {
+                new QArt({
+                    value: '{{sysConfig('push_bear_qrcode')}}',
+                    imagePath: '{{asset('/assets/images/wechat.png')}}',
+                    filter: 'color',
+                    version: 10,
+                    size: 175,
+                    fillType: 'scale_to_fit',
+                }).make(document.getElementById('qrcode'));
+            });
+        </script>
+    @endif
     <script type="text/javascript">
         // 签到
         function checkIn() {
@@ -344,7 +358,7 @@
             },
         });
 
-        @if($banedTime != 0)
+        @if($banedTime)
         // 每秒更新计时器
         const countDownDate = new Date("{{$banedTime}}").getTime();
         const x = setInterval(function() {

+ 16 - 1
resources/views/user/payment.blade.php

@@ -24,7 +24,7 @@
                     </div>
                     <div class="col-auto ml-auto mr-auto">
                         @if($payment->qr_code && $payment->url)
-                            <img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->margin(2)->eyeColor(1, 0, 204, 153, 0, 153, 119)->size(250)->errorCorrection('H')->merge(url($pay_type_icon), .3, true)->generate($payment->url))!!}" alt="支付二维码">
+                            <div id="qrcode"></div>
                         @else
                             <img class="h-250 w-250" src="{{$payment->qr_code}}" alt="支付二维码">
                         @endif
@@ -38,6 +38,21 @@
     </div>
 @endsection
 @section('script')
+    @if($payment->qr_code && $payment->url)
+        <script src="/assets/custom/qart.min.js"></script>
+        <script type="text/javascript">
+            $(document).ready(function() {
+                new QArt({
+                    value: '{{$payment->url}}',
+                    imagePath: '{{asset($pay_type_icon)}}',
+                    filter: 'color',
+                    version: 10,
+                    size: 300,
+                }).make(document.getElementById('qrcode'));
+            });
+        </script>
+    @endif
+
     <script type="text/javascript">
         // 检查支付单状态
         const r = window.setInterval(function() {

Some files were not shown because too many files changed in this diff