123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <?php
- namespace App\Controllers;
- use App\Models\CheckInLog;
- use App\Models\InviteCode;
- use App\Models\TrafficLog;
- use App\Services\Analytics;
- use App\Services\DbConfig;
- use App\Utils\Tools;
- /**
- * Admin Controller
- */
- class AdminController extends UserController
- {
- public function index($request, $response, $args)
- {
- $sts = new Analytics();
- return $this->view()->assign('sts', $sts)->display('admin/index.tpl');
- }
- public function invite($request, $response, $args)
- {
- $codes = InviteCode::where('user_id', '=', '0')->get();
- return $this->view()->assign('codes', $codes)->display('admin/invite.tpl');
- }
- public function addInvite($request, $response, $args)
- {
- $n = $request->getParam('num');
- $prefix = $request->getParam('prefix');
- $uid = $request->getParam('uid');
-
- if ($n < 1) {
- $res['ret'] = 0;
- return $response->getBody()->write(json_encode($res));
- }
- for ($i = 0; $i < $n; $i++) {
- $char = Tools::genRandomChar(32);
- $code = new InviteCode();
- $code->code = $prefix . $char;
- $code->user_id = $uid;
- $code->save();
- }
- $res['ret'] = 1;
- $res['msg'] = "邀请码添加成功";
- return $response->getBody()->write(json_encode($res));
- }
- public function checkInLog($request, $response, $args)
- {
- $pageNum = 1;
- if (isset($request->getQueryParams()["page"])) {
- $pageNum = $request->getQueryParams()["page"];
- }
- $traffic = CheckInLog::orderBy('id', 'desc')->paginate(15, ['*'], 'page', $pageNum);
- $traffic->setPath('/admin/checkinlog');
- return $this->view()->assign('logs', $traffic)->display('admin/checkinlog.tpl');
- }
- public function trafficLog($request, $response, $args)
- {
- $pageNum = 1;
- if (isset($request->getQueryParams()["page"])) {
- $pageNum = $request->getQueryParams()["page"];
- }
- $logs = TrafficLog::orderBy('id', 'desc')->paginate(15, ['*'], 'page', $pageNum);
- $logs->setPath('/admin/trafficlog');
- return $this->view()->assign('logs', $logs)->display('admin/trafficlog.tpl');
- }
- public function config($request, $response, $args)
- {
- $conf = [
- "app-name" => DbConfig::get('app-name'),
- "home-code" => DbConfig::get('home-code'),
- "analytics-code" => DbConfig::get('analytics-code'),
- "user-index" => DbConfig::get('user-index'),
- "user-node" => DbConfig::get('user-node'),
- ];
- return $this->view()->assign('conf', $conf)->display('admin/config.tpl');
- }
- public function updateConfig($request, $response, $args)
- {
- $config = [
- "analytics-code" => $request->getParam('analyticsCode'),
- "home-code" => $request->getParam('homeCode'),
- "app-name" => $request->getParam('appName'),
- "user-index" => $request->getParam('userIndex'),
- "user-node" => $request->getParam('userNode'),
- ];
- foreach ($config as $key => $value) {
- DbConfig::set($key, $value);
- }
- $res['ret'] = 1;
- $res['msg'] = "更新成功";
- return $response->getBody()->write(json_encode($res));
- }
- }
|