|
|
@@ -48,7 +48,7 @@ class OauthController extends BaseController
|
|
|
// "leaf":true, 是否有子数据
|
|
|
// "url":"home" 浏览器的url
|
|
|
|
|
|
- private function _testMenu($parentArray){
|
|
|
+ private function _renderMenu($parentArray){
|
|
|
$menuResult = [];
|
|
|
foreach($parentArray as $key => $parentMenu){
|
|
|
$temp = [];
|
|
|
@@ -60,24 +60,25 @@ class OauthController extends BaseController
|
|
|
$temp['leaf'] = $hasSon;// 是否有子节点
|
|
|
if (!$hasSon) {
|
|
|
$temp['url'] = "/".$parentMenu['routePath']; // 浏览器上展示的前端路由
|
|
|
- $temp['schemaApi'] = isset($parentMenu['schemaApi']) ? $parentMenu['schemaApi'] : "/page/aa"; // 获取页面的请求.之前没有,之前是请求的后端api请求
|
|
|
+ $temp['schemaApi'] = isset($parentMenu['schemaApi']) ? '/v1/oauth/page?code='.$parentMenu['schemaApi'] : ""; // 获取页面的请求.之前没有,之前是请求的后端api请求
|
|
|
}else {
|
|
|
if (strpos($parentMenu['routePath'], "/") !== false) {
|
|
|
// 如果包含/ , 表示需要展示到页面上
|
|
|
- $temp['schemaApi'] = isset($parentMenu['schemaApi']) ? $parentMenu['schemaApi'] : "/page/aa"; // 获取页面的请求.之前没有,之前是请求的后端api请求
|
|
|
+ $temp['schemaApi'] = isset($parentMenu['schemaApi']) ? '/v1/oauth/page?code='.$parentMenu['schemaApi'] : ""; // 获取页面的请求.之前没有,之前是请求的后端api请求
|
|
|
}
|
|
|
}
|
|
|
if(isset($parentMenu['child']) && !empty($parentMenu['child'])){
|
|
|
- $temp['children'] = $this->_testMenu($parentMenu['child']);
|
|
|
+ $temp['children'] = $this->_renderMenu($parentMenu['child']);
|
|
|
}
|
|
|
$menuResult[] = $temp;
|
|
|
}
|
|
|
return $menuResult;
|
|
|
}
|
|
|
|
|
|
- public function actionTestmenu(){
|
|
|
+ public function actionSystemMenu(){
|
|
|
$menu = require Yii::getAlias('@backendApi/config/menu.php');
|
|
|
- $menu = $this->_testMenu($menu);
|
|
|
+ $menu = $this->_adminChildMenu($menu); // 先校验权限
|
|
|
+ $menu = $this->_renderMenu($menu);// 返回渲染的格式
|
|
|
$children = [
|
|
|
'children' => $menu
|
|
|
];
|
|
|
@@ -92,14 +93,39 @@ class OauthController extends BaseController
|
|
|
return static::notice($ret);
|
|
|
}
|
|
|
|
|
|
+ private function _adminChildMenu($parentArray){
|
|
|
+ $menuResult = [];
|
|
|
+ foreach($parentArray as $key => $parentMenu){
|
|
|
+ // 菜单是否显示
|
|
|
+ if(isset($parentMenu['show']) && !$parentMenu['show']){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ // 查看是否有该控制器的权限
|
|
|
+ if(isset($parentMenu['controller']) && $parentMenu['controller']){
|
|
|
+ if(!Yii::$app->user->validateAdminController($parentMenu['controller'])) continue;
|
|
|
+ }
|
|
|
+ // 查看是否有权限
|
|
|
+ if(isset($parentMenu['action']) && $parentMenu['action']){
|
|
|
+ if(!Yii::$app->user->validateAdminAction($parentMenu['controller'], $parentMenu['action'])) continue;
|
|
|
+ }
|
|
|
+ // 子菜单同样设置
|
|
|
+ if(isset($parentMenu['child']) && !empty($parentMenu['child'])){
|
|
|
+ $parentMenu['child'] = $this->_childMenu($parentMenu['child']);
|
|
|
+ }
|
|
|
+ // 如果在白名单的不显示菜单
|
|
|
+ if(isset($parentMenu['controller']) && $parentMenu['controller']){
|
|
|
+ if(Yii::$app->user->noCheckAdminController($parentMenu['controller'])) continue;
|
|
|
+ }
|
|
|
+ $menuResult[] = $parentMenu;
|
|
|
+ }
|
|
|
+ return $menuResult;
|
|
|
+ }
|
|
|
+
|
|
|
// 获取页面
|
|
|
public function actionPage(){
|
|
|
$request = Yii::$app->request;
|
|
|
$sqlCode = $request->get('code', '');
|
|
|
$pageInfo = PageDetails::getInfoByCode($sqlCode);
|
|
|
- $a = [
|
|
|
- $pageInfo['page_json']
|
|
|
- ];
|
|
|
Yii::$app->response->format = Response::FORMAT_HTML;
|
|
|
|
|
|
return $pageInfo['page_json'];
|