优化curd命令的调用方式;调整后台工作台内容;优化版本命令代码

This commit is contained in:
2022-07-18 10:15:41 +08:00
parent f1580eb417
commit f276f06142
7 changed files with 166 additions and 186 deletions

View File

@@ -106,95 +106,7 @@
<div class="layui-col-md4"> <div class="layui-col-md4">
<div class="layui-card">
<div class="layui-card-header"><i class="fa fa-bullhorn icon icon-tip"></i>系统公告</div>
<div class="layui-card-body layui-text">
<div class="layuimini-notice">
<div class="layuimini-notice-title">修改选项卡样式</div>
<div class="layuimini-notice-extra">2019-07-11 23:06</div>
<div class="layuimini-notice-content layui-hide">
界面足够简洁清爽。<br>
一个接口几行代码而已直接初始化整个框架,无需复杂操作。<br>
支持多tab可以打开多窗口。<br>
支持无限级菜单和对font-awesome图标库的完美支持。<br>
失效以及报错菜单无法直接打开,并给出弹出层提示完美的线上用户体验。<br>
url地址hash定位可以清楚看到当前tab的地址信息。<br>
刷新页面会保留当前的窗口,并且会定位当前窗口对应左侧菜单栏。<br>
移动端的友好支持。<br>
</div>
</div>
<div class="layuimini-notice">
<div class="layuimini-notice-title">新增系统404模板</div>
<div class="layuimini-notice-extra">2019-07-11 12:57</div>
<div class="layuimini-notice-content layui-hide">
界面足够简洁清爽。<br>
一个接口几行代码而已直接初始化整个框架,无需复杂操作。<br>
支持多tab可以打开多窗口。<br>
支持无限级菜单和对font-awesome图标库的完美支持。<br>
失效以及报错菜单无法直接打开,并给出弹出层提示完美的线上用户体验。<br>
url地址hash定位可以清楚看到当前tab的地址信息。<br>
刷新页面会保留当前的窗口,并且会定位当前窗口对应左侧菜单栏。<br>
移动端的友好支持。<br>
</div>
</div>
<div class="layuimini-notice">
<div class="layuimini-notice-title">新增treetable插件和菜单管理样式</div>
<div class="layuimini-notice-extra">2019-07-05 14:28</div>
<div class="layuimini-notice-content layui-hide">
界面足够简洁清爽。<br>
一个接口几行代码而已直接初始化整个框架,无需复杂操作。<br>
支持多tab可以打开多窗口。<br>
支持无限级菜单和对font-awesome图标库的完美支持。<br>
失效以及报错菜单无法直接打开,并给出弹出层提示完美的线上用户体验。<br>
url地址hash定位可以清楚看到当前tab的地址信息。<br>
刷新页面会保留当前的窗口,并且会定位当前窗口对应左侧菜单栏。<br>
移动端的友好支持。<br>
</div>
</div>
<div class="layuimini-notice">
<div class="layuimini-notice-title">修改logo缩放问题</div>
<div class="layuimini-notice-extra">2019-07-04 11:02</div>
<div class="layuimini-notice-content layui-hide">
界面足够简洁清爽。<br>
一个接口几行代码而已直接初始化整个框架,无需复杂操作。<br>
支持多tab可以打开多窗口。<br>
支持无限级菜单和对font-awesome图标库的完美支持。<br>
失效以及报错菜单无法直接打开,并给出弹出层提示完美的线上用户体验。<br>
url地址hash定位可以清楚看到当前tab的地址信息。<br>
刷新页面会保留当前的窗口,并且会定位当前窗口对应左侧菜单栏。<br>
移动端的友好支持。<br>
</div>
</div>
<div class="layuimini-notice">
<div class="layuimini-notice-title">修复左侧菜单缩放tab无法移动</div>
<div class="layuimini-notice-extra">2019-06-17 11:55</div>
<div class="layuimini-notice-content layui-hide">
界面足够简洁清爽。<br>
一个接口几行代码而已直接初始化整个框架,无需复杂操作。<br>
支持多tab可以打开多窗口。<br>
支持无限级菜单和对font-awesome图标库的完美支持。<br>
失效以及报错菜单无法直接打开,并给出弹出层提示完美的线上用户体验。<br>
url地址hash定位可以清楚看到当前tab的地址信息。<br>
刷新页面会保留当前的窗口,并且会定位当前窗口对应左侧菜单栏。<br>
移动端的友好支持。<br>
</div>
</div>
<div class="layuimini-notice">
<div class="layuimini-notice-title">修复多模块菜单栏展开有问题</div>
<div class="layuimini-notice-extra">2019-06-13 14:53</div>
<div class="layuimini-notice-content layui-hide">
界面足够简洁清爽。<br>
一个接口几行代码而已直接初始化整个框架,无需复杂操作。<br>
支持多tab可以打开多窗口。<br>
支持无限级菜单和对font-awesome图标库的完美支持。<br>
失效以及报错菜单无法直接打开,并给出弹出层提示完美的线上用户体验。<br>
url地址hash定位可以清楚看到当前tab的地址信息。<br>
刷新页面会保留当前的窗口,并且会定位当前窗口对应左侧菜单栏。<br>
移动端的友好支持。<br>
</div>
</div>
</div>
</div>
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-header"><i class="fa fa-fire icon"></i>版本信息</div> <div class="layui-card-header"><i class="fa fa-fire icon"></i>版本信息</div>
@@ -205,39 +117,49 @@
<col> <col>
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
<td>框架名称</td> <td>框架名称</td>
<td> <td>
ulthon_admin ulthon_admin
</td> </td>
</tr> </tr>
<tr> <tr>
<td>当前版本</td> <td>当前版本</td>
<td>v2.0.0</td> <td>{:\\app\\common\\command\\admin\\Version::VERSION}</td>
</tr> </tr>
<tr> <tr>
<td>主要特色</td> <td>最新修改</td>
<td>零门槛 / 响应式 / 清爽 / 极简</td> <td>{:implode('<br />',\\app\\common\\command\\admin\\Version::COMMENT)}</td>
</tr> </tr>
<tr> <tr>
<td>Gitee</td> <td>主要特色</td>
<td style="padding-bottom: 0;"> <td>零门槛 / 响应式 / 清爽 / 极简</td>
<div class="layui-btn-container"> </tr>
<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> <tr>
<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> <td>Gitee</td>
</div> <td style="padding-bottom: 0;">
</td> <div class="layui-btn-container">
</tr> <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>
</tbody> </tbody>
</table> </table>
</div> </div>
</div> </div>
<div class="layui-card">
<div class="layui-card-header"><i class="fa fa-bullhorn icon icon-tip"></i>系统公告</div>
<div class="layui-card-body layui-text">
<script src='https://gitee.com/ulthon/ulthon_admin/widget_preview' async defer></script>
<div id="osc-gitee-widget-tag"></div>
</div>
</div>
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-header"><i class="fa fa-paper-plane-o icon"></i>作者心语</div> <div class="layui-card-header"><i class="fa fa-paper-plane-o icon"></i>作者心语</div>
<div class="layui-card-body layui-text layadmin-text"> <div class="layui-card-body layui-text layadmin-text">
<p>本模板基于layui2.5.4以及font-awesome-4.7.0进行实现。layui开发文档地址<a class="layui-btn layui-btn-xs layui-btn-danger" target="_blank" href="http://www.layui.com/doc">layui文档</a></p> <p>本模板基于layui2.7.4以及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="layuimini" title="layuimini"></a>加群请备注来源如gitee、github、官网等</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="layuimini" title="layuimini"></a>加群请备注来源如gitee、github、官网等</p>
<p>喜欢此后台模板的可以给我的GitHub和Gitee加个Star支持一下</p> <p>喜欢此后台模板的可以给我的GitHub和Gitee加个Star支持一下</p>
<p class="layui-red">备注:此后台框架永久开源,但请勿进行出售或者上传到任何素材网站,否则将追究相应的责任。</p> <p class="layui-red">备注:此后台框架永久开源,但请勿进行出售或者上传到任何素材网站,否则将追究相应的责任。</p>

