Skip to content

Commit ea5ada7

Browse files
committed
Add node manage
1 parent e372242 commit ea5ada7

31 files changed

Lines changed: 359 additions & 58455 deletions
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<?php
2+
3+
4+
namespace App\Controllers\Api\Admin;
5+
6+
use Slim\Http\Request;
7+
use Slim\Http\Response;
8+
use App\Models\Node;
9+
use App\Models\TrafficLog;
10+
use App\Controllers\BaseController;
11+
12+
class NodeController extends BaseController
13+
{
14+
15+
public function index(Request $req, Response $res, $args)
16+
{
17+
$pageNum = 1;
18+
if (isset($req->getQueryParams()['page'])) {
19+
$pageNum = $req->getQueryParams()['page'];
20+
}
21+
$traffic = Node::paginate(15, [
22+
'*',
23+
], 'page', $pageNum);
24+
$traffic->setPath('/api/admin/nodes');
25+
//return $this->echoJsonWithData($res,$traffic);
26+
return $this->echoJson($res, $traffic);
27+
}
28+
29+
private function saveModel(Response $response, Node $node, $arr)
30+
{
31+
foreach ($arr as $k => $v) {
32+
$node->$k = $v;
33+
}
34+
$node->save();
35+
return $this->echoJsonWithData($response, $node);
36+
}
37+
38+
public function store(Request $req, Response $res, $args)
39+
{
40+
$input = file_get_contents("php://input");
41+
$arr = json_decode($input, true);
42+
return $this->saveModel($res, new Node(), $arr);
43+
}
44+
45+
public function update(Request $req, Response $res, $args)
46+
{
47+
$input = file_get_contents("php://input");
48+
$arr = json_decode($input, true);
49+
return $this->saveModel($res, Node::find($args['id']), $arr);
50+
}
51+
52+
public function trafficLogs(Request $req, Response $res, $args)
53+
{
54+
$pageNum = 1;
55+
if (isset($req->getQueryParams()['page'])) {
56+
$pageNum = $req->getQueryParams()['page'];
57+
}
58+
$traffic = TrafficLog::where('user_traffic_log.node_id', $args['id'])
59+
->join('ss_node', 'user_traffic_log.node_id', '=', 'ss_node.id')
60+
->orderBy('user_traffic_log.id', 'desc')
61+
->paginate(15, [
62+
'user_traffic_log.*',
63+
'ss_node.name as name'
64+
], 'page', $pageNum);
65+
$traffic->setPath('/api/admin/trafficLogs');
66+
//return $this->echoJsonWithData($res,$traffic);
67+
return $this->echoJson($res, $traffic);
68+
}
69+
}

mix-manifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"/public/assets/js/app.js": "/public/assets/js/app.js",
3-
"/public/assets/js/home.js": "/public/assets/js/home.js",
4-
"/public/assets/js/admin.js": "/public/assets/js/admin.js"
3+
"/public/assets/js/admin.js": "/public/assets/js/admin.js",
4+
"/public/assets/js/home.js": "/public/assets/js/home.js"
55
}

public/assets/img/logo.png

505 KB
Loading

0 commit comments

Comments
 (0)