Files
dootask/app/Http/Controllers/IndexController.php
T
2021-06-08 10:40:16 +08:00

65 lines
1.4 KiB
PHP
Executable File

<?php
namespace App\Http\Controllers;
use App\Module\Base;
use App\Tasks\DeleteTmpTask;
use Hhxsv5\LaravelS\Swoole\Task\Task;
use Redirect;
/**
* 页面
* Class IndexController
* @package App\Http\Controllers
*/
class IndexController extends InvokeController
{
public function __invoke($method, $action = '', $child = '')
{
$app = $method ?: 'main';
if ($action) {
$app .= "__" . $action;
}
if (!method_exists($this, $app)) {
$app = method_exists($this, $method) ? $method : 'main';
}
return $this->$app($child);
}
/**
* 首页
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function main()
{
return view('main', ['version' => Base::getVersion()]);
}
/**
* 接口文档
* @return \Illuminate\Http\RedirectResponse
*/
public function api()
{
return Redirect::to(Base::fillUrl('docs/index.html'), 301);
}
/**
* 系统定时任务,限制内网访问(1分钟/次)
* @return string
*/
public function crontab()
{
if (!Base::is_internal_ip()) {
// 限制内网访问
return "Forbidden Access";
}
// 删除过期的临时表数据
Task::deliver(new DeleteTmpTask('wg_tmp_msgs', 1));
Task::deliver(new DeleteTmpTask('tmp', 24));
return "success";
}
}