修复token验证和左侧表单问题
This commit is contained in:
@@ -22,6 +22,33 @@ use think\Model;
|
||||
|
||||
class AdminSysMenu extends Model
|
||||
{
|
||||
// 设置表名
|
||||
protected $name = 'menu';
|
||||
|
||||
// 设置主键
|
||||
protected $pk = 'smid';
|
||||
|
||||
// 自动时间戳
|
||||
protected $autoWriteTimestamp = true;
|
||||
protected $createTime = 'create_time';
|
||||
protected $updateTime = 'update_time';
|
||||
|
||||
// 字段类型转换
|
||||
protected $type = [
|
||||
'smid' => 'integer',
|
||||
'parent_id' => 'integer',
|
||||
'type' => 'integer',
|
||||
'sort' => 'integer',
|
||||
'status' => 'integer',
|
||||
'create_time' => 'integer',
|
||||
'update_time' => 'integer'
|
||||
];
|
||||
|
||||
// 允许写入的字段
|
||||
protected $allowField = [
|
||||
'parent_id', 'type', 'label', 'icon_class', 'sort', 'src', 'status'
|
||||
];
|
||||
|
||||
/**
|
||||
* 获取菜单树形结构
|
||||
* @return array
|
||||
@@ -30,28 +57,36 @@ class AdminSysMenu extends Model
|
||||
{
|
||||
// 获取所有启用的菜单
|
||||
$menus = self::where('status', 1)
|
||||
->order('type', 'asc')
|
||||
->order('sort', 'desc')
|
||||
->order('smid', 'asc')
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
$menuTree = [];
|
||||
return self::buildTree($menus);
|
||||
}
|
||||
|
||||
// 先处理所有父菜单
|
||||
/**
|
||||
* 构建树形结构
|
||||
* @param array $menus 菜单数组
|
||||
* @param int $parent_id 父级ID
|
||||
* @return array
|
||||
*/
|
||||
public static function buildTree($menus, $parent_id = 0)
|
||||
{
|
||||
$tree = [];
|
||||
|
||||
foreach ($menus as $menu) {
|
||||
if ($menu['parent_id'] == 0) {
|
||||
$menuTree[$menu['smid']] = $menu;
|
||||
$menuTree[$menu['smid']]['children'] = [];
|
||||
if ($menu['parent_id'] == $parent_id) {
|
||||
$children = self::buildTree($menus, $menu['smid']);
|
||||
if ($children) {
|
||||
$menu['children'] = $children;
|
||||
} else {
|
||||
$menu['children'] = [];
|
||||
}
|
||||
$tree[] = $menu;
|
||||
}
|
||||
}
|
||||
|
||||
// 再处理子菜单
|
||||
foreach ($menus as $menu) {
|
||||
if ($menu['parent_id'] != 0 && isset($menuTree[$menu['parent_id']])) {
|
||||
$menuTree[$menu['parent_id']]['children'][] = $menu;
|
||||
}
|
||||
}
|
||||
|
||||
return array_values($menuTree);
|
||||
|
||||
return $tree;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user