Bläddra i källkod

feat: 登录显示新信息

igb 4 månader sedan
förälder
incheckning
e87bef0fdd

+ 5 - 9
app/Distributor/Controllers/HomeController.php

@@ -3,6 +3,7 @@
 namespace App\Distributor\Controllers;
 
 use App\Distributor\Metrics\Examples;
+use App\Distributor\Metrics\DistMessage;
 use App\Http\Controllers\Controller;
 use App\Distributor\Controllers\Dashboard;
 use Dcat\Admin\Admin;
@@ -10,6 +11,7 @@ use Dcat\Admin\Layout\Column;
 use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Layout\Row;
 
+
 class HomeController extends Controller
 {
     public function index(Content $content)
@@ -23,15 +25,9 @@ class HomeController extends Controller
 //                    $column->row(new Examples\Tickets());
                 });
 
-//                $row->column(6, function (Column $column) {
-//                    $column->row(function (Row $row) {
-//                        $row->column(6, new Examples\NewUsers());
-//                        $row->column(6, new Examples\NewDevices());
-//                    });
-//
-//                    $column->row(new Examples\Sessions());
-//                    $column->row(new Examples\ProductOrders());
-//                });
+                $row->column(4, function (Column $column) {
+                    $column->row(new DistMessage());
+                });
             });
     }
 }

+ 75 - 0
app/Distributor/Metrics/DistMessage.php

@@ -0,0 +1,75 @@
+<?php
+
+namespace App\Distributor\Metrics;
+
+use Dcat\Admin\Widgets\Metrics\Round;
+use Illuminate\Http\Request;
+use App\Models\DistMessage as DistMessageModel;
+
+class DistMessage extends Round
+{
+    /**
+     * 初始化卡片内容
+     */
+    protected function init()
+    {
+        parent::init();
+
+        // 卡片内容宽度
+        $this->contentWidth(12, 0);
+        $this->title('Messages');
+
+    }
+
+    /**
+     * 处理请求
+     *
+     * @param Request $request
+     *
+     * @return mixed|void
+     */
+    public function handle(Request $request)
+    {
+        // 获取最新的10条消息
+        $messages = DistMessageModel::latest()->take(10)->get();
+
+
+        // 卡片内容
+        $this->withContent($messages);
+    }
+
+    /**
+     * 卡片内容.
+     *
+     * @param \Illuminate\Support\Collection $messages
+     *
+     * @return $this
+     */
+    public function withContent($messages)
+    {
+        $content = '';
+
+        foreach ($messages as $message) {
+            $content .= <<<HTML
+<div class="chart-info d-flex justify-content-between mb-1">
+    <div class="series-info d-flex align-items-center">
+        . <a href="/dist/messages/{$message->id}"><span class="text-bold-600 ml-50">{$message->title} ({$message->created_at->toDateString()})</span>
+        </a>
+    </div>
+    <div class="product-result">
+        <span>{$message->status}</span>
+    </div>
+</div>
+HTML;
+        }
+
+        return $this->content(
+            <<<HTML
+
+<div class="col-12 d-flex flex-column flex-wrap text-center" style="">
+    {$content}
+</div>
+HTML
+        );
+    }
+}