66 lines
2.0 KiB
PHP
66 lines
2.0 KiB
PHP
![]() |
<?php
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | UCToo [ Universal Convergence Technology ]
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Copyright (c) 2014-2021 https://www.uctoo.com All rights reserved.
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Author: UCToo <contact@uctoo.com>
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
namespace catchAdmin\apimanager\repository;
|
|||
|
|
|||
|
use catchAdmin\permissions\middleware\PermissionsMiddleware;
|
|||
|
use catchAdmin\apimanager\model\RouteList;
|
|||
|
use catcher\base\CatchRepository;
|
|||
|
use catcher\exceptions\FailedException;
|
|||
|
use think\facade\Console;
|
|||
|
use think\facade\Log;
|
|||
|
use think\facade\Db;
|
|||
|
|
|||
|
class RouteListRepository extends CatchRepository
|
|||
|
{
|
|||
|
protected $routeList;
|
|||
|
|
|||
|
public function __construct(RouteList $routeList)
|
|||
|
{
|
|||
|
$this->routeList = $routeList;
|
|||
|
}
|
|||
|
|
|||
|
protected function model()
|
|||
|
{
|
|||
|
return $this->routeList;
|
|||
|
}
|
|||
|
|
|||
|
public function all()
|
|||
|
{
|
|||
|
$routeList = $this->routeList->select();
|
|||
|
|
|||
|
return $routeList->toArray();
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 同步
|
|||
|
*
|
|||
|
* @time 2020年06月26日
|
|||
|
* @throws \Exception
|
|||
|
* @return bool
|
|||
|
*/
|
|||
|
public function sync()
|
|||
|
{
|
|||
|
DB::table('route_list')->delete(true);
|
|||
|
Console::call('route:list', ['-m']); //没用,也不是从命令生成的route_list文件读的数据,就是想执行一下命令
|
|||
|
$routeList = app()->route->getRuleList();
|
|||
|
$rows = [];
|
|||
|
foreach ($routeList as $item) {
|
|||
|
$item['route'] = $item['route'] instanceof \Closure ? '<Closure>' : $item['route'];
|
|||
|
$item['option'] = json_encode($item['option']);
|
|||
|
$item['pattern'] = json_encode($item['pattern']);
|
|||
|
$rows[] = $item;
|
|||
|
}
|
|||
|
$res = $this->routeList->saveAll($rows);
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
}
|