实现view的扩展架构;调整think-view依赖;发布新版本

This commit is contained in:
2023-09-25 10:35:03 +08:00
parent 9f43e11f81
commit 5955a03d2c
94 changed files with 244 additions and 48 deletions

View File

View File

@@ -0,0 +1,5 @@
<div class="layuimini-container">
<div class="layuimini-main">
</div>
</div>

View File

@@ -0,0 +1,49 @@
<div class="layuimini-container">
<div class="layuimini-main">
<form id="app-form" class="layui-form layuimini-form">
<div class="layui-form-item">
<label class="layui-form-label required">用户头像</label>
<div class="layui-input-block layuimini-upload">
<input name="head_img" class="layui-input layui-col-xs6" lay-reqtext="请上传用户头像" placeholder="请上传用户头像" value="{$row.head_img|default=''}">
<div class="layuimini-upload-btn">
<span><a class="layui-btn" data-upload="head_img" data-upload-number="one" data-upload-exts="*image"><i class="fa fa-upload"></i> 上传</a></span>
<span><a class="layui-btn layui-btn-normal" id="select_head_img" data-upload-select="head_img" data-upload-number="one"><i class="fa fa-list"></i> 选择</a></span>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">登录账户</label>
<div class="layui-input-block">
<input type="text" name="username" class="layui-input" readonly value="{$row.username|default=''}">
<tip>填写登录账户。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">用户手机</label>
<div class="layui-input-block">
<input type="text" name="phone" class="layui-input" lay-reqtext="请输入用户手机" placeholder="请输入用户手机" value="{$row.phone|default=''}">
<tip>填写用户手机。</tip>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">备注信息</label>
<div class="layui-input-block">
<textarea name="remark" class="layui-textarea" placeholder="请输入备注信息">{$row.remark|default=''}</textarea>
</div>
</div>
<div class="hr-line"></div>
<div class="layui-form-item text-center">
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit>确认</button>
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">重置</button>
</div>
</form>
</div>
</div>

View File

@@ -0,0 +1,3 @@
$(function () {
ua.listen();
});

View File

@@ -0,0 +1,38 @@
<div class="layuimini-container">
<div class="layuimini-main">
<form id="app-form" class="layui-form layuimini-form">
<div class="layui-form-item">
<label class="layui-form-label required">登录账户</label>
<div class="layui-input-block">
<input type="text" name="username" class="layui-input" readonly value="{$row.username|default=''}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">登录密码</label>
<div class="layui-input-block">
<input type="password" name="password" class="layui-input" lay-verify="required" lay-reqtext="请输入登录密码" placeholder="请输入登录密码" value="">
<tip>填写登录密码。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">确认密码</label>
<div class="layui-input-block">
<input type="password" name="password_again" class="layui-input" lay-verify="required" lay-reqtext="请输入确认密码" placeholder="请输入确认密码" value="">
<tip>填写再次登录密码。</tip>
</div>
</div>
<div class="hr-line"></div>
<div class="layui-form-item text-center">
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit>确认</button>
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">重置</button>
</div>
</form>
</div>
</div>

View File

@@ -0,0 +1,3 @@
$(function () {
ua.listen();
});

View File

