feat: 升级权限管理模式

This commit is contained in:
augushong
2025-03-20 16:57:05 +08:00
parent 1887733b32
commit d3e85fa552
50 changed files with 330 additions and 1125 deletions

View File

@@ -3,7 +3,7 @@
namespace base\admin\model;
use app\admin\model\SystemAuthNode;
use app\admin\model\SystemNode;
use app\admin\service\NodeService;
use app\common\model\TimeModel;
class SystemAuthBase extends TimeModel
@@ -22,13 +22,9 @@ class SystemAuthBase extends TimeModel
{
$checkNodeList = (new SystemAuthNode())
->where('auth_id', $authId)
->column('node_id');
$systemNode = new SystemNode();
$nodelList = $systemNode
->where('is_auth', 1)
->field('id,node,title,type,is_auth')
->select()
->toArray();
->column('node');
$nodelList = (new NodeService())->getNodelist();
$newNodeList = [];
foreach ($nodelList as $vo) {
if ($vo['type'] == 1) {
@@ -39,7 +35,7 @@ class SystemAuthBase extends TimeModel
foreach ($nodelList as $v) {
if ($v['type'] == 2 && strpos($v['node'], $vo['node'] . '/') !== false) {
$v = array_merge($v, ['field' => 'node', 'spread' => true]);
$v['checked'] = in_array($v['id'], $checkNodeList) ? true : false;
$v['checked'] = in_array($v['node'], $checkNodeList) ? true : false;
$v['title'] = "{$v['title']}{$v['node']}";
$children[] = $v;
}

View File

@@ -1,37 +0,0 @@
<?php
namespace base\admin\model;
use app\common\model\TimeModel;
class SystemNodeBase extends TimeModel
{
protected $deleteTime = false;
public function getNodeTreeList()
{
$list = $this->select()->toArray();
$list = $this->buildNodeTree($list);
return $list;
}
protected function buildNodeTree($list)
{
$newList = [];
$repeatString = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
foreach ($list as $vo) {
if ($vo['type'] == 1) {
$newList[] = $vo;
foreach ($list as $v) {
if ($v['type'] == 2 && strpos($v['node'], $vo['node'] . '/') !== false) {
$v['node'] = "{$repeatString}{$repeatString}" . $v['node'];
$newList[] = $v;
}
}
}
}
return $newList;
}
}