test_lgq/niucloud/app/adminapi/controller/sys/Menu.php

159 lines
4.0 KiB
PHP
Raw Normal View History

2024-01-24 17:36:08 +08:00
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\adminapi\controller\sys;
use app\dict\sys\MenuDict;
use app\dict\sys\MenuTypeDict;
use app\dict\sys\MethodDict;
use app\service\admin\install\InstallSystemService;
use app\service\admin\sys\MenuService;
use core\base\BaseAdminController;
use think\Response;
class Menu extends BaseAdminController
{
/**
* 菜单列表(todo 限制只有平台端可以访问)
* @return Response
*/
public function lists($app_type)
{
return success((new MenuService())->getAllMenuList($app_type, 'all', 1));
}
/**
* 菜单信息
* @param $menu_key
* @return Response
*/
public function info($app_type, $menu_key)
{
return success((new MenuService())->get($app_type, $menu_key));
}
/**
* 新增菜单接口
* @return Response
*/
public function add()
{
$data = $this->request->params([
['app_type', ''],
['menu_name', ''],
['menu_type', 0],
['menu_key', ''],
['parent_key', ''],
['icon', ''],
['api_url', ''],
['view_path', ''],
['router_path', ''],
['methods', ''],
['sort', 0],
['status', MenuDict::ON],
['is_show', 0],
['addon', ''],
['menu_short_name','']
]);
$this->validate($data, 'app\validate\sys\Menu.add');
(new MenuService())->add($data);
return success('ADD_SUCCESS');
}
/**
* 菜单或接口更新
*/
public function edit($app_type, $menu_key)
{
$data = $this->request->params([
['menu_name', ''],
['parent_key', ''],
['menu_type', 0],
['icon', ''],
['api_url', ''],
['router_path', ''],
['view_path', ''],
['methods', ''],
['sort', 0],
['status', MenuDict::ON],
['is_show', 0],
['addon', ''],
['menu_short_name','']
]);
$this->validate($data, 'app\validate\sys\Menu.edit');
(new MenuService())->edit($app_type, $menu_key, $data);
return success('EDIT_SUCCESS');
}
/**
* 获取菜单类型静态资源
* @return Response
*/
public function getMenuType()
{
return success(MenuTypeDict::getMenuType());
}
/**
* 获取请求方式
* @return Response
*/
public function getMethodType()
{
return success(MethodDict::getMethodType());
}
/**
* 删除菜单
* @param $menu_key
* @return Response
*/
public function del($app_type, $menu_key)
{
(new MenuService())->del($app_type, $menu_key);
return success('DELETE_SUCCESS');
}
public function refreshMenu()
{
(new InstallSystemService())->install();
return success('REFRESH_SUCCESS');
}
/**
* 查询菜单信息
*/
public function getSystem()
{
return success( (new MenuService())->getSystemMenu('all', 1));
}
/**
* 查询应用权限信息
*/
public function getAddonMenu($app_key)
{
return success( (new MenuService())->getAddonMenu($app_key,'all', 1));
}
/**
* 查询菜单类型为目录的菜单
* @param $addon
* @return Response
*/
public function getMenuByTypeDir($addon = 'system') {
return success( (new MenuService())->getMenuByTypeDir($addon));
}
}