新增手机端浏览模式

This commit is contained in:
2023-09-27 16:32:38 +08:00
parent c77257730c
commit 4356de36b3
11 changed files with 310 additions and 28 deletions

View File

@@ -3,8 +3,10 @@
namespace base\admin\controller;
use app\admin\model\SystemAdmin;
use app\admin\model\SystemMenu;
use app\admin\model\SystemQuick;
use app\common\controller\AdminController;
use app\common\service\MenuService;
class IndexBase extends AdminController
{
@@ -116,4 +118,39 @@ class IndexBase extends AdminController
return $this->fetch();
}
public function mobile()
{
$pid = $this->request->param('pid', 0);
$menuService = new MenuService(session('admin.id'));
$home_info = $menuService->getHomeInfo();
$list_menu = SystemMenu::with(['children' => function ($query) {
$query->order('sort', 'desc')->order('id', 'asc');
}])->where('pid', $pid)->order([
'sort' => 'desc',
'id' => 'asc',
])
->where('status', 1)
->select();
$list_menu_pid = SystemMenu::group('pid')->column('pid');
foreach ($list_menu as $model_menu) {
foreach ($model_menu->children as $model_child) {
if (in_array($model_child->id, $list_menu_pid)) {
$model_child->href = __url('mobile', ['pid' => $model_child->pid]);
} else {
$model_child->href = __url($model_child->href);
}
}
}
$this->assign('home_info', $home_info);
$this->assign('list_menu', $list_menu);
return $this->fetch();
}
}

View File

@@ -2,6 +2,7 @@
namespace base\admin\model;
use app\admin\model\SystemMenu;
use app\common\constants\MenuConstant;
use app\common\model\TimeModel;
@@ -9,6 +10,11 @@ class SystemMenuBase extends TimeModel
{
protected $deleteTime = 'delete_time';
public function children()
{
return $this->hasMany(SystemMenu::class, 'pid', 'id');
}
public function getPidMenuList()
{
$list = $this->field('id,pid,title')

View File

@@ -30,4 +30,5 @@
<script src="__STATIC__/plugs/jq-module/city-picker/js/city-picker.data.min.js"></script>
<script src="__STATIC__/plugs/jq-module/city-picker/js/city-picker.min.js"></script>
<script src="__STATIC__/plugs/clipboard.js/clipboard.min.js"></script>
<script src="__STATIC__/plugs/ulthon-admin/table.js"></script>
<script src="__STATIC__/plugs/ulthon-admin/ulthon-admin.js"></script>

View File

@@ -0,0 +1,31 @@
<div class="ul-section ul-padding-md">
<div class="ul-group-title">基本</div>
<div class="ul-nav-grid colord box">
<a href="{:__url('admin/index/welcome')}" class="item">
<div class="icon">
<div class="main"><i class="{$home_info.icon}"></i></div>
</div>
<div class="title">{$home_info.title}</div>
</a>
</div>
</div>
{volist name='list_menu' id='vo'}
{notempty name='vo.children'}
<div class="ul-section ul-padding-md">
<div class="ul-group-title">{$vo.title}</div>
<div class="ul-nav-grid colord box">
{volist name='vo.children' id='vovo'}
<a href="{$vovo.href}" class="item">
<div class="icon">
<div class="main"><i class="{$vovo.icon}"></i></div>
</div>
<div class="title">{$vovo.title}</div>
</a>
{/volist}
</div>
</div>
{/notempty}
{/volist}

View File

View File

@@ -30,6 +30,38 @@
</head>
<body>
{if $Request.isMobile }
<link rel="stylesheet" href="//layui.ulthon.com/cdn/layui-ul.css">
<div class="ul-section">
<div class="ul-header">
<div class="ul-header-main" style="max-width: 600px;">
<div class="ul-header-left">
<a href="{:__url('admin/index/mobile')}" class="">
<img class="ul-header-logo" src="{$logo_info.image}" alt="">
</a>
</div>
{notempty name='session_admin'}
<div class="ul-header-right">
<div class="ul-header-user">
<div class="ul-header-user-avatar" style="background-image: url('{$session_admin.head_img}');">
</div>
<div class="ul-header-user-info">
<div class="ul-header-user-name">
{$session_admin.username}
</div>
<div class="ul-header-user-options">
<i class="ul-icon-exit"></i>
<span>退出</span>
</div>
</div>
</div>
</div>
{/notempty}
</div>
</div>
</div>
{/if}
{__CONTENT__}
<script style="display: none;" id="data-brage" type="text/plain">{$data_brage|raw|default='[]'}</script>
</body>

View File

@@ -366,6 +366,15 @@ class AdminControllerBase extends BaseController
];
View::assign($data);
if ($this->request->isMobile()) {
$logo_info = [
'title' => sysconfig('site', 'logo_title'),
'image' => sysconfig('site', 'logo_image'),
'href' => __url('index/index'),
];
$this->assign('logo_info', $logo_info);
}
}
/**