mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-26 12:23:06 +08:00
后台增加上传logo和favicon
This commit is contained in:
parent
610247f0ca
commit
13ff8d0041
@ -31,6 +31,32 @@
|
||||
<input type="radio" name="index_tpl_type" value="full" title="丰富" {% if site.index_tpl_type == 'full' %}checked="checked"{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">Logo</label>
|
||||
<div class="kg-input-inline">
|
||||
<input class="layui-input" type="text" name="logo" placeholder="请确保存储已正确配置" value="{{ site.logo }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="kg-input-inline">
|
||||
<button class="layui-btn" type="button" id="upload-logo">上传文件</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">Favicon</label>
|
||||
<div class="kg-input-inline">
|
||||
<input class="layui-input" type="text" name="favicon" placeholder="请确保存储已正确配置" value="{{ site.favicon }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="kg-input-inline">
|
||||
<button class="layui-btn" type="button" id="upload-favicon">上传文件</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">网站名称</label>
|
||||
<div class="layui-input-block">
|
||||
@ -120,10 +146,11 @@
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form', 'layer'], function () {
|
||||
layui.use(['jquery', 'form', 'layer', 'upload'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var form = layui.form;
|
||||
var upload = layui.upload;
|
||||
|
||||
form.on('radio(status)', function (data) {
|
||||
var block = $('#closed-tips-block');
|
||||
@ -143,6 +170,38 @@
|
||||
}
|
||||
});
|
||||
|
||||
upload.render({
|
||||
elem: '#upload-logo',
|
||||
url: '/admin/upload/content/img',
|
||||
exts: 'gif|jpg|png',
|
||||
before: function () {
|
||||
layer.load();
|
||||
},
|
||||
done: function (res, index, upload) {
|
||||
$('input[name=logo]').val(res.data.src);
|
||||
layer.closeAll('loading');
|
||||
},
|
||||
error: function (index, upload) {
|
||||
layer.msg('上传文件失败', {icon: 2});
|
||||
}
|
||||
});
|
||||
|
||||
upload.render({
|
||||
elem: '#upload-favicon',
|
||||
url: '/admin/upload/content/img',
|
||||
exts: 'gif|jpg|png|ico',
|
||||
before: function () {
|
||||
layer.load();
|
||||
},
|
||||
done: function (res, index, upload) {
|
||||
$('input[name=favicon]').val(res.data.src);
|
||||
layer.closeAll('loading');
|
||||
},
|
||||
error: function (index, upload) {
|
||||
layer.msg('上传文件失败', {icon: 2});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
namespace App\Http\Home\Controllers;
|
||||
|
||||
use App\Models\User as UserModel;
|
||||
use App\Services\Auth\Home as HomeAuth;
|
||||
use App\Services\Service as AppService;
|
||||
use App\Traits\Response as ResponseTrait;
|
||||
|
||||
@ -11,8 +13,27 @@ use App\Traits\Response as ResponseTrait;
|
||||
class ErrorController extends \Phalcon\Mvc\Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $siteInfo;
|
||||
|
||||
/**
|
||||
* @var UserModel
|
||||
*/
|
||||
protected $authUser;
|
||||
|
||||
use ResponseTrait;
|
||||
|
||||
public function initialize()
|
||||
{
|
||||
$this->siteInfo = $this->getSiteInfo();
|
||||
$this->authUser = $this->getAuthUser();
|
||||
|
||||
$this->view->setVar('site_info', $this->siteInfo);
|
||||
$this->view->setVar('auth_user', $this->authUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Get("/400", name="home.error.400")
|
||||
*/
|
||||
@ -82,4 +103,21 @@ class ErrorController extends \Phalcon\Mvc\Controller
|
||||
$this->view->setVar('message', $siteInfo['closed_tips']);
|
||||
}
|
||||
|
||||
protected function getSiteInfo()
|
||||
{
|
||||
$appService = new AppService();
|
||||
|
||||
return $appService->getSettings('site');
|
||||
}
|
||||
|
||||
protected function getAuthUser()
|
||||
{
|
||||
/**
|
||||
* @var HomeAuth $auth
|
||||
*/
|
||||
$auth = $this->getDI()->get('auth');
|
||||
|
||||
return $auth->getCurrentUser();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ namespace App\Http\Home\Controllers;
|
||||
|
||||
use App\Models\User as UserModel;
|
||||
use App\Services\Auth\Home as HomeAuth;
|
||||
use App\Services\Service as AppService;
|
||||
use App\Traits\Response as ResponseTrait;
|
||||
use App\Traits\Security as SecurityTrait;
|
||||
use Phalcon\Mvc\Dispatcher;
|
||||
@ -11,6 +12,11 @@ use Phalcon\Mvc\Dispatcher;
|
||||
class LayerController extends \Phalcon\Mvc\Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $siteInfo;
|
||||
|
||||
/**
|
||||
* @var UserModel
|
||||
*/
|
||||
@ -33,11 +39,20 @@ class LayerController extends \Phalcon\Mvc\Controller
|
||||
|
||||
public function initialize()
|
||||
{
|
||||
$this->siteInfo = $this->getSiteInfo();
|
||||
$this->authUser = $this->getAuthUser();
|
||||
|
||||
$this->view->setVar('site_info', $this->siteInfo);
|
||||
$this->view->setVar('auth_user', $this->authUser);
|
||||
}
|
||||
|
||||
protected function getSiteInfo()
|
||||
{
|
||||
$appService = new AppService();
|
||||
|
||||
return $appService->getSettings('site');
|
||||
}
|
||||
|
||||
protected function getAuthUser()
|
||||
{
|
||||
/**
|
||||
|
@ -1,4 +1,10 @@
|
||||
<div class="logo"></div>
|
||||
<div class="logo layui-layout-left">
|
||||
{% if site_info.logo %}
|
||||
{{ image(site_info.logo,false) }}
|
||||
{% else %}
|
||||
{{ image('logo.png') }}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="top-nav">
|
||||
<ul class="layui-nav">
|
||||
@ -21,7 +27,7 @@
|
||||
{% set s_query = request.get('query',['trim','striptags'],'') %}
|
||||
{% set s_url = url({'for':'home.search.index'}) %}
|
||||
|
||||
<div class="user layui-layout-right">
|
||||
<div class="user">
|
||||
<ul class="layui-nav">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:" class="nav-search" data-type="{{ s_type }}" data-query="{{ s_query }}" data-url="{{ s_url }}"><i class="layui-icon layui-icon-search"></i> 搜索</a>
|
||||
|
@ -4,8 +4,12 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>出错啦</title>
|
||||
{{ icon_link("favicon.ico") }}
|
||||
<title>出错啦 - {{ site_info.title }}</title>
|
||||
{% if site_info.favicon %}
|
||||
{{ icon_link(site_info.favicon,false) }}
|
||||
{% else %}
|
||||
{{ icon_link('favicon.ico') }}
|
||||
{% endif %}
|
||||
{{ css_link("lib/layui/css/layui.css") }}
|
||||
{{ css_link("home/css/error.css") }}
|
||||
</head>
|
||||
|
@ -5,8 +5,12 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrfToken.getToken() }}">
|
||||
<title>酷瓜云课堂</title>
|
||||
{{ icon_link('favicon.ico') }}
|
||||
<title>{{ site_info.title }}</title>
|
||||
{% if site_info.favicon %}
|
||||
{{ icon_link(site_info.favicon,false) }}
|
||||
{% else %}
|
||||
{{ icon_link('favicon.ico') }}
|
||||
{% endif %}
|
||||
{{ css_link('lib/layui/css/layui.css') }}
|
||||
{{ css_link('home/css/common.css') }}
|
||||
{% block link_css %}{% endblock %}
|
||||
|
@ -8,7 +8,11 @@
|
||||
<meta name="description" content="{{ seo.getDescription() }}">
|
||||
<meta name="csrf-token" content="{{ csrfToken.getToken() }}">
|
||||
<title>{{ seo.getTitle() }}</title>
|
||||
{{ icon_link('favicon.ico') }}
|
||||
{% if site_info.favicon %}
|
||||
{{ icon_link(site_info.favicon,false) }}
|
||||
{% else %}
|
||||
{{ icon_link('favicon.ico') }}
|
||||
{% endif %}
|
||||
{{ css_link('lib/layui/css/layui.css') }}
|
||||
{{ css_link('home/css/common.css') }}
|
||||
{% block link_css %}{% endblock %}
|
||||
|
@ -77,6 +77,7 @@ class FileInfo
|
||||
'png' => 'image/png',
|
||||
'webp' => 'image/webp',
|
||||
'bmp' => 'image/bmp',
|
||||
'ico' => 'image/x-icon',
|
||||
'tif' => 'image/tiff',
|
||||
'tiff' => 'image/tiff',
|
||||
'svg' => 'image/svg+xml',
|
||||
|
37
db/migrations/20210105024511_data_202101051130.php
Normal file
37
db/migrations/20210105024511_data_202101051130.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
class Data202101051130 extends Phinx\Migration\AbstractMigration
|
||||
{
|
||||
|
||||
public function up()
|
||||
{
|
||||
$rows = [
|
||||
[
|
||||
'section' => 'site',
|
||||
'item_key' => 'logo',
|
||||
'item_value' => '',
|
||||
],
|
||||
[
|
||||
'section' => 'site',
|
||||
'item_key' => 'favicon',
|
||||
'item_value' => '',
|
||||
],
|
||||
];
|
||||
|
||||
$this->table('kg_setting')->insert($rows)->save();
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->getQueryBuilder()
|
||||
->delete('kg_setting')
|
||||
->where(['section' => 'site', 'item_key' => 'logo'])
|
||||
->execute();
|
||||
|
||||
$this->getQueryBuilder()
|
||||
->delete('kg_setting')
|
||||
->where(['section' => 'site', 'item_key' => 'favicon'])
|
||||
->execute();
|
||||
}
|
||||
|
||||
}
|
@ -127,8 +127,21 @@
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#header .logo {
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
line-height: 60px;
|
||||
}
|
||||
|
||||
.top-nav {
|
||||
margin-left: 100px;
|
||||
margin-left: 185px;
|
||||
}
|
||||
|
||||
#header .user {
|
||||
top: 0;
|
||||
right: 0;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.layer-search input {
|
||||
|
BIN
public/static/logo.png
Normal file
BIN
public/static/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
Loading…
x
Reference in New Issue
Block a user