@@ -0,0 +1,114 @@
<link rel="stylesheet" href="__STATIC__/plugs/lay-module/layuimini/layuimini.css?v={$version}" media="all">
<link rel="stylesheet" href="__STATIC__/plugs/lay-module/layuimini/themes/default.css?v={$version}" media="all">
<style id="layuimini-bg-color">
</style>
<body class="layui-layout-body layuimini-all">
<div class="layui-layout layui-layout-admin">
<div class="layui-header header">
<div class="layui-logo layuimini-logo"></div>
<div class="layuimini-header-content">
<a>
<div class="layuimini-tool"><i title="展开" class="fa fa-outdent" data-side-fold="1"></i></div>
</a>
<!--电脑端头部菜单-->
<ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-menu-header-pc layuimini-pc-show" lay-bar="disabled">
</ul>
<!--手机端头部菜单-->
<ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-mobile-show">
<li class="layui-nav-item">
<a href="javascript:;"><i class="fa fa-list-ul"></i> 选择模块</a>
<dl class="layui-nav-child layuimini-menu-header-mobile">
</dl>
</li>
</ul>
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item" lay-unselect>
<a href="/"><i class="fa fa-home"></i></a>
</li>
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;" data-refresh="刷新"><i class="fa fa-refresh"></i></a>
</li>
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;" data-clear="清理" class="layuimini-clear"><i class="fa fa-trash-o"></i></a>
</li>
<li class="layui-nav-item mobile layui-hide-xs" lay-unselect>
<a href="javascript:;" data-check-screen="full"><i class="fa fa-arrows-alt"></i></a>
</li>
<li class="layui-nav-item layuimini-setting">
<a href="javascript:;">
<img src="{$session_admin.head_img}" class="layui-nav-img" width="50" height="50">
<cite class="adminName">{$session_admin.username}</cite>
<span class="layui-nav-more"></span>
</a>
<dl class="layui-nav-child">
<dd>
<a href="javascript:;" layuimini-content-href="{:__url('index/editAdmin')}" data-title="基本资料" data-icon="fa fa-gears">基本资料<span class="layui-badge-dot"></span></a>
</dd>
<dd>
<a href="javascript:;" layuimini-content-href="{:__url('index/editPassword')}" data-title="修改密码" data-icon="fa fa-gears">修改密码</a>
</dd>
<dd>
<hr>
</dd>
<dd>
<a href="javascript:;" class="login-out">退出登录</a>
</dd>
</dl>
</li>
<li class="layui-nav-item layuimini-select-bgcolor" lay-unselect>
<a href="javascript:;" data-bgcolor="配色方案"><i class="fa fa-ellipsis-v"></i></a>
</li>
</ul>
</div>
</div>
<!--无限极左侧菜单-->
<div class="layui-side layui-bg-black layuimini-menu-left">
</div>
<!--初始化加载层-->
<div class="layuimini-loader">
<div class="layuimini-loader-inner"></div>
</div>
<!--手机端遮罩层-->
<div class="layuimini-make"></div>
<!-- 移动导航 -->
<div class="layuimini-site-mobile"><i class="layui-icon"></i></div>
<div class="layui-body">
<div class="layuimini-tab layui-tab-rollTool layui-tab" lay-filter="layuiminiTab" lay-allowclose="true">
<ul class="layui-tab-title">
<li class="layui-this" id="layuiminiHomeTabId" lay-id=""></li>
</ul>
<div class="layui-tab-control">
<li class="layuimini-tab-roll-left layui-icon layui-icon-left"></li>
<li class="layuimini-tab-roll-right layui-icon layui-icon-right"></li>
<li class="layui-tab-tool layui-icon layui-icon-down">
<ul class="layui-nav close-box">
<li class="layui-nav-item">
<a href="javascript:;"><span class="layui-nav-more"></span></a>
<dl class="layui-nav-child">
<dd><a href="javascript:;" layuimini-tab-close="current"> </a></dd>
<dd><a href="javascript:;" layuimini-tab-close="other"> </a></dd>
<dd><a href="javascript:;" layuimini-tab-close="all"> </a></dd>
</dl>
</li>
</ul>
</li>
</div>
<div class="layui-tab-content">
<div id="layuiminiHomeTabIframe" class="layui-tab-item layui-show"></div>
</div>
</div>
</div>
</div>
</body>

View File

@@ -0,0 +1,25 @@
$(function () {
var options = {
iniUrl: ua.url('ajax/initAdmin'), // 初始化接口
clearUrl: ua.url("ajax/clearCache"), // 缓存清理接口
urlHashLocation: true, // 是否打开hash定位
bgColorDefault: false, // 主题默认配置
multiModule: true, // 是否开启多模块
menuChildOpen: false, // 是否默认展开菜单
loadingTime: 0, // 初始化加载时间
pageAnim: true, // iframe窗口动画
maxTabNum: 20, // 最大的tab打开数量
};
miniAdmin.render(options);
$('.login-out').on("click", function () {
ua.request.get({
url: 'login/out',
prefix: true,
}, function (res) {
ua.msg.success(res.msg, function () {
window.location = ua.url('login/index');
});
});
});
});

View File

