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

@@ -1,64 +0,0 @@
<?php
namespace base\common\command;
use app\admin\model\SystemNode;
use app\admin\service\NodeService;
use think\console\Command;
use think\console\Input;
use think\console\input\Option;
use think\console\Output;
class NodeBase extends Command
{
protected function configure()
{
$this->setName('node')
->addOption('force', null, Option::VALUE_REQUIRED, '是否强制刷新', 0)
->setDescription('系统节点刷新服务');
}
protected function execute(Input $input, Output $output)
{
$force = $input->getOption('force');
$output->writeln('========正在刷新节点服务:=====' . date('Y-m-d H:i:s'));
$check = $this->refresh($force);
$check !== true && $output->writeln('节点刷新失败:' . $check);
$output->writeln('刷新完成:' . date('Y-m-d H:i:s'));
}
protected function refresh($force)
{
$nodeList = (new NodeService())->getNodelist();
if (empty($nodeList)) {
return true;
}
$model = new SystemNode();
try {
if ($force == 1) {
$updateNodeList = $model->whereIn('node', array_column($nodeList, 'node'))->select();
$formatNodeList = array_format_key($nodeList, 'node');
foreach ($updateNodeList as $vo) {
isset($formatNodeList[$vo['node']]) && $model->where('id', $vo['id'])->update([
'title' => $formatNodeList[$vo['node']]['title'],
'is_auth' => $formatNodeList[$vo['node']]['is_auth'],
]);
}
}
$existNodeList = $model->field('node,title,type,is_auth')->select();
foreach ($nodeList as $key => $vo) {
foreach ($existNodeList as $v) {
if ($vo['node'] == $v->node) {
unset($nodeList[$key]);
break;
}
}
}
$model->insertAll($nodeList);
} catch (\Exception $e) {
return $e->getMessage();
}
return true;
}
}

View File

@@ -17,7 +17,7 @@ class VersionBase extends Command
public const PRODUCT_VERSION = '';
public const LAYUI_VERSION = '2.9.18';
public const LAYUI_VERSION = 'v2.10.1';
public const COMMENT = [
'版本更新说明:',