Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
newShopBack
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
newshop
newShopBack
Commits
50d3f499
Commit
50d3f499
authored
Dec 18, 2019
by
侯贺政
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
权限节点列表,重写无限极分类方法
Signed-off-by:
houhezheng
<
houhezheng@romens.cn
>
parent
a0be0148
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
88 deletions
+32
-88
AuthorityNodeController.php
backend/controllers/v1/authority/AuthorityNodeController.php
+17
-35
AuthorityNode.php
backend/models/v1/authority/AuthorityNode.php
+0
-53
ShopRbacNode.php
backend/models/v1/rbacuser/ShopRbacNode.php
+15
-0
No files found.
backend/controllers/v1/authority/AuthorityNodeController.php
View file @
50d3f499
...
@@ -14,7 +14,7 @@ use app\models\v1\rbacuser\ShopRbacRole;
...
@@ -14,7 +14,7 @@ use app\models\v1\rbacuser\ShopRbacRole;
class
AuthorityNodeController
extends
BaseController
class
AuthorityNodeController
extends
BaseController
{
{
public
$modelClass
=
'app\models\v1\
authority\Authority
Node'
;
public
$modelClass
=
'app\models\v1\
rbacuser\ShopRbac
Node'
;
/**
/**
* 递归实现无限极分类
* 递归实现无限极分类
...
@@ -46,42 +46,25 @@ class AuthorityNodeController extends BaseController
...
@@ -46,42 +46,25 @@ class AuthorityNodeController extends BaseController
}
}
/**
/**
* 生成相应的节点结构
* 无限极分类
*
* @param array $data 节点数据
* @param $array 节点数据
* @return array|null 返回分类好的节点列表
* @param $level 节点级别
* @param $title 节点名称
* @return $list 生成好的节点结构数组
*/
*/
protected
function
make_tree_node
(
$array
,
$level
=
'LEVEL'
,
$title
=
'TITLE'
)
protected
function
generateTree
(
$data
)
{
{
$return
=
array
();
$items
=
array
();
if
(
empty
(
$array
))
foreach
(
$data
as
$v
)
{
return
$return
;
$items
[
$v
[
'ID'
]]
=
$v
;
}
//遍历处理数据
$tree
=
array
();
foreach
(
$array
as
$k
=>
$v
)
{
foreach
(
$items
as
$k
=>
$item
)
{
$show_name
=
''
;
if
(
isset
(
$items
[
$item
[
'PID'
]]))
{
switch
(
$v
[
$level
])
{
$items
[
$item
[
'PID'
]][
'son'
][]
=
&
$items
[
$k
];
case
0
:
}
else
{
$show_name
.=
$v
[
$title
];
$tree
[]
=
&
$items
[
$k
];
break
;
case
1
:
$show_name
.=
'|-'
.
$v
[
$title
];
break
;
case
2
:
$show_name
.=
'|    |-'
.
$v
[
$title
];
break
;
case
3
:
$show_name
.=
'|    |    |-'
.
$v
[
$title
];
break
;
}
}
$return
[
$k
]
=
$v
;
$return
[
$k
][
'SHOW_NAME'
]
=
$show_name
;
}
}
return
$tree
;
return
$return
;
}
}
/**
/**
...
@@ -102,7 +85,6 @@ class AuthorityNodeController extends BaseController
...
@@ -102,7 +85,6 @@ class AuthorityNodeController extends BaseController
* SORT:菜单排序序号,
* SORT:菜单排序序号,
* PID:父级菜单ID,
* PID:父级菜单ID,
* LEVEL:菜单层级等级(类型-0:项目,1:模块,2:操作,3:动作),
* LEVEL:菜单层级等级(类型-0:项目,1:模块,2:操作,3:动作),
* SHOW_NAME:显示名称
* "),
* "),
* security={{"Authorization":{}}}
* security={{"Authorization":{}}}
* )
* )
...
@@ -114,7 +96,7 @@ class AuthorityNodeController extends BaseController
...
@@ -114,7 +96,7 @@ class AuthorityNodeController extends BaseController
if
(
!
$data
)
{
if
(
!
$data
)
{
throw
new
BadRequestHttpException
(
'没有您需要的数据'
);
throw
new
BadRequestHttpException
(
'没有您需要的数据'
);
}
}
$list
=
$this
->
make_tree_node
(
$this
->
getTree
(
$data
)
);
$list
=
$this
->
generateTree
(
$data
);
return
$list
;
return
$list
;
}
}
...
...
backend/models/v1/authority/AuthorityNode.php
deleted
100644 → 0
View file @
a0be0148
<?php
namespace
app\models\v1\authority
;
use
app\models\v1\rbacuser\ShopRbacNode
;
class
AuthorityNode
extends
ShopRbacNode
{
public
$SHOW_NAME
;
//显示名称
/**
* {@inheritdoc}
*/
public
function
fields
()
{
$fields
=
parent
::
fields
();
$fields
[
'SHOW_NAME'
]
=
'SHOW_NAME'
;
$fields
[
'LEVEL'
]
=
function
()
{
switch
(
$this
->
LEVEL
)
{
case
0
:
$level
=
'项目'
;
break
;
case
1
:
$level
=
'模块'
;
break
;
case
2
:
$level
=
'操作'
;
break
;
case
3
:
$level
=
'动作'
;
break
;
default
:
$level
=
''
;
break
;
}
return
$level
;
};
return
$fields
;
}
/**
* 节点列表
*
* @return array|null 返回节点列表
*/
public
function
nodeList
()
{
$query
=
static
::
find
()
->
select
([
'ID'
,
'NAME'
,
'TITLE'
,
'STATUS'
,
'IS_MENU'
,
'IS_TOP_MENU'
,
'IS_DEFAULT_SHOW'
,
'REMARK'
,
'SORT'
,
'PID'
,
'LEVEL'
])
->
orderBy
(
"SORT ASC"
)
->
all
();
return
$query
;
}
}
backend/models/v1/rbacuser/ShopRbacNode.php
View file @
50d3f499
...
@@ -82,4 +82,19 @@ class ShopRbacNode extends BaseModel
...
@@ -82,4 +82,19 @@ class ShopRbacNode extends BaseModel
->
asArray
()
->
asArray
()
->
all
();
->
all
();
}
}
/**
* 节点列表
*
* @return array|null 返回节点列表
*/
public
function
nodeList
()
{
$query
=
static
::
find
()
->
select
([
'ID'
,
'NAME'
,
'TITLE'
,
'STATUS'
,
'IS_MENU'
,
'IS_TOP_MENU'
,
'IS_DEFAULT_SHOW'
,
'REMARK'
,
'SORT'
,
'PID'
,
'LEVEL'
])
->
orderBy
(
"SORT ASC"
)
->
asArray
()
->
all
();
return
$query
;
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment