Compare commits
67 Commits
6ee2bfa468
...
9d07605601
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d07605601 | ||
|
|
fcfb1c5fcd | ||
|
|
a907cbaa35 | ||
|
|
d3ea9a26bf | ||
|
|
4d7a899b89 | ||
|
|
ac13b1db61 | ||
|
|
3b8e76182a | ||
|
|
d6fb303dd6 | ||
|
|
32521330bc | ||
|
|
e0a46567cc | ||
|
|
03e75c9f5e | ||
|
|
39da639dd5 | ||
|
|
65a959a8c5 | ||
|
|
ff6d44bb05 | ||
|
|
1e987f5dfe | ||
|
|
1c8bceafa4 | ||
|
|
0d2211197b | ||
|
|
56d2292ece | ||
|
|
958d357a03 | ||
|
|
2ecb7066e8 | ||
|
|
e6a3c5a526 | ||
|
|
38643eb8bb | ||
|
|
e7560c6af7 | ||
|
|
1527d45961 | ||
|
|
810cd5d8ea | ||
|
|
2855bc245f | ||
|
|
f5e6d1d012 | ||
|
|
09c49730b5 | ||
|
|
933ddd63b4 | ||
|
|
906a509027 | ||
|
|
4ffbc9730d | ||
|
|
d2aa8d0817 | ||
|
|
7f3cae056e | ||
|
|
2ca69565f6 | ||
|
|
b03cb6fc1d | ||
|
|
e72ab77bb3 | ||
|
|
7a9ef75f5c | ||
|
|
8186864daf | ||
|
|
2cc3e4f471 | ||
|
|
7352483f14 | ||
|
|
5430b3a6b8 | ||
|
|
cba7560481 | ||
|
|
558dede7ce | ||
|
|
60ba2a872b | ||
|
|
e98bfc8b34 | ||
|
|
1a40f50322 | ||
|
|
cbd49abf60 | ||
|
|
28f8c23c94 | ||
|
|
751fc77c4a | ||
|
|
f14e6ca191 | ||
|
|
e1d38f1ffe | ||
|
|
d58b1d2c73 | ||
|
|
ff3c649381 | ||
|
|
2841dc0907 | ||
|
|
fb1b5ed2de | ||
|
|
b6aaa4077a | ||
|
|
0ef7fbd292 | ||
|
|
298017b93b | ||
|
|
c95890a4fa | ||
|
|
c3f62db5d7 | ||
|
|
02a1b5ae70 | ||
|
|
677cfc4317 | ||
|
|
6f8a451bb9 | ||
|
|
38e972af30 | ||
|
|
f757b92901 | ||
|
|
76919b48c1 | ||
|
|
e1dbdf6120 |
19
.gitignore
vendored
@ -5,12 +5,13 @@
|
||||
.vscode
|
||||
*.log
|
||||
.DS_Store
|
||||
/vendor
|
||||
/runtime
|
||||
/safefile
|
||||
/nbproject
|
||||
/composer.lock
|
||||
/public/upload
|
||||
/public/static/theme/css/_*.css*
|
||||
/public/static/theme/css/node_modules
|
||||
/public/static/theme/css/package-lock.json
|
||||
vendor
|
||||
runtime
|
||||
safefile
|
||||
nbproject
|
||||
composer.lock
|
||||
public/upload
|
||||
public/favicon.ico
|
||||
public/static/theme/css/_*.css*
|
||||
public/static/theme/css/node_modules
|
||||
public/static/theme/css/package-lock.json
|
||||
@ -34,11 +34,16 @@ use think\admin\storage\TxcosStorage;
|
||||
class Config extends Controller
|
||||
{
|
||||
const themes = [
|
||||
'default' => '默认色',
|
||||
'red' => '玫瑰红',
|
||||
'blue' => '天空蓝',
|
||||
'black' => '精典黑',
|
||||
'white' => '简约白'
|
||||
'default' => '默认色0',
|
||||
'white' => '简约白0',
|
||||
'red-1' => '玫瑰红1',
|
||||
'blue-1' => '深空蓝1',
|
||||
'black-1' => '精典黑1',
|
||||
'green-1' => '小草绿1',
|
||||
'red-2' => '玫瑰红2',
|
||||
'blue-2' => '深空蓝2',
|
||||
'black-2' => '精典黑2',
|
||||
'green-2' => '小草绿2',
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@ -51,7 +51,7 @@ class Index extends Controller
|
||||
$this->title = '系统管理后台';
|
||||
$this->super = AdminService::instance()->isSuper();
|
||||
$this->theme = AdminService::instance()->getUserTheme();
|
||||
$this->fetch('layout');
|
||||
$this->fetch();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -71,8 +71,8 @@ class Login extends Controller
|
||||
}
|
||||
/*! 用户信息验证 */
|
||||
$map = ['username' => $data['username'], 'is_deleted' => 0];
|
||||
$user = SystemUser::mk()->where($map)->find();
|
||||
if (empty($user)) {
|
||||
$user = SystemUser::mk()->where($map)->findOrEmpty();
|
||||
if ($user->isEmpty()) {
|
||||
$this->app->session->set("LoginInputSessionError", true);
|
||||
$this->error('登录账号或密码错误,请重新输入!');
|
||||
}
|
||||
@ -86,10 +86,9 @@ class Login extends Controller
|
||||
}
|
||||
$this->app->session->set('user', $user->toArray());
|
||||
$this->app->session->delete("LoginInputSessionError");
|
||||
$user->save([
|
||||
'login_ip' => $this->app->request->ip(),
|
||||
'login_at' => $this->app->db->raw('now()'),
|
||||
'login_num' => $this->app->db->raw('login_num+1'),
|
||||
$user->inc('login_num')->update([
|
||||
'login_at' => date('Y-m-d H:i:s'),
|
||||
'login_ip' => $this->app->request->ip(),
|
||||
]);
|
||||
sysoplog('系统用户登录', '登录系统后台成功');
|
||||
$this->success('登录成功', sysuri('admin/index/index'));
|
||||
|
||||
@ -1,36 +1,30 @@
|
||||
<form data-auto="true" action="{:sysuri()}" method="post" class='layui-form layui-card'>
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<div class="layui-form-item margin-bottom-5">
|
||||
<div class="help-label label-required-prev"><b>默认主题样式</b>Theme Style</div>
|
||||
<div class="layui-textarea" style="min-height:unset">
|
||||
{foreach $themes as $k=>$v}
|
||||
<label class="think-radio">
|
||||
{if sysconf('base.site_theme') eq $k}
|
||||
<input name="site_theme" type="radio" value="{$k}" lay-ignore checked> {$v}
|
||||
{else}
|
||||
<input name="site_theme" type="radio" value="{$k}" lay-ignore> {$v}
|
||||
{/if}
|
||||
</label>
|
||||
{/foreach}
|
||||
</div>
|
||||
<span class="help-block">用户登录管理后台,未配置个性化主题的用户默认会使用此处配置的主题样式 ~</span>
|
||||
</div>
|
||||
|
||||
<div class="layui-row layui-col-space15 margin-bottom-5">
|
||||
<div class="layui-col-xs6 padding-bottom-0">
|
||||
<div class="layui-col-xs4 padding-bottom-0">
|
||||
<label class="relative block">
|
||||
<span class="help-label"><b>登录表单标题</b>Login Name</span>
|
||||
<input name="login_name" required placeholder="请输入登录页面的表单标题" value="{:sysconf('login_name')?:'系统管理'}" class="layui-input">
|
||||
</label>
|
||||
</div>
|
||||
<div class="layui-col-xs6 padding-bottom-0">
|
||||
<div class="layui-col-xs4 padding-bottom-0">
|
||||
<div class="help-label label-required-prev"><b>后台登录入口</b>Login Entry</div>
|
||||
<label class="layui-input relative block label-required-null">
|
||||
<label class="layui-input relative block nowrap label-required-null">
|
||||
<span>{:sysuri('@',[],false,true)}</span>
|
||||
<input autofocus required pattern="[a-zA-Z_][a-zA-Z0-9_]*" placeholder="请输入后台登录入口" class="layui-input inline-block padding-0 border-0" style="width:auto;background:none" value="{:substr(sysuri('admin/index/index',[],false), strlen(sysuri('@')))}" name="xpath">
|
||||
<input autofocus required pattern="[a-zA-Z_][a-zA-Z0-9_]*" placeholder="请输入后台登录入口" class="layui-input inline-block padding-0 border-0" style="width:100px;background:none" value="{:substr(sysuri('admin/index/index',[],false), strlen(sysuri('@')))}" name="xpath">
|
||||
</label>
|
||||
</div>
|
||||
<div class="layui-col-xs4 padding-bottom-0">
|
||||
<div class="help-label label-required-prev"><b>后台默认配色</b>Theme Style</div>
|
||||
<select class="layui-select" name="site_theme" lay-filter="SiteTheme">
|
||||
{foreach $themes as $k=>$v}{if sysconf('base.site_theme') eq $k}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-col-xs12 padding-top-0 padding-bottom-0">
|
||||
<span class="help-block">后台登录入口是由英文字母开头,且不能有相同名称的模块,设置之后原地址不能继续访问,请谨慎配置 ~</span>
|
||||
</div>
|
||||
@ -108,11 +102,11 @@
|
||||
|
||||
<script>
|
||||
layui.form.render();
|
||||
$('[name="site_theme"]').on('click', function () {
|
||||
var alls = '', that = this, prox = 'layui-layout-theme-', curt = prox + that.value;
|
||||
$('[name="site_theme"]').map(function () {
|
||||
if (this.value !== that.value) alls += ' ' + prox + this.value;
|
||||
layui.form.on('select(SiteTheme)', function (data) {
|
||||
var alls = '', prox = 'layui-layout-theme-', curt = prox + data.value;
|
||||
$(data.elem.options).map(function () {
|
||||
if (this.value !== data.value) alls += ' ' + prox + this.value;
|
||||
});
|
||||
$('.layui-layout-admin').removeClass(alls).addClass(curt)
|
||||
$('.layui-layout-body').removeClass(alls).addClass(curt)
|
||||
});
|
||||
</script>
|
||||
@ -10,7 +10,8 @@
|
||||
{foreach $menus as $one}
|
||||
<div>
|
||||
<a data-menu-node="m-{$one.id}" data-open="{$one.url}" data-target-tips="{$one.title|default=''}">
|
||||
<i class="{$one.icon|default='layui-icon layui-icon-ie'} font-s20"></i>
|
||||
{notempty name='one.icon'}<i class="{$one.icon|default=''}"></i>{/notempty}
|
||||
<span>{$one.title|default=''}</span>
|
||||
</a>
|
||||
</div>
|
||||
{/foreach}
|
||||
@ -27,7 +27,7 @@
|
||||
<dd lay-unselect><a data-load="{:sysuri('admin/api.runtime/push')}"><i class="layui-icon layui-icon-template-1"></i> 缓存加速</a></dd>
|
||||
<dd lay-unselect><a data-load="{:sysuri('admin/api.runtime/clear')}"><i class="layui-icon layui-icon-fonts-clear"></i> 清理缓存</a></dd>
|
||||
{/if}
|
||||
<dd lay-unselect><a data-modal="{:sysuri('admin/index/theme')}"><i class="layui-icon layui-icon-theme"></i> 配色方案</a></dd>
|
||||
<dd lay-unselect><a data-width="520px" data-modal="{:sysuri('admin/index/theme')}"><i class="layui-icon layui-icon-theme"></i> 配色方案</a></dd>
|
||||
<dd lay-unselect><a data-load="{:sysuri('admin/login/out')}" data-confirm="确定要退出登录吗?"><i class="layui-icon layui-icon-release"></i> 退出登录</a></dd>
|
||||
</dl>
|
||||
<a class="layui-elip">
|
||||
@ -19,17 +19,17 @@
|
||||
<script src="__ROOT__/static/plugs/jquery/pace.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body class="layui-layout-body">
|
||||
<body class="layui-layout-body layui-layout-theme-{$theme|default=''}">
|
||||
|
||||
{block name='body'}
|
||||
<div class="layui-layout layui-layout-admin layui-layout-left-hide layui-layout-theme-{$theme|default=''}">
|
||||
<div class="layui-layout layui-layout-admin layui-layout-left-hide">
|
||||
|
||||
<!-- 顶部菜单 开始 -->
|
||||
{include file='index/layout-top'}
|
||||
{include file='index/index-top'}
|
||||
<!-- 顶部菜单 结束 -->
|
||||
|
||||
<!-- 左则菜单 开始 -->
|
||||
{include file="index/layout-left"}
|
||||
{include file="index/index-left"}
|
||||
<!-- 左则菜单 结束 -->
|
||||
|
||||
<!-- 主体内容 开始 -->
|
||||
@ -3,7 +3,7 @@
|
||||
|
||||
<div class="layui-form-item margin-bottom-5 label-required-prev">
|
||||
<div class="help-label"><b>后台配色方案</b>Theme Style</div>
|
||||
<div class="layui-textarea" style="min-height:unset">
|
||||
<div class="layui-textarea think-bg-gray" style="min-height:unset">
|
||||
{foreach $themes as $k=>$v}
|
||||
<label class="think-radio">
|
||||
{if isset($theme) and $theme eq $k}
|
||||
@ -14,6 +14,7 @@
|
||||
</label>
|
||||
{/foreach}
|
||||
</div>
|
||||
<p class="help-block">切换配色方案,需要保存成功后配色方案才会永久生效,下次登录也会有效哦 ~</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -31,6 +32,6 @@
|
||||
$('form#theme input[name=site_theme]').map(function () {
|
||||
if (this.value !== that.value) alls += ' ' + prox + this.value;
|
||||
});
|
||||
$('.layui-layout-admin').removeClass(alls).addClass(curt)
|
||||
$('.layui-layout-body').removeClass(alls).addClass(curt)
|
||||
});
|
||||
</script>
|
||||
@ -1,4 +1,4 @@
|
||||
{extend name="index/layout"}
|
||||
{extend name="index/index"}
|
||||
|
||||
{block name="body"}
|
||||
<div class="login-container" data-supersized="{$backgrounds|default='__ROOT__/static/theme/img/login/bg1.jpg,__ROOT__/static/theme/img/login/bg2.jpg'}">
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
</label>
|
||||
|
||||
<div class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">页面名称</span>
|
||||
<span class="color-green font-w7 label-required-prev">页面内容</span>
|
||||
<span class="color-desc margin-left-5">Page Content</span>
|
||||
<label class="relative block">
|
||||
<textarea class="layui-hide" name="content">{$data.content|default=''}</textarea>
|
||||
|
||||
@ -7,9 +7,8 @@
|
||||
|
||||
<!--{notempty name='marks'}-->
|
||||
<div class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">商品标签</span>
|
||||
<span class="color-desc margin-left-5">Mark Name</span>
|
||||
<div class="layui-textarea">
|
||||
<span class="help-label label-required-prev"><b>商品标签</b>Mark Name</span>
|
||||
<div class="layui-textarea padding-bottom-10" style="min-height:unset">
|
||||
{foreach $marks as $mark}{if isset($vo.marks) && is_array($vo.marks) && in_array($mark, $vo.marks)}
|
||||
<input checked name="marks[]" title="{$mark}" type="checkbox" value="{$mark}">
|
||||
{else}
|
||||
@ -21,8 +20,7 @@
|
||||
|
||||
<!--{notempty name='cates'}-->
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7 label-required-prev">所属分类</span>
|
||||
<span class="color-desc margin-left-5">Category Name</span>
|
||||
<span class="help-label label-required-prev"><b>所属分类</b>Category Name</span>
|
||||
<select class="layui-select" lay-search name="cateids">
|
||||
{foreach $cates as $cate}{if in_array($cate.id, $vo.cateids)}
|
||||
<option selected value="{:arr2str($cate.ids)}">{:join(' > ', $cate.names)}</option>
|
||||
@ -35,9 +33,8 @@
|
||||
|
||||
<!--{notempty name='payments'}-->
|
||||
<div class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">支付方式</span>
|
||||
<span class="color-desc margin-left-5">Goods Payment</span>
|
||||
<div class="layui-textarea">
|
||||
<span class="help-label label-required-prev"><b>支付方式</b>Goods Payment</span>
|
||||
<div class="layui-textarea padding-bottom-10" style="min-height:unset">
|
||||
{foreach $payments as $payment}{if isset($vo.payment) && is_array($vo.payment) && in_array($payment.code, $vo.payment)}
|
||||
<input checked name="payment[]" title="{$payment.name}" type="checkbox" value="{$payment.code}">
|
||||
{else}
|
||||
@ -48,15 +45,13 @@
|
||||
<!--{/notempty}-->
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7">商品名称</span>
|
||||
<span class="color-desc margin-left-5">Goods Name</span>
|
||||
<span class="help-label"><b>商品名称</b>Goods Name</span>
|
||||
<input class="layui-input" name="name" placeholder="请输入商品名称" required value="{$vo.name|default=''}">
|
||||
</label>
|
||||
|
||||
<!--{notempty name='trucks'}-->
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7 label-required-prev">邮费模板</span>
|
||||
<span class="color-desc margin-left-5">Truck Template</span>
|
||||
<span class="help-label label-required-prev"><b>邮费模板</b>Truck Template</span>
|
||||
<select class="layui-select" lay-search name="truck_code">
|
||||
<option value="">--- 包 邮 ---</option>
|
||||
{foreach $trucks as $truck}{if isset($vo.truck_code) and $vo.truck_code eq $truck.code}
|
||||
@ -69,8 +64,7 @@
|
||||
<!--{/notempty}-->
|
||||
|
||||
<div class="layui-form-item">
|
||||
<span class="color-green font-w7 label-required-prev">商品封面及轮播图片</span>
|
||||
<span class="color-desc margin-left-5">Cover and Carousel Pictures</span>
|
||||
<span class="help-label label-required-prev"><b>商品封面及轮播图片</b>Cover and Carousel Pictures</span>
|
||||
<table class="layui-table">
|
||||
<thead>
|
||||
<tr>
|
||||
@ -130,9 +124,6 @@
|
||||
</label>
|
||||
</fieldset>
|
||||
<!--{/notempty}-->
|
||||
</div>
|
||||
|
||||
<div class="layui-clear">
|
||||
<fieldset>
|
||||
<legend><span class="layui-badge think-bg-violet">物流配送发货类型</span></legend>
|
||||
<div class="layui-form-item">
|
||||
@ -187,7 +178,7 @@
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<span class="color-green font-w7 label-required-prev">商品规格及商品SKU绑定<span class="color-red font-s12">(规格填写后不允许再次修改)</span></span>
|
||||
<span class="help-label label-required-prev"><b>商品规格及商品SKU绑定</b><span class="color-red font-s12">(规格填写后不允许再次修改)</span></span>
|
||||
<div class="margin-bottom-10" ng-class="{true:'layui-show'}[mode==='add'&&specs.length>0]" ng-repeat="x in specs track by $index" style="display:none">
|
||||
<div class="goods-spec-box padding-10 margin-0 relative" style="background:#ddd">
|
||||
<span class="text-center goods-spec-name">分组</span>
|
||||
@ -281,12 +272,12 @@
|
||||
</div>
|
||||
|
||||
<label class="layui-form-item block">
|
||||
<span class="font-w7 color-green">商品简介描述</span>
|
||||
<span class="help-label"><b>商品简介描述</b></span>
|
||||
<textarea class="layui-textarea" name="remarks" placeholder="请输入商品简介描述">{$vo.remarks|default=''|raw}</textarea>
|
||||
</label>
|
||||
|
||||
<div class="layui-form-item block">
|
||||
<span class="label-required-prev font-w7 color-green">商品富文本详情</span>
|
||||
<span class="help-label label-required-prev"><b>商品富文本详情</b></span>
|
||||
<textarea class="layui-hide" name="content">{$vo.content|default=''|raw}</textarea>
|
||||
</div>
|
||||
|
||||
@ -306,6 +297,7 @@
|
||||
<textarea id="GoodsSpecs">{$vo.data_specs|raw|default=''}</textarea>
|
||||
<textarea id="GoodsItems">{$vo.data_items|raw|default=''}</textarea>
|
||||
</label>
|
||||
|
||||
<script>
|
||||
/*! 表单初始化 */
|
||||
window.form.render();
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
@ -102,10 +102,10 @@ class Auto extends Command
|
||||
[$item, $news] = [MediaService::instance()->news($data['news_id']), []];
|
||||
if (isset($item['articles']) && is_array($item['articles'])) {
|
||||
$host = sysconf('base.site_host') ?: true;
|
||||
foreach ($item['articles'] as $vo) if (empty($news)) array_push($news, [
|
||||
foreach ($item['articles'] as $vo) if (empty($news)) $news[] = [
|
||||
'url' => url("@wechat/api.view/item/id/{$vo['id']}", [], false, $host)->build(),
|
||||
'title' => $vo['title'], 'picurl' => $vo['local_url'], 'description' => $vo['digest'],
|
||||
]);
|
||||
];
|
||||
$result = $this->sendMessage('news', ['articles' => $news]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
@ -125,7 +125,7 @@ class Menu extends Controller
|
||||
*/
|
||||
private function _buildMenuData(array $list): array
|
||||
{
|
||||
foreach ($list as $key => &$item) {
|
||||
foreach ($list as &$item) {
|
||||
if (empty($item['sub_button'])) {
|
||||
$item = $this->_buildMenuDataItem($item);
|
||||
} else {
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
@ -148,7 +148,7 @@ class News extends Controller
|
||||
$id = intval($vo['id']);
|
||||
$result = WechatNewsArticle::mk()->where('id', $id)->update($vo);
|
||||
}
|
||||
if ($result !== false) array_push($ids, $id);
|
||||
if ($result !== false) $ids[] = $id;
|
||||
}
|
||||
return join(',', $ids);
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
@ -223,10 +223,10 @@ class Push extends Controller
|
||||
case 'news':
|
||||
[$news, $articles] = [MediaService::instance()->news($data['news_id']), []];
|
||||
if (empty($news['articles'])) return false;
|
||||
foreach ($news['articles'] as $vo) array_push($articles, [
|
||||
foreach ($news['articles'] as $vo) $articles[] = [
|
||||
'url' => url("@wechat/api.view/item/id/{$vo['id']}", [], false, true)->build(),
|
||||
'title' => $vo['title'], 'picurl' => $vo['local_url'], 'description' => $vo['digest'],
|
||||
]);
|
||||
];
|
||||
return $this->_sendMessage('news', ['articles' => $articles], $custom);
|
||||
case 'music':
|
||||
if (empty($data['music_url']) || empty($data['music_title']) || empty($data['music_desc'])) return false;
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
@ -54,13 +54,9 @@ class FansService extends Service
|
||||
* 获取粉丝信息
|
||||
* @param string $openid
|
||||
* @return array
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function get(string $openid): array
|
||||
{
|
||||
$user = WechatFans::mk()->where(['openid' => $openid])->find();
|
||||
return empty($user) ? [] : $user->toArray();
|
||||
return WechatFans::mk()->where(['openid' => $openid])->findOrEmpty()->toArray();
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
return [
|
||||
// 字段名称
|
||||
'name' => 'PHPSESSID',
|
||||
'name' => 'ssid',
|
||||
// 驱动方式
|
||||
'type' => 'file',
|
||||
// 存储连接
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
@ -21,7 +21,7 @@ return [
|
||||
'auto_rule' => 1,
|
||||
// 模板目录名
|
||||
'view_dir_name' => 'view',
|
||||
// 模板后缀
|
||||
// 模板文件后缀
|
||||
'view_suffix' => 'html',
|
||||
// 模板文件名分隔符
|
||||
'view_depr' => DIRECTORY_SEPARATOR,
|
||||
|
||||
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 200 KiB |
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
@ -14,9 +14,9 @@
|
||||
// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
if (is_file($_SERVER["DOCUMENT_ROOT"] . $_SERVER["SCRIPT_NAME"])) {
|
||||
if (is_file($_SERVER['DOCUMENT_ROOT'] . $_SERVER['SCRIPT_NAME'])) {
|
||||
return false;
|
||||
} else {
|
||||
$_SERVER["SCRIPT_FILENAME"] = __DIR__ . '/index.php';
|
||||
require __DIR__ . "/index.php";
|
||||
$_SERVER['SCRIPT_FILENAME'] = __DIR__ . '/index.php';
|
||||
require $_SERVER['SCRIPT_FILENAME'];
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
@ -58,8 +58,7 @@ window.form = layui.form, window.layer = layui.layer, window.laydate = layui.lay
|
||||
|
||||
/*! 配置 require 参数 */
|
||||
require.config({
|
||||
waitSeconds: 60,
|
||||
baseUrl: baseRoot,
|
||||
baseUrl: baseRoot, waitSeconds: 60,
|
||||
map: {'*': {css: baseRoot + 'plugs/require/css.js'}},
|
||||
paths: {
|
||||
'vue': ['plugs/vue/vue.min'],
|
||||
@ -142,7 +141,8 @@ $(function () {
|
||||
/*! 消息组件实例 */
|
||||
$.msg = new function () {
|
||||
var that = this;
|
||||
this.idx = [], this.shade = [0.02, '#000'];
|
||||
this.idx = [], this.mdx = [];
|
||||
this.shade = [0.02, '#000000'];
|
||||
/*! 关闭消息框 */
|
||||
this.close = function (index) {
|
||||
if (index !== null) return layer.close(index);
|
||||
@ -202,10 +202,10 @@ $(function () {
|
||||
var url = ret.url || (typeof ret.data === 'string' ? ret.data : '');
|
||||
var msg = ret.msg || (typeof ret.info === 'string' ? ret.info : '');
|
||||
if (parseInt(ret.code) === 1 && time === 'false') {
|
||||
return url ? (location.href = url) : $.form.reload();
|
||||
}
|
||||
return (parseInt(ret.code) === 1) ? this.success(msg, time, function () {
|
||||
(url ? (location.href = url) : $.form.reload()), that.close(null);
|
||||
return url ? location.href = url : $.form.reload();
|
||||
} else return (parseInt(ret.code) === 1) ? this.success(msg, time, function () {
|
||||
url ? location.href = url : $.form.reload();
|
||||
that.close($.msg.mdx.length > 0 ? $.msg.mdx.pop() : null);
|
||||
}) : this.error(msg, 3, function () {
|
||||
url ? location.href = url : '';
|
||||
});
|
||||
@ -318,7 +318,7 @@ $(function () {
|
||||
this.modal = function (url, data, name, call, load, tips, area, offset) {
|
||||
this.load(url, data, 'GET', function (res) {
|
||||
if (typeof (res) === 'object') return $.msg.auto(res), false;
|
||||
$.msg.idx.push(layer.open({
|
||||
$.msg.mdx.push(layer.open({
|
||||
type: 1, btn: false, area: area || "800px", resize: false, content: res, title: name || '', offset: offset || 'auto', success: function ($dom, idx) {
|
||||
$.form.reInit($dom.off('click', '[data-close]').on('click', '[data-close]', function () {
|
||||
(function (confirm, callable) {
|
||||
@ -500,7 +500,7 @@ $(function () {
|
||||
/* 触发表单提交后,锁定三秒不能再次提交表单 */
|
||||
if (that.form.attr('submit-locked')) return false;
|
||||
that.form.attr('submit-locked', 1), evt.button.addClass('submit-button-loading');
|
||||
callable.call(this, that.form.formToJson()), setTimeout(function () {
|
||||
callable.call(this, that.form.formToJson(), []), setTimeout(function () {
|
||||
that.form.removeAttr('submit-locked'), evt.button.removeClass('submit-button-loading');
|
||||
}, 3000);
|
||||
}
|
||||
@ -574,9 +574,10 @@ $(function () {
|
||||
$.fn.uploadOneImage = function () {
|
||||
return this.each(function () {
|
||||
if ($(this).data('inited')) return true; else $(this).data('inited', true);
|
||||
var $in = $(this), $bt = $('<a data-file class="uploadimage transition"><span class="layui-icon">ဆ</span></a>').data('input', this);
|
||||
$bt.attr('data-size', $in.data('size') || 0).attr('data-type', $in.data('type') || 'png,jpg,gif').find('span').on('click', function (event) {
|
||||
event.stopPropagation(), $bt.attr('style', ''), $in.val('');
|
||||
var $in = $(this), $bt = $('<a data-file class="uploadimage transition margin-top-5"><span class="layui-icon">ဆ</span><span class="layui-icon"></span></a>').data('input', this);
|
||||
$bt.attr('data-size', $in.data('size') || 0).attr('data-type', $in.data('type') || 'png,jpg,gif,jpeg').find('span').on('click', function (event) {
|
||||
event.stopPropagation();
|
||||
if ($(this).index() === 0) $bt.attr('style', ''), $in.val(''); else $in.val() && $.previewImage(encodeURI($in.val()));
|
||||
}), $in.on('change', function () {
|
||||
if (this.value) $bt.css('backgroundImage', 'url(' + encodeURI(this.value) + ')');
|
||||
}).after($bt).trigger('change');
|
||||
@ -588,7 +589,7 @@ $(function () {
|
||||
return this.each(function () {
|
||||
if ($(this).data('inited')) return true; else $(this).data('inited', true);
|
||||
var $in = $(this), $bt = $('<a data-file="mul" class="uploadimage"></a>'), imgs = this.value ? this.value.split('|') : []
|
||||
$in.after($bt.attr('data-size', $in.data('size') || 0).attr('data-type', $in.data('type') || 'png,jpg,gif').uploadFile(function (src) {
|
||||
$in.after($bt.attr('data-size', $in.data('size') || 0).attr('data-type', $in.data('type') || 'png,jpg,gif,jpeg').uploadFile(function (src) {
|
||||
imgs.push(src), $in.val(imgs.join('|')), showImageContainer([src]);
|
||||
})), (imgs.length > 0 && showImageContainer(imgs));
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
.autocompleter {
|
||||
left: 0;
|
||||
top: 37px;
|
||||
width: 100%;
|
||||
min-width: 100%;
|
||||
z-index: 100;
|
||||
background: #fff;
|
||||
position: absolute;
|
||||
|
||||
@ -20,7 +20,7 @@ define(function () {
|
||||
var method = this.dataset.method || form.attr('method') || 'get';
|
||||
var location = this.dataset.excel || this.dataset.formExport || form.attr('action') || '';
|
||||
that.load(location, form.serialize(), method).then(function (ret) {
|
||||
that.export(done(ret), name);
|
||||
that.export(done(ret, []), name);
|
||||
}).fail(function (ret) {
|
||||
$.msg.tips(ret || '文件导出失败');
|
||||
});
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: http://demo.thinkadmin.top
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议 ( https://mit-license.org )
|
||||
// +----------------------------------------------------------------------
|
||||
@ -49,7 +49,7 @@
|
||||
@LeftMainNavHoverTextColor: #FFF;
|
||||
|
||||
@LeftMainNavNormalBackColor: none;
|
||||
@LeftMainNavNormalTextColor: #FFF;
|
||||
@LeftMainNavNormalTextColor: #EEE;
|
||||
|
||||
@LeftMainNavActiveBackColor: #098;
|
||||
@LeftMainNavActiveTextColor: #FFF;
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: http://demo.thinkadmin.top
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议 ( https://mit-license.org )
|
||||
// +----------------------------------------------------------------------
|
||||
@ -630,7 +630,6 @@
|
||||
background-size: cover;
|
||||
|
||||
span.layui-icon {
|
||||
right: 0;
|
||||
color: #fff;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
@ -638,7 +637,20 @@
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
line-height: 22px;
|
||||
background: rgba(0, 0, 0, .5)
|
||||
box-shadow: @ShadowMinOuter;
|
||||
background: rgba(0, 0, 0, .8);
|
||||
}
|
||||
|
||||
span.layui-icon:first-child {
|
||||
right: 0;
|
||||
border-top-right-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
|
||||
span.layui-icon:last-child {
|
||||
right: 21px;
|
||||
border-top-left-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
&:hover span.layui-icon {
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: http://demo.thinkadmin.top
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议 ( https://mit-license.org )
|
||||
// +----------------------------------------------------------------------
|
||||
@ -65,6 +65,8 @@ fieldset {
|
||||
border: 1px solid #009688;
|
||||
|
||||
&:hover:not(.layui-btn-disabled) {
|
||||
opacity: 1;
|
||||
filter: alpha(opacity=100);
|
||||
box-shadow: @ShadowMaxInset;
|
||||
}
|
||||
|
||||
@ -370,6 +372,10 @@ fieldset {
|
||||
border-color: @InputBorderActiveColor;
|
||||
}
|
||||
|
||||
.layui-form-selected dl {
|
||||
min-height: fit-content;
|
||||
}
|
||||
|
||||
.layui-form-checkbox.layui-form-checked {
|
||||
i {
|
||||
border-color: #5FB878;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: http://demo.thinkadmin.top
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议 ( https://mit-license.org )
|
||||
// +----------------------------------------------------------------------
|
||||
@ -175,16 +175,16 @@
|
||||
|
||||
.layui-side-target {
|
||||
&:before {
|
||||
content: "\e65b";
|
||||
color: #FFF;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
content: "\e65b";
|
||||
line-height: 50px;
|
||||
text-align: center;
|
||||
font-family: layui-icon !important;
|
||||
font-size: 10px;
|
||||
font-style: normal;
|
||||
font-family: layui-icon !important;
|
||||
transform: rotate(180deg);
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
@ -275,6 +275,11 @@
|
||||
line-height: 45px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
color: @LeftMainNavNormalTextColor;
|
||||
|
||||
&:hover {
|
||||
color: @LeftMainNavActiveTextColor;
|
||||
}
|
||||
|
||||
.nav-icon {
|
||||
padding-right: 5px;
|
||||
|
||||
@ -1,71 +0,0 @@
|
||||
> .layui-header {
|
||||
background: @headNormalBackColor;
|
||||
|
||||
.layui-nav-item {
|
||||
&.layui-this > a {
|
||||
color: @headActionTextColor;
|
||||
background: @headActiveBackColor;
|
||||
}
|
||||
|
||||
> a {
|
||||
color: @headNormalTextColor;
|
||||
|
||||
&:hover {
|
||||
color: @headActionTextColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .layui-body {
|
||||
> .think-page-body > .layui-card > .layui-card-header {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-side {
|
||||
background-color: @leftBackColor;
|
||||
|
||||
.layui-logo {
|
||||
color: #FFF;
|
||||
box-shadow: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.layui-side-scroll {
|
||||
display: flex !important;
|
||||
box-sizing: border-box;
|
||||
border-right: @TopHeaderBottomLine;
|
||||
|
||||
.layui-side-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.layui-side-tree {
|
||||
flex: 1;
|
||||
|
||||
.layui-nav-item {
|
||||
|
||||
a {
|
||||
color: @leftNormalTextColor;
|
||||
border-bottom: none !important;
|
||||
|
||||
&:hover {
|
||||
color: @leftActiveTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-this, &.layui-this {
|
||||
> a {
|
||||
color: @leftActiveTextColor;
|
||||
background: @leftActiveBackColor;
|
||||
}
|
||||
}
|
||||
|
||||
&ed > a {
|
||||
color: @leftActiveTextColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
91
public/static/theme/css/_layout_1.less
Normal file
@ -0,0 +1,91 @@
|
||||
> .layui-layout-admin {
|
||||
> .layui-side {
|
||||
background-color: @leftBackColor;
|
||||
|
||||
.layui-logo {
|
||||
color: #FFF;
|
||||
box-shadow: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.layui-side-scroll {
|
||||
display: flex !important;
|
||||
box-sizing: border-box;
|
||||
|
||||
.layui-side-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.layui-side-tree {
|
||||
flex: 1;
|
||||
|
||||
.layui-nav-item {
|
||||
|
||||
a {
|
||||
color: @leftNormalTextColor;
|
||||
border-bottom: none !important;
|
||||
|
||||
&:hover {
|
||||
color: @leftActiveTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-this, &.layui-this {
|
||||
> a {
|
||||
color: @leftActiveTextColor;
|
||||
background: @leftActiveBackColor;
|
||||
}
|
||||
}
|
||||
|
||||
&ed > a {
|
||||
color: @leftActiveTextColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .layui-body {
|
||||
> .think-page-body > .layui-card > .layui-card-header {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
||||
> .layui-header {
|
||||
background: @headNormalBackColor;
|
||||
|
||||
.layui-nav-item {
|
||||
&.layui-this > a {
|
||||
color: @headActionTextColor;
|
||||
background: @headActiveBackColor;
|
||||
}
|
||||
|
||||
> a {
|
||||
color: @headNormalTextColor;
|
||||
|
||||
&:hover {
|
||||
color: @headActionTextColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.help-label b {
|
||||
color: @mainActiveBack
|
||||
}
|
||||
|
||||
.layui-btn-group {
|
||||
border-color: @mainActiveBack;
|
||||
background-color: @mainActiveBack;
|
||||
|
||||
.layui-btn {
|
||||
&:hover:not(.layui-btn-active) {
|
||||
color: @mainActiveBack;
|
||||
}
|
||||
|
||||
&.layui-btn-active {
|
||||
background-color: @mainActiveBack
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
@charset "UTF-8";
|
||||
@import "_config.less";
|
||||
|
||||
.layui-layout-theme-black {
|
||||
.layui-layout-theme-black-1 {
|
||||
@mainActiveBack: #393D49 !important;
|
||||
@mainNormalBack: rgba(0, 0, 0, 0.1) !important;
|
||||
|
||||
@ -21,5 +21,5 @@
|
||||
@leftNormalBackColor: @mainNormalBack;
|
||||
@leftActiveBackColor: #098 !important;
|
||||
|
||||
@import (multiple)"_layout_.less";
|
||||
@import (multiple)"_layout_1.less";
|
||||
}
|
||||
25
public/static/theme/css/_layout_1_blue.less
Normal file
@ -0,0 +1,25 @@
|
||||
@charset "UTF-8";
|
||||
@import "_config.less";
|
||||
|
||||
.layui-layout-theme-blue-1 {
|
||||
@mainActiveBack: #0E54C4 !important;
|
||||
@mainNormalBack: rgba(0, 0, 0, 0.1) !important;
|
||||
|
||||
@mainActionText: #FFFFFF !important;
|
||||
@mainNormalText: #EEEEEE !important;
|
||||
|
||||
@headNormalBackColor: @mainActiveBack;
|
||||
@headActiveBackColor: @mainNormalBack;
|
||||
|
||||
@headNormalTextColor: @mainNormalText;
|
||||
@headActionTextColor: @mainActionText;
|
||||
|
||||
@leftNormalTextColor: @mainNormalText;
|
||||
@leftActiveTextColor: @mainActionText;
|
||||
|
||||
@leftBackColor: #344058 !important;
|
||||
@leftNormalBackColor: @mainNormalBack;
|
||||
@leftActiveBackColor: @mainActiveBack;
|
||||
|
||||
@import (multiple)"_layout_1.less";
|
||||
}
|
||||
@ -1,8 +1,8 @@
|
||||
@charset "UTF-8";
|
||||
@import "_config.less";
|
||||
|
||||
.layui-layout-theme-blue {
|
||||
@mainActiveBack: #1890FF !important;
|
||||
.layui-layout-theme-green-1 {
|
||||
@mainActiveBack: #098 !important;
|
||||
@mainNormalBack: rgba(0, 0, 0, 0.1) !important;
|
||||
|
||||
@mainActionText: #FFFFFF !important;
|
||||
@ -21,5 +21,5 @@
|
||||
@leftNormalBackColor: @mainNormalBack;
|
||||
@leftActiveBackColor: @mainActiveBack;
|
||||
|
||||
@import (multiple)"_layout_.less";
|
||||
@import (multiple)"_layout_1.less";
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
@charset "UTF-8";
|
||||
@import "_config.less";
|
||||
|
||||
.layui-layout-theme-red {
|
||||
.layui-layout-theme-red-1 {
|
||||
@mainActiveBack: #AA3130 !important;
|
||||
@mainNormalBack: rgba(0, 0, 0, 0.1) !important;
|
||||
|
||||
@ -17,9 +17,9 @@
|
||||
@leftNormalTextColor: @mainNormalText;
|
||||
@leftActiveTextColor: @mainActionText;
|
||||
|
||||
@leftBackColor: #20222A !important;
|
||||
@leftBackColor: #344058 !important;
|
||||
@leftNormalBackColor: @mainNormalBack;
|
||||
@leftActiveBackColor: @mainActiveBack;
|
||||
|
||||
@import (multiple)"_layout_.less";
|
||||
@import (multiple)"_layout_1.less";
|
||||
}
|
||||
203
public/static/theme/css/_layout_2.less
Normal file
@ -0,0 +1,203 @@
|
||||
> .layui-layout-admin {
|
||||
> .layui-side {
|
||||
width: 260px;
|
||||
display: block !important;
|
||||
background-color: @mainColor;
|
||||
|
||||
.layui-logo {
|
||||
color: #fff;
|
||||
box-shadow: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.layui-side-scroll {
|
||||
display: flex !important;
|
||||
box-sizing: border-box;
|
||||
|
||||
.layui-nav-child {
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
.layui-side-icon {
|
||||
width: 100px;
|
||||
display: block;
|
||||
background: @mainColor;
|
||||
|
||||
a {
|
||||
height: 60px;
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
line-height: 60px;
|
||||
white-space: nowrap;
|
||||
|
||||
&:hover {
|
||||
background-color: rgba(0, 0, 0, 0.1);;
|
||||
}
|
||||
|
||||
.layui-icon, span {
|
||||
color: #fff;
|
||||
overflow: hidden;
|
||||
max-width: 4em;
|
||||
margin-right: 5px;
|
||||
text-overflow: ellipsis;
|
||||
vertical-align: middle;
|
||||
display: inline-block !important;
|
||||
}
|
||||
}
|
||||
|
||||
> .layui-this {
|
||||
background: #fff;
|
||||
|
||||
a {
|
||||
&:hover {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.layui-icon, span {
|
||||
color: @textColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.layui-side-tree {
|
||||
flex: 1;
|
||||
background-color: #fff;
|
||||
|
||||
> .layui-nav-tree {
|
||||
width: unset !important;
|
||||
}
|
||||
|
||||
.layui-nav-item {
|
||||
background: none !important;
|
||||
border-bottom-color: #fff;
|
||||
|
||||
a {
|
||||
color: #333 !important;
|
||||
background: none !important;
|
||||
border-bottom: none !important;
|
||||
|
||||
&:hover {
|
||||
color: @textColor;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-this, &.layui-this {
|
||||
> a {
|
||||
color: @textColor;
|
||||
background: none !important;
|
||||
font-weight: bold !important;
|
||||
|
||||
&:hover {
|
||||
background: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&ed > a {
|
||||
color: #999 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .layui-body {
|
||||
left: 260px;
|
||||
|
||||
> .think-page-body > .layui-card > .layui-card-header {
|
||||
left: 261px;
|
||||
box-sizing: border-box;
|
||||
border-bottom: unset;
|
||||
}
|
||||
}
|
||||
|
||||
> .layui-header {
|
||||
left: 260px;
|
||||
background-color: @mainColor;
|
||||
|
||||
.layui-layout-left {
|
||||
.layui-nav-item {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-nav-item {
|
||||
&.layui-this > a {
|
||||
color: #fff !important;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
> a {
|
||||
color: #eee !important;
|
||||
|
||||
&:hover {
|
||||
color: #fff !important;
|
||||
background: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .layui-layout-left-hide,
|
||||
> .layui-layout-left-mini {
|
||||
> .layui-side {
|
||||
width: 260px;
|
||||
z-index: 11;
|
||||
|
||||
.layui-logo {
|
||||
.headimg {
|
||||
margin-right: 10px !important;
|
||||
}
|
||||
|
||||
.headtxt {
|
||||
display: inline-block !important;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-side-target {
|
||||
left: @iconWidth;
|
||||
margin-left: -12px;
|
||||
}
|
||||
|
||||
.layui-side-scroll .layui-side-icon {
|
||||
width: @iconWidth;
|
||||
display: block;
|
||||
background: #098;
|
||||
}
|
||||
}
|
||||
|
||||
> .layui-body {
|
||||
z-index: 11;
|
||||
left: @iconWidth;
|
||||
|
||||
> .think-page-body > .layui-card > .layui-card-header {
|
||||
left: @iconWidth;
|
||||
}
|
||||
}
|
||||
|
||||
> .layui-header {
|
||||
left: 260px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.help-label b {
|
||||
color: @textColor;
|
||||
}
|
||||
|
||||
.layui-btn-group {
|
||||
border-color: @mainColor;
|
||||
background-color: @mainColor;
|
||||
|
||||
.layui-btn {
|
||||
&:hover:not(.layui-btn-active) {
|
||||
color: @mainColor;
|
||||
}
|
||||
|
||||
&.layui-btn-active {
|
||||
background-color: @mainColor
|
||||
}
|
||||
}
|
||||
}
|
||||
11
public/static/theme/css/_layout_2_black.less
Normal file
@ -0,0 +1,11 @@
|
||||
@charset "UTF-8";
|
||||
@import "_config.less";
|
||||
|
||||
.layui-layout-theme-black-2 {
|
||||
|
||||
@iconWidth: 100px !important;
|
||||
@mainColor: #393D49 !important;
|
||||
@textColor: #009988 !important;
|
||||
|
||||
@import (multiple)"_layout_2.less";
|
||||
}
|
||||
11
public/static/theme/css/_layout_2_blue.less
Normal file
@ -0,0 +1,11 @@
|
||||
@charset "UTF-8";
|
||||
@import "_config.less";
|
||||
|
||||
.layui-layout-theme-blue-2 {
|
||||
|
||||
@iconWidth: 100px !important;
|
||||
@mainColor: #0E54C4 !important;
|
||||
@textColor: #0E54C4 !important;
|
||||
|
||||
@import (multiple)"_layout_2.less";
|
||||
}
|
||||
11
public/static/theme/css/_layout_2_green.less
Normal file
@ -0,0 +1,11 @@
|
||||
@charset "UTF-8";
|
||||
@import "_config.less";
|
||||
|
||||
.layui-layout-theme-green-2 {
|
||||
|
||||
@iconWidth: 100px !important;
|
||||
@mainColor: #098 !important;
|
||||
@textColor: #098 !important;
|
||||
|
||||
@import (multiple)"_layout_2.less";
|
||||
}
|
||||
11
public/static/theme/css/_layout_2_red.less
Normal file
@ -0,0 +1,11 @@
|
||||
@charset "UTF-8";
|
||||
@import "_config.less";
|
||||
|
||||
.layui-layout-theme-red-2 {
|
||||
|
||||
@iconWidth: 100px !important;
|
||||
@mainColor: #AA3130 !important;
|
||||
@textColor: #AA3130 !important;
|
||||
|
||||
@import (multiple)"_layout_2.less";
|
||||
}
|
||||
@ -2,110 +2,111 @@
|
||||
@import "_config.less";
|
||||
|
||||
.layui-layout-theme-white {
|
||||
> .layui-layout-admin {
|
||||
> .layui-side {
|
||||
background-color: #fff !important;
|
||||
|
||||
> .layui-header {
|
||||
background: none !important;
|
||||
|
||||
.layui-nav-item {
|
||||
&.layui-this > a {
|
||||
color: #098 !important;
|
||||
.layui-logo {
|
||||
color: #333;
|
||||
box-shadow: none;
|
||||
font-weight: bold;
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
> a {
|
||||
color: #333 !important;
|
||||
.layui-side-scroll {
|
||||
display: flex !important;
|
||||
box-sizing: border-box;
|
||||
border-right: @TopHeaderBottomLine;
|
||||
|
||||
&:hover {
|
||||
color: #098 !important;
|
||||
.layui-nav-child {
|
||||
background: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .layui-body {
|
||||
> .think-page-body > .layui-card > .layui-card-header {
|
||||
box-sizing: border-box;
|
||||
box-shadow: none !important;
|
||||
border-bottom: @TopHeaderBottomLine;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-side {
|
||||
background-color: #fff !important;
|
||||
|
||||
.layui-logo {
|
||||
color: #333;
|
||||
box-shadow: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.layui-side-scroll {
|
||||
display: flex !important;
|
||||
box-sizing: border-box;
|
||||
border-right: @TopHeaderBottomLine;
|
||||
|
||||
.layui-nav-child {
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
.layui-side-icon {
|
||||
width: 60px;
|
||||
display: none;
|
||||
background: #fff;
|
||||
|
||||
a {
|
||||
height: 60px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
line-height: 60px;
|
||||
}
|
||||
|
||||
.layui-icon {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
> .layui-this {
|
||||
.layui-side-icon {
|
||||
width: 60px;
|
||||
display: none;
|
||||
background: #fff;
|
||||
|
||||
a {
|
||||
height: 60px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
line-height: 60px;
|
||||
}
|
||||
|
||||
.layui-icon {
|
||||
color: #098 !important;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
> .layui-this {
|
||||
background: #fff;
|
||||
|
||||
.layui-icon {
|
||||
color: #098 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.layui-side-tree {
|
||||
flex: 1;
|
||||
|
||||
.layui-nav-item {
|
||||
background: none !important;
|
||||
border-bottom-color: #fff;
|
||||
|
||||
a {
|
||||
color: #333 !important;
|
||||
background: none !important;
|
||||
border-bottom: none !important;
|
||||
|
||||
&:hover {
|
||||
color: #098 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-this, &.layui-this {
|
||||
> a {
|
||||
color: #098 !important;
|
||||
background: none !important;
|
||||
font-weight: bold !important;
|
||||
|
||||
&:hover {
|
||||
background: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&ed > a {
|
||||
color: #999 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.layui-side-tree {
|
||||
flex: 1;
|
||||
> .layui-body {
|
||||
> .think-page-body > .layui-card > .layui-card-header {
|
||||
box-sizing: border-box;
|
||||
box-shadow: none !important;
|
||||
border-bottom: @TopHeaderBottomLine;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-nav-item {
|
||||
> .layui-header {
|
||||
background: none !important;
|
||||
|
||||
.layui-nav-item {
|
||||
&.layui-this > a {
|
||||
color: #098 !important;
|
||||
font-weight: bold;
|
||||
background: none !important;
|
||||
border-bottom-color: #fff;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #333 !important;
|
||||
> a {
|
||||
color: #333 !important;
|
||||
|
||||
&:hover {
|
||||
color: #098 !important;
|
||||
background: none !important;
|
||||
border-bottom: none !important;
|
||||
|
||||
&:hover {
|
||||
color: #098 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-this, &.layui-this {
|
||||
> a {
|
||||
color: #098 !important;
|
||||
background: none !important;
|
||||
font-weight: bold !important;
|
||||
|
||||
&:hover {
|
||||
background: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&ed > a {
|
||||
color: #999 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: http://demo.thinkadmin.top
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议 ( https://mit-license.org )
|
||||
// +----------------------------------------------------------------------
|
||||
@ -66,7 +66,15 @@ body {
|
||||
@import '_custom.less';
|
||||
@import '_display.less';
|
||||
@import '_layout.less';
|
||||
@import '_layout_red.less';
|
||||
@import '_layout_blue.less';
|
||||
@import '_layout_white.less';
|
||||
@import '_layout_black.less';
|
||||
|
||||
@import '_layout_1_red.less';
|
||||
@import '_layout_1_blue.less';
|
||||
@import '_layout_1_black.less';
|
||||
@import '_layout_1_green.less';
|
||||
|
||||
@import '_layout_2_red.less';
|
||||
@import '_layout_2_blue.less';
|
||||
@import '_layout_2_black.less';
|
||||
@import '_layout_2_green.less';
|
||||
|
||||
@import '_layout_white.less';
|
||||
@ -4,9 +4,9 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: http://demo.thinkadmin.top
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议 ( https://mit-license.org )
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: http://demo.thinkadmin.top
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议 ( https://mit-license.org )
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 14 KiB |
@ -111,6 +111,7 @@ ThinkAdmin 为 MIT 协议开源项目,安装使用或二次开发不受约束
|
||||
* 修复文件上传入口的后缀验证,读取真实文件后缀与配置对比,阻止不合法的文件上传并存储到本地服务器。
|
||||
* 修改`JsonRpc`接口异常处理机制,当服务端绑定`Exception`时,客户端将能收到`error`消息及异常数据。
|
||||
* 修改`location.hash`访问机制,禁止直接访问外部`URL`资源链接,防止外部`XSS`攻击读取本地缓存数据。
|
||||
* 增加后台主题样式配置,支持全局默认+用户个性配置,需要更新`ThinkLibrary`,`static`,`admin`组件及模块。
|
||||
|
||||
## 项目版本
|
||||
|
||||
|
||||
2
think
@ -4,7 +4,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// | 版权所有 2014~2022 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||