View File

@@ -20,8 +20,8 @@ class Curd extends Command
->addOption('controllerFilename', 'c', Option::VALUE_REQUIRED, '控制器文件名', null) ->addOption('controllerFilename', 'c', Option::VALUE_REQUIRED, '控制器文件名', null)
->addOption('modelFilename', 'm', Option::VALUE_REQUIRED, '主表模型文件名', null) ->addOption('modelFilename', 'm', Option::VALUE_REQUIRED, '主表模型文件名', null)
# #
->addOption('force', 'f', Option::VALUE_REQUIRED, '强制覆盖模式', 0) ->addOption('force', 'f', Option::VALUE_NONE, '强制覆盖模式')
->addOption('delete', 'd', Option::VALUE_REQUIRED, '删除模式', 0) ->addOption('delete', 'd', Option::VALUE_NONE, '删除模式')
->setDescription('一键curd命令服务'); ->setDescription('一键curd命令服务');
} }
@@ -32,8 +32,16 @@ class Curd extends Command
$controllerFilename = $input->getOption('controllerFilename'); $controllerFilename = $input->getOption('controllerFilename');
$modelFilename = $input->getOption('modelFilename'); $modelFilename = $input->getOption('modelFilename');
$force = $input->getOption('force'); $force = 0;
$delete = $input->getOption('delete'); $delete = 0;
if ($input->hasOption('force')) {
$force = 1;
}
if ($input->hasOption('delete')) {
$delete = 1;
}
if (empty($table)) { if (empty($table)) {
$output->error('请设置主表'); $output->error('请设置主表');
@@ -47,10 +55,8 @@ class Curd extends Command
$columns = $build->getTableColumns(); $columns = $build->getTableColumns();
$relations = []; $relations = [];
foreach ($columns as $field => $column) { foreach ($columns as $field => $column) {
if (isset($column['formType']) && $column['formType'] == 'relation') { if (isset($column['formType']) && $column['formType'] == 'relation') {
@@ -76,7 +82,7 @@ class Curd extends Command
!empty($controllerFilename) && $build = $build->setControllerFilename($controllerFilename); !empty($controllerFilename) && $build = $build->setControllerFilename($controllerFilename);
!empty($modelFilename) && $build = $build->setModelFilename($modelFilename); !empty($modelFilename) && $build = $build->setModelFilename($modelFilename);
foreach ($relations as $relation) { foreach ($relations as $relation) {
$build = $build->setRelation($relation['table'], $relation['foreignKey'], $relation['primaryKey'], $relation['modelFilename'], $relation['onlyFileds'], $relation['relationBindSelect']); $build = $build->setRelation($relation['table'], $relation['foreignKey'], $relation['primaryKey'], $relation['modelFilename'], $relation['onlyFileds'], $relation['relationBindSelect']);
} }

View File

@@ -14,10 +14,13 @@ use think\facade\App;
class Version extends Command class Version extends Command
{ {
const VERSION = 'v2.0.7'; const VERSION = 'v2.0.8';
const COMMENT = [ const COMMENT = [
'给版本命令增加自动推送功能', '优化curd命令的调用方式',
'调整后台工作台内容',
'优化版本命令代码',
]; ];
protected function configure() protected function configure()
@@ -48,12 +51,14 @@ class Version extends Command
$is_push_tag = $input->hasOption('push-tag'); $is_push_tag = $input->hasOption('push-tag');
if ($is_push_tag) { if ($is_push_tag) {
$root_path = App::getRootPath(); $output->writeln('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');
$version = $this::VERSION; $version = $this::VERSION;
$comment = implode(';', $this::COMMENT); $comment = implode(';', $this::COMMENT);
$output->info('生成标签:' . $version);
$output->info('标签描述:' . $comment);
exec("git tag -a $version -m \"$comment\""); exec("git tag -a $version -m \"$comment\"");
$output->info('推送到远程仓库');
exec("git push --tags"); exec("git push --tags");
} }
} }

View File

@@ -1,22 +1,105 @@
.layui-card {border:1px solid #f2f2f2;border-radius:5px;} .layui-card {
.icon {margin-right:10px;color:#1aa094;} border : 1px solid #f2f2f2;
.icon-cray {color:#ffb800!important;} border-radius: 5px;
.icon-blue {color:#1e9fff!important;} }
.icon-tip {color:#ff5722!important;}
.layuimini-qiuck-module {text-align:center;margin-top: 10px} .icon {
.layuimini-qiuck-module a i {display:inline-block;width:100%;height:60px;line-height:60px;text-align:center;border-radius:2px;font-size:30px;background-color:#F8F8F8;color:#333;transition:all .3s;-webkit-transition:all .3s;} margin-right: 10px;
.layuimini-qiuck-module a cite {position:relative;top:2px;display:block;color:#666;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:14px;} color : #1aa094;
.welcome-module {width:100%;height:210px;} }
.panel {background-color:#fff;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}
.panel-body {padding:10px} .icon-cray {
.panel-title {margin-top:0;margin-bottom:0;font-size:12px;color:inherit} color: #ffb800 !important;
.label {display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;margin-top: .3em;} }
.layui-red {color:red}
.main_btn > p {height:40px;} .icon-blue {
.layui-bg-number {background-color:#F8F8F8;} color: #1e9fff !important;
.layuimini-notice:hover {background:#f6f6f6;} }
.layuimini-notice {padding:7px 16px;clear:both;font-size:12px !important;cursor:pointer;position:relative;transition:background 0.2s ease-in-out;}
.layuimini-notice-title,.layuimini-notice-label { .icon-tip {
padding-right: 70px !important;text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important;} color: #ff5722 !important;
.layuimini-notice-title {line-height:28px;font-size:14px;} }
.layuimini-notice-extra {position:absolute;top:50%;margin-top:-8px;right:16px;display:inline-block;height:16px;color:#999;}
.layuimini-qiuck-module {
text-align: center;
margin-top: 10px
}
.layuimini-qiuck-module a i {
display : inline-block;
width : 100%;
height : 60px;
line-height : 60px;
text-align : center;
border-radius : 2px;
font-size : 30px;
background-color : #F8F8F8;
color : #333;
transition : all .3s;
-webkit-transition: all .3s;
}
.layuimini-qiuck-module a cite {
position : relative;
top : 2px;
display : block;
color : #666;
text-overflow: ellipsis;
overflow : hidden;
white-space : nowrap;
font-size : 14px;
}
.welcome-module {
width : 100%;
height: 210px;
}
.panel {
background-color : #fff;
border : 1px solid transparent;
border-radius : 3px;
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
box-shadow : 0 1px 1px rgba(0, 0, 0, .05)
}
.panel-body {
padding: 10px
}
.panel-title {
margin-top : 0;
margin-bottom: 0;
font-size : 12px;
color : inherit
}
.label {
display : inline;
padding : .2em .6em .3em;
font-size : 75%;
font-weight : 700;
line-height : 1;
color : #fff;
text-align : center;
white-space : nowrap;
vertical-align: baseline;
border-radius : .25em;
margin-top : .3em;
}
.layui-red {
color: red
}
.main_btn>p {
height: 40px;
}
.layui-bg-number {
background-color: #F8F8F8;
}
.osc_link_color {
color: #9B9B9B !important
}

View File

@@ -30,36 +30,6 @@ define(["jquery", "easy-admin", "echarts", "echarts-theme", "miniAdmin", "miniTa
miniTab.listen(); miniTab.listen();
/**
* 查看公告信息
**/
$('body').on('click', '.layuimini-notice', function () {
var title = $(this).children('.layuimini-notice-title').text(),
noticeTime = $(this).children('.layuimini-notice-extra').text(),
content = $(this).children('.layuimini-notice-content').html();
var html = '<div style="padding:15px 20px; text-align:justify; line-height: 22px;border-bottom:1px solid #e2e2e2;background-color: #2f4056;color: #ffffff">\n' +
'<div style="text-align: center;margin-bottom: 20px;font-weight: bold;border-bottom:1px solid #718fb5;padding-bottom: 5px"><h4 class="text-danger">' + title + '</h4></div>\n' +
'<div style="font-size: 12px">' + content + '</div>\n' +
'</div>\n';
layer.open({
type: 1,
title: '系统公告' + '<span style="float: right;right: 1px;font-size: 12px;color: #b1b3b9;margin-top: 1px">' + noticeTime + '</span>',
area: '300px;',
shade: 0.8,
id: 'layuimini-notice',
btn: ['查看', '取消'],
btnAlign: 'c',
moveType: 1,
content: html,
success: function (layero) {
var btn = layero.find('.layui-layer-btn');
btn.find('.layui-layer-btn0').attr({
href: 'https://gitee.com/zhongshaofa/layuimini',
target: '_blank'
});
}
});
});
/** /**
* 报表功能 * 报表功能

View File

@@ -488,10 +488,6 @@ $box-shape: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%,
color: $main-color; color: $main-color;
} }
.layuimini-notice:hover {
background-color: $active-color;
}
.layuimini-qiuck-module { .layuimini-qiuck-module {
cursor: pointer; cursor: pointer;

View File

@@ -420,9 +420,7 @@
.elem-style-sicfi .layui-text { .elem-style-sicfi .layui-text {
color: rgb(126, 252, 246); color: rgb(126, 252, 246);
} }
.elem-style-sicfi .layuimini-notice:hover {
background-color: rgba(62, 251, 251, 0.5);
}
.elem-style-sicfi .layuimini-qiuck-module { .elem-style-sicfi .layuimini-qiuck-module {
cursor: pointer; cursor: pointer;
} }