@@ -0,0 +1,181 @@
<link rel="stylesheet" href="__STATIC__/admin/css/welcome.css?v={:time()}" media="all">
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-row layui-col-space15">
<div class="layui-col-md8">
<div class="layui-row layui-col-space15">
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header"><i class="fa fa-warning icon"></i>数据统计</div>
<div class="layui-card-body">
<div class="welcome-module">
<div class="layui-row layui-col-space10">
<div class="layui-col-xs6">
<div class="panel layui-bg-number">
<div class="panel-body">
<div class="panel-title">
<span class="label pull-right layui-bg-blue">实时</span>
<h5>用户统计</h5>
</div>
<div class="panel-content">
<h1 class="no-margins">1234</h1>
<small>当前分类总记录数</small>
</div>
</div>
</div>
</div>
<div class="layui-col-xs6">
<div class="panel layui-bg-number">
<div class="panel-body">
<div class="panel-title">
<span class="label pull-right layui-bg-cyan">实时</span>
<h5>商品统计</h5>
</div>
<div class="panel-content">
<h1 class="no-margins">1234</h1>
<small>当前分类总记录数</small>
</div>
</div>
</div>
</div>
<div class="layui-col-xs6">
<div class="panel layui-bg-number">
<div class="panel-body">
<div class="panel-title">
<span class="label pull-right layui-bg-orange">实时</span>
<h5>浏览统计</h5>
</div>
<div class="panel-content">
<h1 class="no-margins">1234</h1>
<small>当前分类总记录数</small>
</div>
</div>
</div>
</div>
<div class="layui-col-xs6">
<div class="panel layui-bg-number">
<div class="panel-body">
<div class="panel-title">
<span class="label pull-right layui-bg-green">实时</span>
<h5>订单统计</h5>
</div>
<div class="panel-content">
<h1 class="no-margins">1234</h1>
<small>当前分类总记录数</small>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header"><i class="fa fa-credit-card icon icon-blue"></i>快捷入口</div>
<div class="layui-card-body">
<div class="welcome-module">
<div class="layui-row layui-col-space10 layuimini-qiuck">
{foreach $quicks as $vo}
<div class="layui-col-xs3 layuimini-qiuck-module">
<a layuimini-content-href="{:url($vo['href'])}" data-title="{$vo['title']}">
<i class="{$vo['icon']|raw}"></i>
<cite>{$vo['title']}</cite>
</a>
</div>
{/foreach}
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header"><i class="fa fa-line-chart icon"></i>报表统计</div>
<div class="layui-card-body">
<div id="echarts-records" style="width: 100%;min-height:500px"></div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"><i class="fa fa-fire icon"></i>版本信息</div>
<div class="layui-card-body layui-text">
<table class="layui-table">
<colgroup>
<col width="100">
<col>
</colgroup>
<tbody>
<tr>
<td>框架名称</td>
<td data-toggle="copy-text" data-clipboard-text="ulthon_admin">
ulthon_admin <i class="fa fa-copy"></i>
</td>
</tr>
<tr>
<td>当前版本</td>
<td data-toggle="copy-text" data-clipboard-text="{:\\app\\common\\command\\admin\\Version::VERSION}">{:\\app\\common\\command\\admin\\Version::VERSION} <i class="fa fa-copy"></i></td>
</tr>
<tr>
<td>最新修改</td>
<td>{:implode('<br />',\\app\\common\\command\\admin\\Version::COMMENT)}</td>
</tr>
<tr>
<td>主要特色</td>
<td>零门槛 / 响应式 / 清爽 / 极简</td>
</tr>
<tr>
<td>Gitee</td>
<td style="padding-bottom: 0;">
<div class="layui-btn-container">
<a href='https://gitee.com/ulthon/ulthon_admin/stargazers'><img src='https://gitee.com/ulthon/ulthon_admin/badge/star.svg?theme=dark' alt='star'></img></a>
<a href='https://gitee.com/ulthon/ulthon_admin/members'><img src='https://gitee.com/ulthon/ulthon_admin/badge/fork.svg?theme=dark' alt='fork'></img></a>
</div>
</td>
</tr>
<tr>
<td>Layui版本</td>
<td>{:\\app\\common\\command\\admin\\Version::LAYUI_VERSION}</td>
</tr>
<tr>
<td>ThinkPHP</td>
<td>{:\\think\\App::VERSION}</td>
</tr>
<tr>
<td>PHP</td>
<td>{:PHP_VERSION}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header"><i class="fa fa-paper-plane-o icon"></i>作者心语</div>
<div class="layui-card-body layui-text layadmin-text">
<p>本模板基于layui{:\\app\\common\\command\\admin\\Version::LAYUI_VERSION}以及font-awesome-4.7.0进行实现。layui开发文档地址<a class="layui-btn layui-btn-xs layui-btn-danger" target="_blank" href="https://layui.gitee.io/v2/">layui文档</a></p>
<p>技术交流QQ群<a target="_blank" href="https://jq.qq.com/?_wv=1027&k=TULvsosz"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="ulthon_admin" title="ulthon_admin"></a>加群请备注来源如gitee、github、官网等</p>
<p>喜欢此后台模板的可以给我的GitHub和Gitee加个Star支持一下</p>
<p class="layui-red">备注:此后台框架永久开源,但请勿进行出售或者上传到任何素材网站,否则将追究相应的责任。</p>
</div>
</div>
<div class="git-container">
<script src='https://gitee.com/ulthon/ulthon_admin/widget_preview' async defer></script>
<div id="osc-gitee-widget-tag" class="layui-card"></div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,83 @@
$(function () {
/**
* 报表功能
*/
var echartsRecords = echarts.init(document.getElementById('echarts-records'), 'walden');
var optionRecords = {
title: {
text: '访问统计'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
toolbox: {
feature: {
saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
},
yAxis: {
type: 'value'
},
series: [
{
name: '邮件营销',
type: 'line',
stack: '总量',
data: [120, 132, 101, 134, 90, 230, 210]
},
{
name: '联盟广告',
type: 'line',
stack: '总量',
data: [220, 182, 191, 234, 290, 330, 310]
},
{
name: '视频广告',
type: 'line',
stack: '总量',
data: [150, 232, 201, 154, 190, 330, 410]
},
{
name: '直接访问',
type: 'line',
stack: '总量',
data: [320, 332, 301, 334, 390, 330, 320]
},
{
name: '搜索引擎',
type: 'line',
stack: '总量',
data: [820, 932, 901, 934, 1290, 1330, 1320]
}
]
};
var checkChartVisibleTimer = setInterval(() => {
var isChartVisible = $('#echarts-records').is(':visible');
if (isChartVisible) {
echartsRecords.setOption(optionRecords);
echartsRecords.resize();
window.addEventListener("resize", function () {
echartsRecords.resize();
});
clearInterval(checkChartVisibleTimer);
}
}, 3000);
ua.listen();
});