mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-29 22:10:49 +00:00
Merge branch 'v5.0.0dev' of https://gitee.com/ZhongBangKeJi/CRMEB into v5.0.0dev
This commit is contained in:
commit
4de56866dc
@ -50,6 +50,7 @@ class SystemRoute extends AuthController
|
||||
public function syncRoute(string $appName = 'adminapi')
|
||||
{
|
||||
$this->services->syncRoute($appName);
|
||||
|
||||
return app('json')->success();
|
||||
}
|
||||
|
||||
@ -87,17 +88,6 @@ class SystemRoute extends AuthController
|
||||
return app('json')->success($this->services->getTreeList($where));
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建
|
||||
* @return \think\Response
|
||||
* @author 等风来
|
||||
* @email 136327134@qq.com
|
||||
* @date 2023/4/7
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return app('json')->success($this->services->getFrom(0, $this->request->get('app_name', 'adminapi')));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \think\Response
|
||||
@ -105,7 +95,7 @@ class SystemRoute extends AuthController
|
||||
* @email 136327134@qq.com
|
||||
* @date 2023/4/7
|
||||
*/
|
||||
public function save()
|
||||
public function save($id = 0)
|
||||
{
|
||||
$data = $this->request->getMore([
|
||||
['cate_id', 0],
|
||||
@ -114,6 +104,11 @@ class SystemRoute extends AuthController
|
||||
['method', ''],
|
||||
['type', 0],
|
||||
['app_name', ''],
|
||||
['request', []],
|
||||
['response', []],
|
||||
['request_example', []],
|
||||
['response_example', []],
|
||||
['describe', ''],
|
||||
]);
|
||||
|
||||
if (!$data['name']) {
|
||||
@ -128,10 +123,13 @@ class SystemRoute extends AuthController
|
||||
if (!$data['app_name']) {
|
||||
return app('json')->fail('缺少应用名参数');
|
||||
}
|
||||
if ($id) {
|
||||
$this->services->update($id, $data);
|
||||
} else {
|
||||
$this->services->save($data);
|
||||
}
|
||||
|
||||
$this->services->save($data);
|
||||
|
||||
return app('json')->success('添加成功');
|
||||
return app('json')->success($id ? '修改成功' : '添加成功');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -141,45 +139,9 @@ class SystemRoute extends AuthController
|
||||
* @email 136327134@qq.com
|
||||
* @date 2023/4/7
|
||||
*/
|
||||
public function edit($id)
|
||||
public function read($id)
|
||||
{
|
||||
return app('json')->success($this->services->getFrom($id, $this->request->get('app_name', 'adminapi')));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @return \think\Response
|
||||
* @author 等风来
|
||||
* @email 136327134@qq.com
|
||||
* @date 2023/4/7
|
||||
*/
|
||||
public function update($id)
|
||||
{
|
||||
$data = $this->request->getMore([
|
||||
['cate_id', 0],
|
||||
['name', ''],
|
||||
['path', ''],
|
||||
['method', ''],
|
||||
['type', 0],
|
||||
['app_name', ''],
|
||||
]);
|
||||
|
||||
if (!$data['name']) {
|
||||
return app('json')->fail('请输入路由名称');
|
||||
}
|
||||
if (!$data['path']) {
|
||||
return app('json')->fail('请输入路由路径');
|
||||
}
|
||||
if (!$data['method']) {
|
||||
return app('json')->fail('请选择路由请求方式');
|
||||
}
|
||||
if (!$data['app_name']) {
|
||||
return app('json')->fail('缺少应用名参数');
|
||||
}
|
||||
|
||||
$this->services->update($id, $data);
|
||||
|
||||
return app('json')->success('修改成功');
|
||||
return app('json')->success($this->services->getInfo((int)$id));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -113,18 +113,13 @@ Route::group('system', function () {
|
||||
//同步路由接口
|
||||
Route::get('route/sync_route/[:appName]', 'v1.system.SystemRoute/syncRoute')->option(['real_name' => '同步路由']);
|
||||
//获取路由tree行数据
|
||||
Route::get('route/tree', 'v1.system.SystemRoute/tree')->option(['real_name' => '获取路由tree']);
|
||||
Route::get('route/tree', 'v1.setting.SystemRoute/tree')->option(['real_name' => '获取路由tree']);
|
||||
//权限路由
|
||||
Route::resource('route', 'v1.setting.SystemRoute')->option([
|
||||
'real_name' => [
|
||||
'index' => '获取路由列表',
|
||||
'create' => '获取创建路由表单',
|
||||
'save' => '保存路由',
|
||||
'edit' => '获取修改路由表单',
|
||||
'update' => '修改路由',
|
||||
'delete' => '删除路由'
|
||||
],
|
||||
]);
|
||||
Route::delete('route/:id', 'v1.setting.SystemRoute/delete')->option(['real_name' => '删除路由权限']);
|
||||
//查看路由权限
|
||||
Route::get('route/:id', 'v1.setting.SystemRoute/read')->option(['real_name' => '查看路由权限']);
|
||||
//保存路由权限
|
||||
Route::post('route/:id', 'v1.setting.SystemRoute/save')->option(['real_name' => '保存路由权限']);
|
||||
//路由分类
|
||||
Route::resource('route_cate', 'v1.setting.SystemRouteCate')->option([
|
||||
'real_name' => [
|
||||
|
||||
@ -45,4 +45,45 @@ class SystemRoute extends BaseModel
|
||||
$query->where('name|path', 'LIKE', '%' . $value . '%');
|
||||
}
|
||||
}
|
||||
|
||||
public function setRequestAttr($value)
|
||||
{
|
||||
return json_encode($value);
|
||||
}
|
||||
|
||||
public function getRequestAttr($value)
|
||||
{
|
||||
return json_decode($value, true);
|
||||
}
|
||||
|
||||
public function setResponseAttr($value)
|
||||
{
|
||||
return json_encode($value);
|
||||
}
|
||||
|
||||
public function getResponseAttr($value)
|
||||
{
|
||||
return json_decode($value, true);
|
||||
}
|
||||
|
||||
public function setRequestExampleAttr($value)
|
||||
{
|
||||
return json_encode($value);
|
||||
}
|
||||
|
||||
public function getRequestExampleAttr($value)
|
||||
{
|
||||
return json_decode($value, true);
|
||||
}
|
||||
|
||||
|
||||
public function setResponseExampleAttr($value)
|
||||
{
|
||||
return json_encode($value);
|
||||
}
|
||||
|
||||
public function getResponseExampleAttr($value)
|
||||
{
|
||||
return json_decode($value, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@ namespace app\services\system;
|
||||
use app\dao\system\SystemRouteDao;
|
||||
use app\services\BaseServices;
|
||||
use crmeb\services\FormBuilder;
|
||||
use think\exception\ValidateException;
|
||||
use think\helper\Str;
|
||||
|
||||
/**
|
||||
@ -53,6 +54,23 @@ class SystemRouteServices extends BaseServices
|
||||
return compact('list', 'count');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $id
|
||||
* @return array
|
||||
* @author 等风来
|
||||
* @email 136327134@qq.com
|
||||
* @date 2023/4/10
|
||||
*/
|
||||
public function getInfo(int $id)
|
||||
{
|
||||
$routeInfo = $this->dao->get($id);
|
||||
if (!$routeInfo) {
|
||||
throw new ValidateException('修改的路由不存在');
|
||||
}
|
||||
|
||||
return $routeInfo->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取tree数据
|
||||
* @param string $appName
|
||||
@ -100,7 +118,7 @@ class SystemRouteServices extends BaseServices
|
||||
|
||||
$route = $this->app->route->getRuleList();
|
||||
$action_arr = ['index', 'read', 'create', 'save', 'edit', 'update', 'delete'];
|
||||
|
||||
|
||||
foreach ($route as &$item) {
|
||||
$real_name = $item['option']['real_name'] ?? '';
|
||||
if (is_array($real_name)) {
|
||||
@ -124,6 +142,16 @@ class SystemRouteServices extends BaseServices
|
||||
*/
|
||||
public function syncRoute(string $app = 'adminapi')
|
||||
{
|
||||
$id = app()->make(SystemRouteCateServices::class)->value(['app_name' => $app, 'name' => '全部权限', 'pid' => 0], 'id');
|
||||
if (!$id) {
|
||||
$res = app()->make(SystemRouteCateServices::class)->save([
|
||||
'app_name' => $app,
|
||||
'name' => '全部权限',
|
||||
'pid' => 0,
|
||||
'add_time' => time(),
|
||||
]);
|
||||
$id = $res->id;
|
||||
}
|
||||
$listAll = $this->getRouteListAll($app);
|
||||
//保持新增的权限路由
|
||||
$data = $this->dao->selectList(['app_name' => $app], 'path,method')->toArray();
|
||||
@ -133,6 +161,7 @@ class SystemRouteServices extends BaseServices
|
||||
$save[] = [
|
||||
'name' => $item['option']['real_name'] ?? $item['name'],
|
||||
'path' => $item['rule'],
|
||||
'cate_id' => $id,
|
||||
'app_name' => $app,
|
||||
'type' => isset($item['option']['is_common']) && $item['option']['is_common'] ? 1 : 0,
|
||||
'method' => $item['method'],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user