mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 15:32:48 +08:00
开始官网模板
This commit is contained in:
30
README.md
30
README.md
@@ -69,8 +69,38 @@ php think reset_password
|
||||
- 后台日志
|
||||
- 支持轮播图,导航,小程序导航(打开方式)等设置
|
||||
- 实现CMS后台
|
||||
- 支持前台多主题
|
||||
- 适配手机端,实现table转卡片样式
|
||||
|
||||
#### 多主题用法
|
||||
|
||||
在index应用下,使用`$this->fetch($template,$vars)`,而不要用`View::fetch($template,$vars)`.
|
||||
|
||||
多主题用法仅当`$template`为空字符串或者字符串有效,使用`跨应用`,`跨控制器`,`木板路径`,`数据内容`的写法无效.
|
||||
|
||||
index应用下控制器有个`BaseController.php`,里面有个属性`$isUseTpls = true`,当关闭时不使用多主题.
|
||||
|
||||
多主题规则,系统设置的`index_tpl_name`拼接`$template`;
|
||||
|
||||
例如下:
|
||||
假设是`Index`控制器,`index`方法,系统设置的`index_tpl_name`值为`easy_blue_`,模板命名规则和模板目录均为默认情况下.
|
||||
|
||||
```
|
||||
$this->fetch();
|
||||
// 定位模板为:/view/index/index/easy_blue_index.html
|
||||
|
||||
$this->fetch('index');
|
||||
// 定位模板为:/view/index/index/easy_blue_index.html
|
||||
|
||||
$this->fetch('index_1');
|
||||
// 定位模板为:/view/index/index/easy_blue_index_1.html
|
||||
|
||||
$this->fetch('index_product');
|
||||
// 定位模板为:/view/index/index/easy_blue_index_product.html
|
||||
|
||||
```
|
||||
|
||||
> 配置文件下的模板命名规则和模板位置仍然按有效,默认在`/view`将方法名转下划线的写法.这些配置仍然有效;
|
||||
|
||||
### 完整安装
|
||||
|
||||
|
||||
@@ -54,9 +54,9 @@ class Nav extends Common
|
||||
|
||||
return $this->success('添加成功', url('index',[
|
||||
'type'=>$request->param('type',1),
|
||||
'show_img'=>$request->param('show_img'),
|
||||
'show_target'=>$request->param('show_target'),
|
||||
'show_xcx'=>$request->param('show_xcx'),
|
||||
'show_img'=>$request->param('show_img',0),
|
||||
'show_target'=>$request->param('show_target',0),
|
||||
'show_xcx'=>$request->param('show_xcx',0),
|
||||
]));
|
||||
}
|
||||
|
||||
@@ -104,10 +104,10 @@ class Nav extends Common
|
||||
$model_nav->save($post_data);
|
||||
|
||||
return $this->success('保存成功', url('index',[
|
||||
'type'=>$model_nav->getData('type'),
|
||||
'show_img'=>$request->param('show_img'),
|
||||
'show_target'=>$request->param('show_target'),
|
||||
'show_xcx'=>$request->param('show_xcx'),
|
||||
'type'=>$model_nav->getData('type',1),
|
||||
'show_img'=>$request->param('show_img',0),
|
||||
'show_target'=>$request->param('show_target',0),
|
||||
'show_xcx'=>$request->param('show_xcx',0),
|
||||
]));
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ class Post extends Common
|
||||
{
|
||||
//
|
||||
|
||||
$list = ModelPost::order('id desc')->paginate();
|
||||
$list = ModelPost::with(['categorys.category','tags.tag'])->order('id desc')->paginate();
|
||||
|
||||
View::assign('list', $list);
|
||||
|
||||
|
||||
@@ -38,6 +38,11 @@ class System extends Common
|
||||
|
||||
return View::fetch();
|
||||
}
|
||||
public function easyBlue()
|
||||
{
|
||||
|
||||
return View::fetch();
|
||||
}
|
||||
|
||||
public function update()
|
||||
{
|
||||
|
||||
@@ -54,6 +54,10 @@ function get_system_config($name = '', $default = '')
|
||||
|
||||
function get_source_link($url)
|
||||
{
|
||||
|
||||
if(empty($url)){
|
||||
$url = '/static/images/avatar.jpeg';
|
||||
}
|
||||
if (strpos($url, '/') === 0) {
|
||||
return $url;
|
||||
}
|
||||
|
||||
93
app/index/controller/Category.php
Normal file
93
app/index/controller/Category.php
Normal file
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\index\controller;
|
||||
|
||||
use app\model\Category as ModelCategory;
|
||||
use think\Request;
|
||||
|
||||
class Category extends Common
|
||||
{
|
||||
/**
|
||||
* 显示资源列表
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示创建资源表单页.
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存新建的资源
|
||||
*
|
||||
* @param \think\Request $request
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function save(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示指定的资源
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function read($id)
|
||||
{
|
||||
//
|
||||
|
||||
$model_category = ModelCategory::with('posts.post')->find($id);
|
||||
|
||||
$this->assign('category',$model_category);
|
||||
|
||||
return $this->fetch('read'.$model_category->tpl_name);
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示编辑资源表单页.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存更新的资源
|
||||
*
|
||||
* @param \think\Request $request
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除指定资源
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function delete($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
25
app/index/controller/Common.php
Normal file
25
app/index/controller/Common.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
namespace app\index\controller;
|
||||
|
||||
use app\model\Nav;
|
||||
use think\facade\View;
|
||||
|
||||
class Common extends BaseController
|
||||
{
|
||||
public function initialize()
|
||||
{
|
||||
|
||||
parent::initialize();
|
||||
|
||||
$list_header_nav = Nav::where('type',1)->order('sort asc')->where('status',1)->select();
|
||||
View::assign('list_header_nav',$list_header_nav);
|
||||
$list_nav_slide = Nav::where('type',3)->order('sort asc')->where('status',1)->select();
|
||||
View::assign('list_nav_slide',$list_nav_slide);
|
||||
$list_nav_index_block_1 = Nav::where('type',6)->order('sort asc')->where('status',1)->select();
|
||||
View::assign('list_nav_index_block_1',$list_nav_index_block_1);
|
||||
$list_nav_index_block_2 = Nav::where('type',7)->order('sort asc')->where('status',1)->select();
|
||||
View::assign('list_nav_index_block_2',$list_nav_index_block_2);
|
||||
$list_nav_friend_url = Nav::where('type',2)->order('sort asc')->where('status',1)->select();
|
||||
View::assign('list_nav_friend_url',$list_nav_friend_url);
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@ namespace app\index\controller;
|
||||
use think\facade\View;
|
||||
use think\Request;
|
||||
|
||||
class Index extends BaseController
|
||||
class Index extends Common
|
||||
{
|
||||
/**
|
||||
* 显示资源列表
|
||||
@@ -16,9 +16,7 @@ class Index extends BaseController
|
||||
{
|
||||
//
|
||||
|
||||
dump($this->request->action());
|
||||
|
||||
return $this->fetch('');
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -20,4 +20,48 @@ class Category extends Model
|
||||
// return $model_list;
|
||||
return array2level($model_list,0,0);
|
||||
}
|
||||
|
||||
public function getTitleImgAttr($value)
|
||||
{
|
||||
|
||||
return get_source_link($value);
|
||||
}
|
||||
|
||||
public function posts()
|
||||
{
|
||||
return $this->hasMany(PostCategory::class,'category_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回的对应的post的模型
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function getPostsModelListAttr()
|
||||
{
|
||||
$list_post_category = $this->getAttr('posts');
|
||||
|
||||
$list_post = [];
|
||||
|
||||
foreach ($list_post_category as $list_post_category) {
|
||||
array_push($list_post,$list_post_category->post);
|
||||
}
|
||||
|
||||
return $list_post;
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回的对应post的数据,性能比模型要高.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function getPostsListAttr()
|
||||
{
|
||||
$list_post_category = $this->getAttr('posts');
|
||||
|
||||
$list_post = array_column($list_post_category->append(['post'])->toArray(),'post');
|
||||
|
||||
return $list_post;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
declare (strict_types = 1);
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\model;
|
||||
|
||||
@@ -10,9 +11,19 @@ use think\Model;
|
||||
*/
|
||||
class Nav extends Model
|
||||
{
|
||||
//
|
||||
public function getImgAttr($value)
|
||||
{
|
||||
return get_source_link($value);
|
||||
}
|
||||
|
||||
public static $statusName = [
|
||||
0=>'不显示',
|
||||
1=>'显示'
|
||||
];
|
||||
//
|
||||
public function getImgAttr($value)
|
||||
{
|
||||
return get_source_link($value);
|
||||
}
|
||||
|
||||
public function getStatusNameAttr()
|
||||
{
|
||||
return self::$statusName[$this->getData('status')];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,39 @@ class Post extends Model
|
||||
return $this->hasMany(PostTag::class,'post_id');
|
||||
}
|
||||
|
||||
public function getCategorysListAttr()
|
||||
{
|
||||
$list_post_categorys = $this->getAttr('categorys');
|
||||
|
||||
$list = array_column($list_post_categorys->append(['category'])->toArray(),'category');
|
||||
|
||||
$list = array2level($list,0,0);
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
public function getTagsListAttr()
|
||||
{
|
||||
$list_post_tags = $this->getAttr('tags');
|
||||
|
||||
$list = array_column($list_post_tags->append(['tag'])->toArray(),'tag');
|
||||
|
||||
$list = array2level($list);
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
public function getDescShortAttr()
|
||||
{
|
||||
$desc = $this->getData('desc');
|
||||
|
||||
if(strlen($desc) > 100){
|
||||
$desc = mb_substr($desc,0,100).'...';
|
||||
}
|
||||
|
||||
return $desc;
|
||||
}
|
||||
|
||||
public function getStatusNameAttr()
|
||||
{
|
||||
return self::$stausNameList[$this->getData('status')];
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
declare (strict_types = 1);
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\model;
|
||||
|
||||
@@ -10,5 +11,14 @@ use think\Model;
|
||||
*/
|
||||
class PostCategory extends Model
|
||||
{
|
||||
//
|
||||
//
|
||||
public function post()
|
||||
{
|
||||
return $this->belongsTo(Post::class, 'post_id');
|
||||
}
|
||||
|
||||
public function category()
|
||||
{
|
||||
return $this->belongsTo(Category::class,'category_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
declare (strict_types = 1);
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\model;
|
||||
|
||||
@@ -10,5 +11,14 @@ use think\Model;
|
||||
*/
|
||||
class PostTag extends Model
|
||||
{
|
||||
//
|
||||
//
|
||||
public function tag()
|
||||
{
|
||||
return $this->belongsTo(Tag::class,'tag_id');
|
||||
}
|
||||
|
||||
public function post()
|
||||
{
|
||||
return $this->belongsTo(Post::class, 'post_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'category' => [
|
||||
'' => '普通',
|
||||
'category' => [
|
||||
'' => '普通:',
|
||||
|
||||
'_product' => '产品',
|
||||
'_case' => '案例',
|
||||
'_about' => '关于',
|
||||
],
|
||||
'post' => [
|
||||
'' => '普通',
|
||||
]
|
||||
'_product' => '产品:_product',
|
||||
'_case' => '案例:_case',
|
||||
'_about' => '关于:_about',
|
||||
],
|
||||
'post' => [
|
||||
'' => '普通:',
|
||||
]
|
||||
];
|
||||
|
||||
@@ -44,9 +44,11 @@ class CreateTableNav extends Migrator
|
||||
$table->addColumn(Column::make('xcx_type','integer')->setLimit(10)->setComment('小程序打开方式,1:小程序导航页面,2:普通页面,3:web-view,4:其他小程序,5:电话'));
|
||||
$table->addColumn(Column::make('value','string')->setLimit(100)->setComment('对象值,有可能是网页链接,小程序导航页面路径,小程序普通页面路径,电话'));
|
||||
$table->addColumn(Column::make('xcx_appid','string')->setLimit(30)->setComment('小程序appid,目标是其他小程序是有效'));
|
||||
$table->addColumn(ColumnFormat::integerTypeStatus('status')->setComment('0:下架,1:显示'));
|
||||
$table->addIndex('delete_time');
|
||||
$table->addIndex('type');
|
||||
$table->addIndex('sort');
|
||||
$table->addIndex('status');
|
||||
$table->create();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,10 @@ class CreateTableCategory extends Migrator
|
||||
->addColumn(ColumnFormat::stringShort('tpl_name')->setComment('模板名称'))
|
||||
->addColumn(ColumnFormat::stringUrl('title_img')->setComment('附图'))
|
||||
->addColumn(ColumnFormat::stringLong('desc')->setComment('副标题描述'))
|
||||
->addColumn(ColumnFormat::integerTypeStatus('status')->setComment('0:不显示,1:显示'))
|
||||
->addIndex('pid')
|
||||
->addIndex('status')
|
||||
->addIndex('delete_time')
|
||||
->create();
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
247
public/static/css/index.easy_blue.css
Normal file
247
public/static/css/index.easy_blue.css
Normal file
@@ -0,0 +1,247 @@
|
||||
/**
|
||||
|
||||
@Name: layuiNetCompany - 大气风格的网络公司企业模版
|
||||
@Author: xuxingyu
|
||||
@Copyright: layui.com
|
||||
|
||||
*/
|
||||
|
||||
body{background: #fff;}
|
||||
|
||||
/** 首页 */
|
||||
|
||||
/*导航部分*/
|
||||
.nav{width: 100%; height: 80px; box-shadow: 0 3px 3px 0 #CCC; background: #FFF; position: fixed; left: 0; top: 0; z-index: 999; overflow: hidden; transition: 0.3s}
|
||||
.nav.index{background: rgba(255, 255, 255 ,0.8); box-shadow: 0 0 0 0 rgba(0,0,0,0.05);}
|
||||
.nav.scroll{ background: #FFF; box-shadow: 0 3px 3px 0 rgba(0,0,0,0.05); transition: 0.3s}
|
||||
.nav .layui-container{position: relative; transition: all 400ms ease-out;}
|
||||
.nav .nav-logo{height: 100%; position: absolute; top: 0; left: 15px; line-height: 80px;}
|
||||
.nav .nav-list{display: inline-block; height: 80px;}
|
||||
.nav .nav-list button{width: 25px; height: 30px; position: absolute; top: 30px; right: 15px; background-color: transparent; border: none; outline: none; cursor: pointer;}
|
||||
.nav .nav-list button span{display: block; width: 25px; height: 2px; background: #2db5a3; margin-bottom: 6px; transition: 0.5s;}
|
||||
.nav .nav-list button span.spa1{transform: rotate(45deg);}
|
||||
.nav .nav-list button span.spa3{transform: rotate(-45deg) translate(5px,-5px);}
|
||||
.nav .layui-nav{width: 100%; position: absolute; top: 80px; right: 0; color: #000; background: transparent;}
|
||||
.nav .layui-nav .layui-nav-item{display: block; line-height: 60px;}
|
||||
.nav .layui-nav *{font-size: 18px;}
|
||||
.nav .layui-nav .layui-nav-item a{padding: 0 0; color: #000;}
|
||||
.nav .layui-nav-bar,
|
||||
.nav .layui-nav .layui-this:after{height: 2px; background-color: #2db5a3;}
|
||||
.nav .layui-nav .layui-this a
|
||||
,.nav .layui-nav .layui-nav-item a:hover{color: #2db5a3;}
|
||||
|
||||
/*轮播*/
|
||||
#banner img{min-width: 100%; height: 898px;}
|
||||
#banner .panel{width: 400px; position: absolute; top: 25%; left: 50%; margin-left: -200px; text-align: center;}
|
||||
#banner .panel p{color: #8c8c8c; font-size: 44px; line-height: 80px; letter-spacing: 15px;}
|
||||
#banner .panel p.title{color: #4a4a4a; font-size: 54px; letter-spacing: 10px;}
|
||||
|
||||
/*主体—产品*/
|
||||
.main-product{padding-top: 90px; padding-bottom: 130px;}
|
||||
.main-product p{font-size: 16px; color: #ababab; line-height: 28px;}
|
||||
.main-product p.title
|
||||
,.main-service p.title{color: #484848; font-size: 24px; text-align: center; line-height: 160px;}
|
||||
.main-product p.title span
|
||||
,.main-service p.title span{color: #2db5a3;}
|
||||
.main-product .content{border: 1px solid #DEDEDE; padding: 30px 36px 0 36px; text-align: center; transition: 0.3s;}
|
||||
.main-product .content p.label{font-size: 18px; color: #939393; line-height: 46px; padding-top: 6px;}
|
||||
.main-product .content a{font-size: 18px; color: #a1d8cb; line-height: 68px;}
|
||||
.main-product .content:hover{box-shadow: 0 0 3px 3px #EEE; transition: 0.3s;}
|
||||
.main-product .content img{transition: 2s;}
|
||||
.main-product .content img:hover{transform: rotateY(180deg);}
|
||||
|
||||
/*主体-服务*/
|
||||
.main-service{background: #f8f8f8;}
|
||||
.main-service .content{position: relative;}
|
||||
.main-service .content .content-left{width: 50%;}
|
||||
.main-service .content .content-left img{width: 100%;}
|
||||
.main-service .content .content-right{box-sizing: border-box; background: #FFF; padding: 58px 40px 0 48px; width: 50%; height: 100%; position: absolute; top: 0; right: 0; transition: 0.3s; overflow: hidden;}
|
||||
.main-service .content .content-right p{color: #adadad; line-height: 32px; overflow: hidden; text-overflow: ellipsis;}
|
||||
.main-service .content .content-right p.label{font-size: 16px; color: #4a4a4a;}
|
||||
.main-service .content .content-right span{display: block; width: 50px; height: 2px; background: #2cb6a1; margin-bottom: 23px;}
|
||||
.main-service .content .content-right:hover{box-shadow: 2px 2px 2px #EEE; transition: 0.3s;}
|
||||
.main-service .service-more{padding-top: 80px; padding-bottom: 80px; text-align: center;}
|
||||
.main-service .service-more a{padding: 10px 62px; font-size: 23px; line-height: 46px;color: #FFF; background: #7fd3c6; border-radius: 3px;}
|
||||
|
||||
/*底部*/
|
||||
.footer{padding-bottom: 70px; background: #5e6664;}
|
||||
.footer .footer-web{padding-top: 50px; padding-bottom: 63px;}
|
||||
.footer .footer-web a{color: #a5aaa9; line-height: 22px; margin-right: 20px; transition: 0.3s;}
|
||||
.footer .footer-web a:hover{color: #dce1e0; transition: 0.3s;}
|
||||
.footer .footer-contact{color: #fff;}
|
||||
.footer .footer-contact a{color: #a5aaa9;}
|
||||
.footer .footer-contact .contact-top{padding-top: 20px; line-height: 30px;}
|
||||
.footer .footer-contact .contact-bottom{line-height: 35px;}
|
||||
|
||||
|
||||
/** 产品 */
|
||||
.banner{height: 320px; margin-top: 80px;}
|
||||
.banner.product{background: url(../img/nav_img1.jpg) no-repeat center top; background-size: cover;}
|
||||
.main.product{padding: 30px 0 75px 0;}
|
||||
.main.product .content{padding: 50px 0; border-bottom: 1px solid #e8e8e8;}
|
||||
.main.product .content .content-img{text-align: center;}
|
||||
.main.product .content .content-img img{max-width: 100%;}
|
||||
.main.product .content .label{color: #565656; font-size: 30px; line-height: 78px; margin-top: 32px;}
|
||||
.main.product .content .detail{font-size: 16px; line-height: 28px; color: #d7d7d7; padding-bottom: 30px;}
|
||||
.main.product .content a{color: #a0d2cc; font-size: 16px; line-height: 38px; padding:10px 11px 10px 23px; border: 1px solid #a0d2cc; border-radius: 3px;}
|
||||
|
||||
|
||||
/** 动态 */
|
||||
.banner.news{background: url(../img/nav_img3.jpg) no-repeat center top; background-size: cover;}
|
||||
.banner .title{padding-top: 170px;}
|
||||
.banner .title.active{padding-top: 120px; transition: 1.5s;}
|
||||
.banner .title p{color: #606060; font-size: 36px; text-align: center; line-height: 50px; letter-spacing: 5px;}
|
||||
.banner .title p.en{font-size: 20px; letter-spacing: 3px;}
|
||||
.main-news{padding: 70px 0 80px 0;}
|
||||
.main-news .content > div{padding-bottom: 40px; border-bottom: 1px dashed #eaeaea; position: relative;}
|
||||
.main-news .content .news-img{display: inline-block; width: 30%; vertical-align: top;}
|
||||
.main-news .content .news-img img{max-width: 90%;}
|
||||
.main-news .content .news-panel{display: inline-block; width: 70%; vertical-align: top; padding-left: 5px; box-sizing: border-box;}
|
||||
.main-news .content .news-panel strong a{display: block; color: #555; font-size: 18px; line-height: 26px; overflow: hidden; text-overflow:ellipsis; white-space: nowrap;}
|
||||
.main-news .content .news-panel p.detail{color: #777; line-height: 24px;}
|
||||
.main-news .content .news-panel p.read-push{color: #AAA; padding-top: 5px;}
|
||||
.main-news #newsPage .layui-laypage{display: block; text-align: center; margin-top: 70px;}
|
||||
.main-news #newsPage .layui-laypage a,.main-news #newsPage .layui-laypage span{font-size: 18px; line-height: 40px; height: 40px; margin-right: 20px; border-radius: 3px; color: #e3e3e3;}
|
||||
/*动态详情页*/
|
||||
.main-newsdate{margin-top: 80px; text-align: center;}
|
||||
.main-newsdate .news{text-align: left; line-height: 104px;}
|
||||
.main-newsdate h1{padding-top: 6px;}
|
||||
.main-newsdate .pushtime{color: #686868; font-size: 18px; line-height: 82px;}
|
||||
.main-newsdate .introTop{padding-bottom: 28px; font-size: 18px; line-height: 20px; text-align: left;}
|
||||
.main-newsdate .introBott{font-size: 18px; line-height: 42px; text-align: justify; padding: 40px 0 102px 0;}
|
||||
.main-newsdate img{max-width: 100%;}
|
||||
|
||||
|
||||
/** 案例 */
|
||||
.banner.case{background: url(../img/nav_img2.jpg) no-repeat center top; background-size: cover;}
|
||||
.main-case{padding: 30px 0 75px;}
|
||||
.main-case .content{width: 48%; text-align: center; padding-top: 120px; padding-bottom: 20px; border-bottom: 2px solid #c9c9c9;}
|
||||
.main-case .content.even{margin-left: 2%;}
|
||||
.main-case .content .case-img{border: 1px solid #e2e2e2; overflow: hidden;}
|
||||
.main-case .content .case-img img{width: 100%; transition: 2s;}
|
||||
.main-case .content .case-img img:hover{transform: scale(1.2,1.2); transition: 2s;}
|
||||
.main-case .content p.lable{padding-top: 13px; font-size: 30px; line-height: 76px;}
|
||||
.main-case .content p{font-size: 18px; line-height: 32px; color: #505050;}
|
||||
.main-case #casePage .layui-laypage{display: block; text-align: center; margin-top: 100px;}
|
||||
.main-case #casePage .layui-laypage a,.main-case #casePage .layui-laypage span{font-size: 18px; line-height: 40px; height: 40px; margin-right: 20px; border-radius: 3px; color: #e3e3e3;}
|
||||
|
||||
|
||||
/** 关于 */
|
||||
.banner.about{background: url(../img/nav_img4.jpg) no-repeat center top; background-size: cover;}
|
||||
.main-about{padding-bottom: 130px;}
|
||||
.main-about ul.aboutab{padding: 100px 0; text-align: center;}
|
||||
.main-about ul.aboutab li{display: inline-block; padding: 0 22px; margin-left: 15px; font-size: 20px; line-height: 46px; color: #b5b5b5; border: 1px solid #e2e2e2; border-radius: 3px; cursor: pointer;}
|
||||
.main-about ul.aboutab li:first-child{margin-left: 0;}
|
||||
.main-about ul.aboutab li.layui-this
|
||||
,.main-about ul.aboutab li:hover{color: #2ab5a3; border-color: #afddd7; transition: 0.3s;}
|
||||
.main-about .tabJob, .main-about .tabCour{display: none;}
|
||||
/*公司简介*/
|
||||
.main-about .tabIntro{padding-bottom: 15px;}
|
||||
.main-about .tabIntro .content{vertical-align: middle;}
|
||||
.main-about .tabIntro .content .img{width: 50%;}
|
||||
.main-about .tabIntro .content .img img{width: 100%;}
|
||||
.main-about .tabIntro .content .panel{width: 50%;}
|
||||
.main-about .tabIntro .content p{padding: 0 20px; line-height: 24px; text-align: justify;}
|
||||
.main-about .tabIntro .p_hidden{padding: 0 20px; display: none;}
|
||||
/*招贤纳士*/
|
||||
.main-about .tabJob .content{padding: 0 0 40px 20px; border: 1px solid #e2e2e2; border-top: 4px solid #65d0c5; margin-top: 90px;}
|
||||
.main-about .tabJob .content:first-child{margin-top: 10px;}
|
||||
.main-about .tabJob .content p{font-size: 18px; line-height: 40px;}
|
||||
.main-about .tabJob .content p.title{font-size: 24px; color: #545454; line-height: 60px;}
|
||||
.main-about .tabJob .content ol{padding-left: 20px; list-style-type: none; counter-reset: sectioncounter;}
|
||||
.main-about .tabJob .content ol li{color: #8d8d8d; font-size: 16px; line-height: 30px;}
|
||||
.main-about .tabJob .content ol li:before {content: counter(sectioncounter) "、"; counter-increment: sectioncounter;}
|
||||
/*发展历程*/
|
||||
.main-about .tabCour p.title{font-size: 28px; line-height: 28px; text-align: center;}
|
||||
.main-about .tabCour .timeline{position: relative; margin-top: 75px;}
|
||||
.main-about .tabCour .timeline:before{position: absolute; top: 0; bottom: 0; content: ""; width: 2px; background-color: #e2e2e2; left: 50px;}
|
||||
.main-about .tabCour .timeline li{position: relative; padding-top: 70px;}
|
||||
.main-about .tabCour .timeline li:first-child{padding-top: 0;}
|
||||
.main-about .tabCour .timeline li .cour-img{position: absolute; left: 0; width: 100px; border-radius: 50%;}
|
||||
.main-about .tabCour .timeline li .cour-img img{width: 100%;}
|
||||
.main-about .tabCour .timeline li .cour-panel{padding-top: 20px; padding-left: 120px; text-align: left;}
|
||||
.main-about .tabCour .timeline li .cour-panel p.label{font-size: 18px; color: #000;}
|
||||
.main-about .tabCour .timeline li .cour-panel p{color: #949494; line-height: 30px;}
|
||||
|
||||
|
||||
@media screen and (max-width: 480px){
|
||||
.main-service .content .content-right{padding: 10px 10px 0 10px;}
|
||||
.main-service .content .content-right p{line-height: 24px;}
|
||||
.main-news .content .news-panel p.read-push{font-size: 12px;}
|
||||
.main-case .content{padding-top: 60px;}
|
||||
.main-case .content p.lable{padding-top: 10px; font-size: 18px; line-height: 48px;}
|
||||
.main-case .content p{font-size: 12px; line-height: 20px; color: #505050;}
|
||||
.main-about ul.aboutab{padding: 70px 0;}
|
||||
.main-about ul.aboutab li{padding: 0 15px; font-size: 16px; box-sizing: border-box;}
|
||||
.main-about .tabIntro .content .img{width: 100%;}
|
||||
.main-about .tabIntro .content .panel{width: 100%;}
|
||||
.main-about .tabIntro .content .panel.p_block{display: none;}
|
||||
.main-about .tabIntro .p_hidden{display: block;}
|
||||
.main-news #newsPage .layui-laypage a,.main-news #newsPage .layui-laypage span
|
||||
,.main-case #casePage .layui-laypage a,.main-case #casePage .layui-laypage span{padding: 0 12px; font-size: 14px; line-height: 30px; height: 30px; margin-right: 4px;}
|
||||
}
|
||||
/*小屏幕*/
|
||||
@media screen and (min-width: 768px){
|
||||
.nav{max-height: 80px;}
|
||||
.nav.index{background: rgba(255, 255, 255 ,0.3);}
|
||||
.nav .nav-list button{display: none;}
|
||||
.nav .layui-nav{width: auto; position: absolute; top: 0; padding: 0 5px; border-radius: 0; margin: 0;}
|
||||
.nav .layui-nav .layui-nav-item{display: inline-block; margin:0 53px; line-height: 80px;}
|
||||
.main-product p.title
|
||||
,.main-service p.title{font-size: 36px; line-height: 216px;}
|
||||
.main.product .content .content-img{text-align: left;}
|
||||
.main-news .content .news-panel strong a{font-size: 20px; line-height: 30px;}
|
||||
.main-news .content .news-panel p.read-push{padding-top: 0; position: absolute; bottom: 40px;}
|
||||
.main-newsdate .pushtime{line-height: 142px;}
|
||||
.main-case .content{width: 45%;}
|
||||
.main-case .content.even{margin-left: 9%;}
|
||||
.main-about ul.aboutab li{padding: 0 32px; font-size: 24px; margin-left: 30px; line-height: 50px;}
|
||||
.main-about .tabIntro .content p{padding: 0 30px; font-size: 18px; line-height: 30px;}
|
||||
.main-about .tabJob .content p{font-size: 24px; line-height: 50px;}
|
||||
.main-about .tabJob .content p.title{font-size: 30px; line-height: 90px;}
|
||||
.main-about .tabJob .content ol li{font-size: 20px; line-height: 60px;}
|
||||
.main-about .tabCour .timeline:before{left: 50%;}
|
||||
.main-about .tabCour .timeline li{min-height: 195px; padding-top: 95px;}
|
||||
.main-about .tabCour .timeline li .cour-img{left: 50%; margin-left: -97.5px; width: 195px;}
|
||||
.main-about .tabCour .timeline li .cour-panel{padding-top: 55px; padding-left: 0;}
|
||||
.main-about .tabCour .timeline li.odd .cour-panel{text-align: right;}
|
||||
}
|
||||
@media screen and (min-width: 768px) and (max-width: 992px){
|
||||
.main.product .content div.right{padding-left: 20px;}
|
||||
.nav .layui-nav .layui-nav-item{margin:0 33px;}
|
||||
.main-service .content .content-right{padding: 10px 10px 0 15px;}
|
||||
.main-service .content .content-right span{margin-bottom: 20px;}
|
||||
.main-service .content .content-right p{line-height: 28px;}
|
||||
.main.product .content .label{line-height: 40px; margin-top: 0;}
|
||||
.main.product .content .detail{padding-bottom: 10px;}
|
||||
}
|
||||
/*大屏幕*/
|
||||
@media screen and (min-width: 992px){
|
||||
.main.product .content{padding: 100px 0;}
|
||||
.main.product .content div.right{padding-left: 0;}
|
||||
.main-news .content .news-img{width: 20%;}
|
||||
.main-news .content .news-panel{width: 80%;}
|
||||
.main-case .content{width: 31%;}
|
||||
.main-case .content.even{margin-left: 0;}
|
||||
.main-case .content.center{margin-right: 3%; margin-left: 3%;}
|
||||
.main-about .tabIntro .content p{padding: 0 50px; font-size: 20px; line-height: 40px;}
|
||||
}
|
||||
/*超大屏幕*/
|
||||
@media screen and (min-width: 1200px) {
|
||||
.main-news .content .news-img{width: 35%;}
|
||||
.main-news .content .news-panel{width: 65%;}
|
||||
.main-news .content:nth-child(odd){padding-right: 20px;}
|
||||
.main-news .content:nth-child(even){padding-left: 20px;}
|
||||
.main-about .tabCour .timeline li .cour-panel{padding-left: 50px;}
|
||||
.main-about .tabCour .timeline li.odd .cour-panel{padding-left: 0; padding-right: 50px;}
|
||||
}
|
||||
@media screen and (min-width: 1300px) {
|
||||
.layui-container{width: 1200px; padding: 0;}
|
||||
.main-about .tabJob .content:last-child{margin-bottom: 180px;}
|
||||
.nav .nav-logo{position: absolute; top: 0; left: 0;}
|
||||
.nav .nav-logo img{
|
||||
max-height: 100%;
|
||||
}
|
||||
.layui-col-space80{margin: -40px;}
|
||||
.layui-col-space80>*{padding: 40px;}
|
||||
}
|
||||
BIN
public/static/images/ghs.png
Normal file
BIN
public/static/images/ghs.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
98
public/static/js/firm.js
Normal file
98
public/static/js/firm.js
Normal file
@@ -0,0 +1,98 @@
|
||||
/**
|
||||
|
||||
@Name: layuiNetCompany - 大气风格的网络公司企业模版
|
||||
@Author: xuxingyu
|
||||
@Copyright: layui.com
|
||||
|
||||
*/
|
||||
|
||||
layui.define(['jquery', 'element', 'carousel', 'laypage'], function(exports){
|
||||
var $ = layui.jquery
|
||||
,element = layui.element
|
||||
,carousel = layui.carousel
|
||||
,laypage = layui.laypage;
|
||||
|
||||
//轮播渲染
|
||||
carousel.render({
|
||||
elem: '#banner'
|
||||
,width: '100%'
|
||||
,height: '898px'
|
||||
,arrow: 'always'
|
||||
});
|
||||
|
||||
//滚动监听
|
||||
$(window).scroll(function() {
|
||||
var scr=$(document).scrollTop();
|
||||
scr > 0 ? $(".nav").addClass('scroll') : $(".nav").removeClass('scroll');
|
||||
});
|
||||
|
||||
//轮播文字
|
||||
$(function(){
|
||||
$('.banner').children('.title').addClass('active');
|
||||
})
|
||||
|
||||
//导航切换
|
||||
var btn = $('.nav').find('.nav-list').children('button')
|
||||
,spa = btn.children('span')
|
||||
,ul = $('.nav').find('.nav-list').children('.layui-nav');
|
||||
btn.on('click', function(){
|
||||
if(!$(spa[0]).hasClass('spa1')){
|
||||
spa[0].className = 'spa1';
|
||||
spa[1].style.display = 'none';
|
||||
spa[2].className = 'spa3';
|
||||
$('.nav')[0].style.height = 90 + ul[0].offsetHeight + 'px';
|
||||
}else{
|
||||
spa[0].className = '';
|
||||
spa[1].style.display = 'block';
|
||||
spa[2].className = '';
|
||||
$('.nav')[0].style.height = 80 + 'px';
|
||||
}
|
||||
});
|
||||
|
||||
//关于内容
|
||||
$('.main-about').find('.aboutab').children('li').each(function(index){
|
||||
$(this).on('click', function(){
|
||||
$(this).addClass('layui-this').siblings().removeClass('layui-this');
|
||||
$('.aboutab').siblings().fadeOut("fast");
|
||||
$('.aboutab').siblings().eq(index).fadeIn("");
|
||||
});
|
||||
});
|
||||
|
||||
//动态分页
|
||||
laypage.render({
|
||||
elem: 'newsPage'
|
||||
,count: 50
|
||||
,theme: '#2db5a3'
|
||||
,layout: ['page', 'next']
|
||||
});
|
||||
|
||||
//案例分页
|
||||
laypage.render({
|
||||
elem: 'casePage'
|
||||
,count: 50
|
||||
,theme: '#2db5a3'
|
||||
,layout: ['page', 'next']
|
||||
});
|
||||
|
||||
//新闻字段截取
|
||||
$(function(){
|
||||
$(".main-news").find(".content").each(function(){
|
||||
var span = $(this).find(".detail").children("span")
|
||||
,spanTxt = span.html();
|
||||
if(document.body.clientWidth > 463){
|
||||
span.html(spanTxt);
|
||||
}else{
|
||||
span.html(span.html().substring(0, 42)+ '...')
|
||||
};
|
||||
$(window).resize(function(){
|
||||
if(document.body.clientWidth > 463){
|
||||
span.html(spanTxt);
|
||||
}else{
|
||||
span.html(span.html().substring(0, 42)+ '...')
|
||||
};
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
exports('firm', {});
|
||||
});
|
||||
@@ -77,13 +77,19 @@
|
||||
<div class="layui-form-label">模板</div>
|
||||
<div class="layui-input-block">
|
||||
<select name="tpl_name">
|
||||
{volist name=':config("view_type.category")' id='view_type' key="tpl_name"}
|
||||
<option value="{$tpl_name}">{$view_type}</option>
|
||||
{volist name=':config("view_type.category")' id='view_type'}
|
||||
<option value="{$key}">{$view_type}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">状态</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="status" value="1" title="显示" checked>
|
||||
<input type="radio" name="status" value="0" title="不显示">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-btn-fluid" submit lay-submit lay-filter="site-info">提交</button>
|
||||
</div>
|
||||
|
||||
@@ -60,18 +60,18 @@
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">副标题/描述</div>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="desc" class="layui-textarea"></textarea>
|
||||
<textarea name="desc" class="layui-textarea">{$category->getData('desc')}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">附图</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="hidden" name="title_img">
|
||||
<input type="hidden" name="title_img" value="{$category->getData('title_img')}">
|
||||
<div>
|
||||
<div class="layui-btn upload-title-img">上传</div>
|
||||
</div>
|
||||
<div>
|
||||
<img src="" class="title-img" style="display: none;max-width: 200px;max-height: 200px;;" alt="">
|
||||
<img src="{$category.title_img}" class="title-img" style="max-width: 200px;max-height: 200px;;" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -79,12 +79,19 @@
|
||||
<div class="layui-form-label">模板</div>
|
||||
<div class="layui-input-block">
|
||||
<select name="tpl_name">
|
||||
{volist name=':config("view_type.category")' id='view_type' key="tpl_name"}
|
||||
<option value="{$tpl_name}">{$view_type}</option>
|
||||
{volist name=':config("view_type.category")' id='view_type'}
|
||||
<option value="{$key}">{$view_type}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">状态</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="status" value="1" title="显示">
|
||||
<input type="radio" name="status" value="0" title="不显示">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-btn-fluid" submit lay-submit lay-filter="site-info">提交</button>
|
||||
</div>
|
||||
@@ -102,12 +109,33 @@
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['form'],function(){
|
||||
layui.use(['form','upload'],function(){
|
||||
var form = layui.form;
|
||||
var upload = layui.upload;
|
||||
|
||||
form.val('*',{
|
||||
pid:'{$category.pid}',
|
||||
tpl_name:'{$category->getData("tpl_name")}',
|
||||
status:'{$category->getData("status")}',
|
||||
})
|
||||
|
||||
upload.render({
|
||||
elem: '.upload-title-img',
|
||||
url: '{:url("api/Files/save")}',
|
||||
data: {
|
||||
type: 4,
|
||||
dir: 'article'
|
||||
},
|
||||
accept: 'images',
|
||||
done: function (result) {
|
||||
if (result.code == 0) {
|
||||
layer.msg('上传成功');
|
||||
$('input[name="title_img"]').val(result.data.save_name)
|
||||
$('.title-img').attr('src', result.data.src).show();
|
||||
} else {
|
||||
layer.msg(result.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
<td> {:str_repeat('|--',$vo.level)} {$vo.title}</td>
|
||||
<td>
|
||||
<div class="layui-btn-container">
|
||||
<a class="layui-btn layui-btn-sm" href="{:url('index/Category/read',['id'=>$vo.id])}">查看</a>
|
||||
<a class="layui-btn layui-btn-sm" href="{:url('edit',['id'=>$vo.id])}">编辑</a>
|
||||
<div class="layui-btn layui-btn-sm delete">删除</div>
|
||||
</div>
|
||||
|
||||
@@ -1,47 +1,68 @@
|
||||
<div class="layui-side layui-bg-black">
|
||||
<div class="layui-side-scroll">
|
||||
<!-- 左侧导航区域(可配合layui已有的垂直导航) -->
|
||||
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
||||
<li class="layui-nav-item layui-nav-itemed left-nav-item" data-name="index">
|
||||
<a class="" href="{:url('admin/System/index')}">系统管理</a>
|
||||
</li>
|
||||
<li class="layui-nav-item layui-nav-itemed left-nav-item" data-name="others">
|
||||
<a class="" href="{:url('admin/System/others')}">第三方管理</a>
|
||||
</li>
|
||||
<li class="layui-nav-item layui-nav-itemed left-nav-item" data-name="theme">
|
||||
<a class="" href="{:url('admin/System/theme')}">主题管理</a>
|
||||
</li>
|
||||
<li class="layui-nav-item layui-nav-itemed left-nav-item" data-name="agreement">
|
||||
<a class="" href="{:url('admin/System/agreement')}">用户协议管理</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
||||
<li class="layui-nav-item layui-nav-itemed">
|
||||
<a class="" href="javascript:;">PC管理</a>
|
||||
<dl class="layui-nav-child">
|
||||
<div class="layui-side-scroll">
|
||||
<!-- 左侧导航区域(可配合layui已有的垂直导航) -->
|
||||
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
||||
<li class="layui-nav-item layui-nav-itemed left-nav-item" data-name="index">
|
||||
<a class="" href="{:url('admin/System/index')}">系统管理</a>
|
||||
</li>
|
||||
<li class="layui-nav-item layui-nav-itemed left-nav-item" data-name="others">
|
||||
<a class="" href="{:url('admin/System/others')}">第三方管理</a>
|
||||
</li>
|
||||
<li class="layui-nav-item layui-nav-itemed left-nav-item" data-name="theme">
|
||||
<a class="" href="{:url('admin/System/theme')}">主题管理</a>
|
||||
</li>
|
||||
<li class="layui-nav-item layui-nav-itemed left-nav-item" data-name="agreement">
|
||||
<a class="" href="{:url('admin/System/agreement')}">用户协议管理</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<dd class="left-nav-item" data-name="pc-nav-1"><a
|
||||
href="{:url('Nav/index',['type'=>1,'show_target'=>1])}">PC导航管理</a></dd>
|
||||
<dd class="left-nav-item" data-name="pc-nav-2"><a
|
||||
href="{:url('Nav/index',['type'=>2,'show_target'=>1])}">友情链接管理</a></dd>
|
||||
<dd class="left-nav-item" data-name="pc-nav-3"><a
|
||||
href="{:url('Nav/index',['type'=>3,'show_img'=>1,'show_target'=>1])}">PC轮播图管理</a></dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
||||
<li class="layui-nav-item layui-nav-itemed">
|
||||
<a class="" href="javascript:;">小程序</a>
|
||||
<dl class="layui-nav-child">
|
||||
|
||||
<dd class="left-nav-item" data-name="pc-nav-4"><a
|
||||
href="{:url('Nav/index',['type'=>4,'show_img'=>1,'show_xcx'=>1])}">首页导航管理</a></dd>
|
||||
<dd class="left-nav-item" data-name="pc-nav-5"><a
|
||||
href="{:url('Nav/index',['type'=>5,'show_img'=>1,'show_xcx'=>1])}">轮播图管理</a></dd>
|
||||
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
||||
<li class="layui-nav-item layui-nav-itemed">
|
||||
<a class="" href="javascript:;">简约蓝主题管理</a>
|
||||
<dl class="layui-nav-child">
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<dd class="left-nav-item" data-name="easy_blue"><a href="{:url('System/easyBlue')}">一般参数</a></dd>
|
||||
|
||||
<dd class="left-nav-item" data-name="pc-nav-6">
|
||||
<a href="{:url('Nav/index',['type'=>6,'show_img'=>1,'show_target'=>1])}">首页布局块1</a>
|
||||
</dd>
|
||||
<dd class="left-nav-item" data-name="pc-nav-7">
|
||||
<a href="{:url('Nav/index',['type'=>7,'show_img'=>1,'show_target'=>1])}">首页布局块2</a>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
||||
<li class="layui-nav-item layui-nav-itemed">
|
||||
<a class="" href="javascript:;">PC管理</a>
|
||||
<dl class="layui-nav-child">
|
||||
|
||||
<dd class="left-nav-item" data-name="pc-nav-1"><a
|
||||
href="{:url('Nav/index',['type'=>1,'show_target'=>1])}">PC导航管理</a></dd>
|
||||
<dd class="left-nav-item" data-name="pc-nav-2"><a
|
||||
href="{:url('Nav/index',['type'=>2,'show_target'=>1])}">友情链接管理</a></dd>
|
||||
<dd class="left-nav-item" data-name="pc-nav-3"><a
|
||||
href="{:url('Nav/index',['type'=>3,'show_img'=>1,'show_target'=>1])}">PC轮播图管理</a></dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
||||
<li class="layui-nav-item layui-nav-itemed">
|
||||
<a class="" href="javascript:;">小程序</a>
|
||||
<dl class="layui-nav-child">
|
||||
|
||||
<dd class="left-nav-item" data-name="pc-nav-4"><a
|
||||
href="{:url('Nav/index',['type'=>4,'show_img'=>1,'show_xcx'=>1])}">首页导航管理</a></dd>
|
||||
<dd class="left-nav-item" data-name="pc-nav-5"><a
|
||||
href="{:url('Nav/index',['type'=>5,'show_img'=>1,'show_xcx'=>1])}">轮播图管理</a></dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -73,14 +73,14 @@
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">打开方式</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="target" value="1" title="当前页面" checked>
|
||||
<input type="radio" name="target" value="2" title="新页面">
|
||||
<input type="radio" name="target" value="_self" title="当前页面" checked>
|
||||
<input type="radio" name="target" value="_blank" title="新页面">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">链接</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="value" required lay-verify="required" value="" class="layui-input">
|
||||
<input type="text" name="value" value="" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
@@ -114,7 +114,13 @@
|
||||
<input type="number" name="sort" value="" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">状态</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="status" value="1" title="显示" checked>
|
||||
<input type="radio" name="status" value="0" title="不显示">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-btn-fluid" type="submit">创建</button>
|
||||
</div>
|
||||
|
||||
@@ -37,8 +37,9 @@
|
||||
<legend>编辑</legend>
|
||||
<div class="layui-field-box">
|
||||
<form action="{:url('update')}" method="POST" class="layui-form" lay-filter="*">
|
||||
<input type="hidden" name="show_img" value="{$Request.param.show_img}">
|
||||
<input type="hidden" name="show_target" value="{$Request.param.show_target}">
|
||||
<input type="hidden" name="show_img" value="{$Request.param.show_img|default='0'}">
|
||||
<input type="hidden" name="show_target" value="{$Request.param.show_target|default='0'}">
|
||||
<input type="hidden" name="show_xcx" value="{$Request.param.show_xcx|default='0'}">
|
||||
<input type="hidden" name="id" value="{$nav.id}">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">标题</div>
|
||||
@@ -53,7 +54,7 @@
|
||||
<textarea name="desc" class="layui-textarea">{$nav.desc}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{if $Request.param.show_img == 1 }
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">图片</div>
|
||||
@@ -79,7 +80,7 @@
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">链接</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="value" required lay-verify="required" value="{$nav.value}"
|
||||
<input type="text" name="value" value="{$nav.value}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
@@ -114,7 +115,13 @@
|
||||
<input type="number" name="sort" value="{$nav.sort}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">状态</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="status" value="1" title="显示">
|
||||
<input type="radio" name="status" value="0" title="不显示">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-btn-fluid" type="submit">保存</button>
|
||||
</div>
|
||||
@@ -134,13 +141,14 @@
|
||||
<script>
|
||||
|
||||
|
||||
layui.use(['upload','form'], function () {
|
||||
layui.use(['upload', 'form'], function () {
|
||||
var upload = layui.upload
|
||||
var form = layui.form
|
||||
|
||||
form.val('*',{
|
||||
target:'{$nav->getData("target")}',
|
||||
xcx_type:'{$nav->getData("xcx_type")}',
|
||||
form.val('*', {
|
||||
target: '{$nav->getData("target")}',
|
||||
xcx_type: '{$nav->getData("xcx_type")}',
|
||||
status: '{$nav->getData("status")}',
|
||||
})
|
||||
|
||||
var uploadTitleImg = upload.render({
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
<th>名称</th>
|
||||
<th>链接</th>
|
||||
<th>排序</th>
|
||||
<th>状态</th>
|
||||
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
@@ -57,6 +58,7 @@
|
||||
|
||||
<td>{$vo.value}</td>
|
||||
<td>{$vo.sort}</td>
|
||||
<td>{$vo.status_name}</td>
|
||||
<td>
|
||||
<div class="layui-btn-container">
|
||||
<a class="layui-btn layui-btn-sm"
|
||||
|
||||
@@ -217,8 +217,8 @@
|
||||
<div class="layui-form-label">模板</div>
|
||||
<div class="layui-input-block">
|
||||
<select name="tpl_name">
|
||||
{volist name=':config("view_type.post")' id='tpl_name' key="tpl_fix"}
|
||||
<option value="{$tpl_fix}">{$tpl_name}</option>
|
||||
{volist name=':config("view_type.post")' id='tpl_name'}
|
||||
<option value="{$key}">{$tpl_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -221,8 +221,8 @@
|
||||
<div class="layui-form-label">模板</div>
|
||||
<div class="layui-input-block">
|
||||
<select name="tpl_name">
|
||||
{volist name=':config("view_type.post")' id='tpl_name' key="tpl_fix"}
|
||||
<option value="{$tpl_fix}">{$tpl_name}</option>
|
||||
{volist name=':config("view_type.post")' id='tpl_name'}
|
||||
<option value="{$key}">{$tpl_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
@@ -361,7 +361,7 @@
|
||||
|
||||
$.post('{:url("update")}', formData, function (result) {
|
||||
|
||||
layer.msg('添加成功')
|
||||
layer.msg('保存成功')
|
||||
setTimeout(() => {
|
||||
location.href = result.data.jump_to_url
|
||||
}, 1200);
|
||||
|
||||
@@ -40,11 +40,13 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>名称</th>
|
||||
<th >名称</th>
|
||||
<th>封面</th>
|
||||
<th>简介</th>
|
||||
<th >简介</th>
|
||||
<th>排序</th>
|
||||
<th>状态</th>
|
||||
<th>分类</th>
|
||||
<th>标签</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -53,12 +55,22 @@
|
||||
|
||||
<tr class="item" data-id="{$vo.id}">
|
||||
<td>{$vo.id}</td>
|
||||
<td>{$vo.title}</td>
|
||||
<td style="max-width: 160px;">{$vo.title}</td>
|
||||
|
||||
<td><img src="{$vo.poster}" alt=""></td>
|
||||
<td>{$vo.desc}</td>
|
||||
<td style="max-width: 200px;">{$vo.desc_short}</td>
|
||||
<td>{$vo.sort}</td>
|
||||
<td>{$vo.status_name}</td>
|
||||
<td>
|
||||
{volist name='vo.categorys_list' id='category'}
|
||||
<p>{:str_repeat('|--',$category.level)}{$category.title}</p>
|
||||
{/volist}
|
||||
</td>
|
||||
<td>
|
||||
{volist name='vo.tags_list' id='tag'}
|
||||
<span class="layui-badge layui-bg-blue">{$tag.title}</span>
|
||||
{/volist}
|
||||
</td>
|
||||
<td>
|
||||
<div class="layui-btn-container">
|
||||
<a class="layui-btn layui-btn-sm" href="{:url('edit',['id'=>$vo.id])}">编辑</a>
|
||||
|
||||
99
view/admin/system/easy_blue.html
Normal file
99
view/admin/system/easy_blue.html
Normal file
@@ -0,0 +1,99 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>系统管理</title>
|
||||
{include file="common/_require"}
|
||||
|
||||
<script>
|
||||
var currentHeaderNavItem = 'System';
|
||||
var currentLeftNavItem = 'easy_blue';
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="layui-layout-body">
|
||||
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
{include file="common/_header"}
|
||||
|
||||
{include file="common/left_system"}
|
||||
|
||||
<div class="layui-body">
|
||||
|
||||
<div style="padding:15px">
|
||||
<div class="main-header">
|
||||
<span class="layui-breadcrumb">
|
||||
<a>首页</a>
|
||||
<a><cite>系统设置</cite></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="main-container">
|
||||
<div class="layui-col-md6">
|
||||
<fieldset class="layui-elem-field">
|
||||
<legend>系统管理</legend>
|
||||
<div class="layui-field-box">
|
||||
<form class="layui-form" action="{:url('admin/System/update')}" method="post"
|
||||
lay-filter="*">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">首页块1标题前半部分</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="easy_index_block_1_title_1" value="{:get_system_config('easy_index_block_1_title_1')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">首页块1标题后半部分</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="easy_index_block_1_title_2" value="{:get_system_config('easy_index_block_1_title_2')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">首页块2标题前半部分</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="easy_index_block_2_title_1" value="{:get_system_config('easy_index_block_2_title_1')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">首页块2标题后半部分</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="easy_index_block_2_title_2" value="{:get_system_config('easy_index_block_2_title_2')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">首页底部查看链接跳转</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="easy_index_bottom_jump_url" value="{:get_system_config('easy_index_bottom_jump_url')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-btn-fluid" submit lay-submit lay-filter="site-info">保存</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{include file="common/_footer"}
|
||||
|
||||
<script>
|
||||
layui.use(['layer', 'form'], function () {
|
||||
|
||||
var form = layui.form;
|
||||
|
||||
form.val('*', {
|
||||
index_tpl_name: '{:get_system_config("index_tpl_name")}'
|
||||
})
|
||||
|
||||
})
|
||||
</script>
|
||||
</div>`
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -2,130 +2,243 @@
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>系统管理</title>
|
||||
{include file="common/_require"}
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>系统管理</title>
|
||||
{include file="common/_require"}
|
||||
|
||||
<script>
|
||||
var currentHeaderNavItem = 'System';
|
||||
var currentLeftNavItem = 'index';
|
||||
</script>
|
||||
<script>
|
||||
var currentHeaderNavItem = 'System';
|
||||
var currentLeftNavItem = 'index';
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="layui-layout-body">
|
||||
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
{include file="common/_header"}
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
{include file="common/_header"}
|
||||
|
||||
{include file="common/left_system"}
|
||||
{include file="common/left_system"}
|
||||
|
||||
<div class="layui-body">
|
||||
<div class="layui-body">
|
||||
|
||||
<div style="padding:15px">
|
||||
<div class="main-header">
|
||||
<span class="layui-breadcrumb">
|
||||
<a>首页</a>
|
||||
<a><cite>系统设置</cite></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="main-container">
|
||||
<div class="layui-col-md6">
|
||||
<fieldset class="layui-elem-field">
|
||||
<legend>系统管理</legend>
|
||||
<div class="layui-field-box">
|
||||
<form class="layui-form layui-form-pane" action="{:url('admin/System/update')}" method="post">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">网站名称</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_name" value="{:get_system_config('site_name')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">网站描述</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_desc" value="{:get_system_config('site_desc')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">网站logo</div>
|
||||
<div class="layui-input-block">
|
||||
<div>
|
||||
<div class="layui-btn upload-site-logo">上传logo</div>
|
||||
</div>
|
||||
<div>
|
||||
<img class="site-logo" style="max-width: 200px;" src="{:get_source_link(get_system_config('site_logo'))}" alt="">
|
||||
</div>
|
||||
<input type="hidden" name="site_logo" value="{:get_system_config('site_logo')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">备案号</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_beian" value="{:get_system_config('site_beian')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">主域名</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="main_domain" value="{:get_system_config('main_domain')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">资源域名</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="resource_domain" value="{:get_system_config('resource_domain')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<div class="layui-form-label">统计代码</div>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="site_tongji" class="layui-textarea">{:get_system_config('site_tongji')}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-btn-fluid" submit lay-submit lay-filter="site-info">保存</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding:15px">
|
||||
<div class="main-header">
|
||||
<span class="layui-breadcrumb">
|
||||
<a>首页</a>
|
||||
<a><cite>系统设置</cite></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="main-container">
|
||||
<div class="layui-col-md6">
|
||||
<fieldset class="layui-elem-field">
|
||||
<legend>系统管理</legend>
|
||||
<div class="layui-field-box">
|
||||
<form class="layui-form" action="{:url('admin/System/update')}" method="post">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">网站名称</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_name" value="{:get_system_config('site_name')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">网站描述</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_desc" value="{:get_system_config('site_desc')}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">网站logo</div>
|
||||
<div class="layui-input-block">
|
||||
<div>
|
||||
<div class="layui-btn upload-site-logo">上传logo</div>
|
||||
</div>
|
||||
<div>
|
||||
<img class="site-logo" style="max-width: 200px;"
|
||||
src="{:get_source_link(get_system_config('site_logo'))}" alt="">
|
||||
</div>
|
||||
<input type="hidden" name="site_logo" value="{:get_system_config('site_logo')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">备案号</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_beian" value="{:get_system_config('site_beian')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">公安备案号</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_safe_beian" value="{:get_system_config('site_safe_beian')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">公安备案跳转链接</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_safe_beian_url" value="{:get_system_config('site_safe_beian_url')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">版权描述</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_copyright" value="{:get_system_config('site_copyright')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">联系电话</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_contact_phone" value="{:get_system_config('site_contact_phone')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">工作时间</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_worktime" value="{:get_system_config('site_worktime')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">联系邮箱</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="stie_contact_email" value="{:get_system_config('stie_contact_email')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">二维码</div>
|
||||
<div class="layui-input-block">
|
||||
<div>
|
||||
<div class="layui-btn upload-site-qrcode">上传二维码</div>
|
||||
</div>
|
||||
<div>
|
||||
<img class="site-qrcode" style="max-width: 200px;"
|
||||
src="{:get_source_link(get_system_config('site_qrcode'))}" alt="">
|
||||
</div>
|
||||
<input type="hidden" name="site_qrcode" value="{:get_system_config('site_qrcode')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">站点fovicon</div>
|
||||
<div class="layui-input-block">
|
||||
<div>
|
||||
<div class="layui-btn upload-site-fovicon">上传fovicon</div>
|
||||
</div>
|
||||
<div>
|
||||
<img class="site-fovicon" style="max-width: 200px;"
|
||||
src="{:get_source_link(get_system_config('site_favicon'))}" alt="">
|
||||
</div>
|
||||
<input type="hidden" name="site_favicon" value="{:get_system_config('site_favicon')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">主域名</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="main_domain" value="{:get_system_config('main_domain')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-label">资源域名</div>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="resource_domain" value="{:get_system_config('resource_domain')}"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<div class="layui-form-label">统计代码</div>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="site_tongji" class="layui-textarea">{:get_system_config('site_tongji')}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-btn-fluid" submit lay-submit lay-filter="site-info">保存</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{include file="common/_footer"}
|
||||
{include file="common/_footer"}
|
||||
|
||||
<script>
|
||||
layui.use(['layer','upload'],function(){
|
||||
var upload = layui.upload;
|
||||
|
||||
<script>
|
||||
layui.use(['layer', 'upload'], function () {
|
||||
var upload = layui.upload;
|
||||
|
||||
var uploadSiteLogo = upload.render({
|
||||
elem:'.upload-site-logo',
|
||||
url:'{:url("api/Files/save")}',
|
||||
data:{
|
||||
type:1,
|
||||
dir:'site_logo'
|
||||
},
|
||||
accept:'images',
|
||||
done:function(result){
|
||||
if(result.code == 0){
|
||||
layer.msg('上传成功');
|
||||
$('input[name="site_logo"]').val(result.data.save_name);
|
||||
$('.site-logo').attr('src',result.data.src);
|
||||
}else{
|
||||
layer.msg(result.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
</script>
|
||||
</div>`
|
||||
var uploadSiteLogo = upload.render({
|
||||
elem: '.upload-site-logo',
|
||||
url: '{:url("api/Files/save")}',
|
||||
data: {
|
||||
type: 1,
|
||||
dir: 'site_logo'
|
||||
},
|
||||
accept: 'images',
|
||||
done: function (result) {
|
||||
if (result.code == 0) {
|
||||
layer.msg('上传成功');
|
||||
$('input[name="site_logo"]').val(result.data.save_name);
|
||||
$('.site-logo').attr('src', result.data.src);
|
||||
} else {
|
||||
layer.msg(result.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
var uploadSiteLogo = upload.render({
|
||||
elem: '.upload-site-qrcode',
|
||||
url: '{:url("api/Files/save")}',
|
||||
data: {
|
||||
type: 1,
|
||||
dir: 'site_logo'
|
||||
},
|
||||
accept: 'images',
|
||||
done: function (result) {
|
||||
if (result.code == 0) {
|
||||
layer.msg('上传成功');
|
||||
$('input[name="site_qrcode"]').val(result.data.save_name);
|
||||
$('.site-qrcode').attr('src', result.data.src);
|
||||
} else {
|
||||
layer.msg(result.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
var uploadSiteLogo = upload.render({
|
||||
elem: '.upload-site-fovicon',
|
||||
url: '{:url("api/Files/save")}',
|
||||
data: {
|
||||
type: 1,
|
||||
dir: 'site_logo'
|
||||
},
|
||||
accept: 'images',
|
||||
acceptMime:'image/x-icon',
|
||||
exts:'ico',
|
||||
done: function (result) {
|
||||
if (result.code == 0) {
|
||||
layer.msg('上传成功');
|
||||
$('input[name="site_favicon"]').val(result.data.save_name);
|
||||
$('.site-fovicon').attr('src', result.data.src);
|
||||
} else {
|
||||
layer.msg(result.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
</script>
|
||||
</div>`
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -40,10 +40,10 @@
|
||||
<div class="layui-form-label">选择主题</div>
|
||||
<div class="layui-input-block">
|
||||
<div>
|
||||
<input type="radio" name="index_tpl_name" value="" title="无">
|
||||
<input type="radio" name="index_tpl_name" value="" title="无-''">
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="index_tpl_name" value="easy_blue_" title="官网主题简约蓝">
|
||||
<input type="radio" name="index_tpl_name" value="easy_blue_" title="官网主题简约蓝-'easy_blue_'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
</head>
|
||||
<body>
|
||||
<h1>{$msg}</h1>
|
||||
<h2> <span id="counting">3</span>秒后跳转 <a href="{$jump_to_url}">立即跳转</a></h2>
|
||||
<h2> <span id="counting">3</span>秒后跳转 <a href="{$jump_to_url|raw}">立即跳转</a></h2>
|
||||
<script>
|
||||
var counting = 3;
|
||||
setInterval(() => {
|
||||
if(counting == 1){
|
||||
location.href = '{$jump_to_url}';
|
||||
location.href = '{$jump_to_url|raw}';
|
||||
}
|
||||
counting--
|
||||
document.getElementById('counting').innerHTML = counting
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
</head>
|
||||
<body>
|
||||
<h1>{$msg}</h1>
|
||||
<h2> <span id="counting">3</span>秒后跳转 <a href="{$jump_to_url}">立即跳转</a></h2>
|
||||
<h2> <span id="counting">3</span>秒后跳转 <a href="{$jump_to_url|raw}">立即跳转</a></h2>
|
||||
<script>
|
||||
var counting = 3;
|
||||
setInterval(() => {
|
||||
if(counting == 1){
|
||||
location.href = '{$jump_to_url}';
|
||||
location.href = '{$jump_to_url|raw}';
|
||||
}
|
||||
counting--
|
||||
document.getElementById('counting').innerHTML = counting
|
||||
|
||||
48
view/index/category/easy_blue_read_product.html
Normal file
48
view/index/category/easy_blue_read_product.html
Normal file
@@ -0,0 +1,48 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">
|
||||
<title>{:get_system_config('site_name')}-首页</title>
|
||||
|
||||
{include file='common/_easy_blue_require'/}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{include file='common/_easy_blue_header'/}
|
||||
<div style="margin-top: 80px;">
|
||||
|
||||
<!-- banner部分 -->
|
||||
<div class="banner product" style="background-image: url('{$category.title_img}');">
|
||||
<div class="title">
|
||||
<p>{$category.title}</p>
|
||||
<p class="en">{$category.desc}</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- main部分 -->
|
||||
<div class="main product">
|
||||
<div class="layui-container">
|
||||
{volist name='$category.posts_list' id='post'}
|
||||
|
||||
<div class="content layui-row">
|
||||
<div class="layui-col-xs12 layui-col-sm6 layui-col-md7 layui-col-lg6 content-img"><img
|
||||
src="{$post.poster}"></div>
|
||||
<div class="layui-col-xs12 layui-col-sm6 layui-col-md5 layui-col-lg6 right">
|
||||
<p class="label">{$post.title}</p>
|
||||
<p class="detail">{$post.desc_short}</p>
|
||||
<div><a href="{:url('Post/read',['id'=>$post.id])}">查看产品 ></a></div>
|
||||
</div>
|
||||
</div>
|
||||
{/volist}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{include file='common/_easy_blue_footer'/}
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
35
view/index/common/_easy_blue_footer.html
Normal file
35
view/index/common/_easy_blue_footer.html
Normal file
@@ -0,0 +1,35 @@
|
||||
<!-- footer部分 -->
|
||||
<div class="footer">
|
||||
<div class="layui-container">
|
||||
<p class="footer-web">
|
||||
{volist name='list_nav_friend_url' id='nav'}
|
||||
|
||||
<a href="{$nav.value}" target="{$nav.target}">{$nav.title}</a>
|
||||
{/volist}
|
||||
|
||||
</p>
|
||||
<div class="layui-row footer-contact">
|
||||
<div class="layui-col-sm2 layui-col-lg1"><img src="{:get_source_link(get_system_config('site_qrcode'))}"></div>
|
||||
<div class="layui-col-sm10 layui-col-lg11">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-sm6 layui-col-md8 layui-col-lg9">
|
||||
<p class="contact-top"><i class="layui-icon layui-icon-cellphone"></i> {:get_system_config('site_contact_phone')} ({:get_system_config('site_worktime')})</p>
|
||||
<p class="contact-bottom"><i class="layui-icon layui-icon-home"></i> {:get_system_config('stie_contact_email')}</span></p>
|
||||
</div>
|
||||
<div class="layui-col-sm6 layui-col-md4 layui-col-lg3">
|
||||
<p class="contact-top"><span class="right">{:get_system_config('site_copyright')}</p>
|
||||
<p class="contact-bottom">
|
||||
<span class="right"><a href="http://www.beian.miit.gov.cn/">{:get_system_config('site_beian')}</a></span>
|
||||
</p>
|
||||
{if !empty(get_system_config('site_safe_beian')) }
|
||||
|
||||
<p class="contact-bottom">
|
||||
<span class="right"><a href="{:get_system_config('site_safe_beian_url')}"><img src="/static/images/ghs.png" alt="" style="margin-right: 10px;">{:get_system_config('site_safe_beian')}</a></span>
|
||||
</p>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
23
view/index/common/_easy_blue_header.html
Normal file
23
view/index/common/_easy_blue_header.html
Normal file
@@ -0,0 +1,23 @@
|
||||
<!-- nav部分 -->
|
||||
<div class="nav index">
|
||||
<div class="layui-container">
|
||||
<!-- 公司logo -->
|
||||
<div class="nav-logo">
|
||||
<a href="{:url('index/Index/index')}">
|
||||
<img src="{:get_source_link(get_system_config('site_logo'))}" alt="{:get_system_config('site_name')}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-list">
|
||||
<button>
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
<ul class="layui-nav" lay-filter="">
|
||||
{volist name='list_header_nav' id='nav'}
|
||||
|
||||
<li class="layui-nav-item"><a href="{$nav.value}">{$nav.title}</a></li>
|
||||
{/volist}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
11
view/index/common/_easy_blue_require.html
Normal file
11
view/index/common/_easy_blue_require.html
Normal file
@@ -0,0 +1,11 @@
|
||||
{include file='common/_require'/}
|
||||
|
||||
<link rel="stylesheet" href="/static/css/index.easy_blue.css">
|
||||
|
||||
<script>
|
||||
|
||||
layui.config({
|
||||
base: '/static/js/'
|
||||
}).use('firm');
|
||||
|
||||
</script>
|
||||
25
view/index/common/_require.html
Normal file
25
view/index/common/_require.html
Normal file
@@ -0,0 +1,25 @@
|
||||
<link rel="stylesheet" href="/static/css/reset.css">
|
||||
<link rel="stylesheet" href="/static/css/pagination.css">
|
||||
<link rel="stylesheet" href="/static/lib/layui/css/layui.css">
|
||||
<script src="/static/lib/jquery/jquery-3.4.1.min.js"></script>
|
||||
<script src="/static/lib/jquery/jquery.cookie.js"></script>
|
||||
<script src="/static/lib/layui/layui.js"></script>
|
||||
<script src="/static/js/common.js"></script>
|
||||
|
||||
|
||||
<link rel="shortcut icon" href="{:get_source_link(get_system_config('site_favicon','/favicon.ico'))}" />
|
||||
<link rel="icon" href="{:get_source_link(get_system_config('site_favicon','/favicon.ico'))}" >
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
//JavaScript代码区域
|
||||
layui.use(['element', 'layer', 'util'], function () {
|
||||
var element = layui.element;
|
||||
var util = layui.util;
|
||||
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
{:get_system_config('site_tongji')}
|
||||
22
view/index/common/tpl_easy_blue.html
Normal file
22
view/index/common/tpl_easy_blue.html
Normal file
@@ -0,0 +1,22 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">
|
||||
<title>{:get_system_config('site_name')}-首页</title>
|
||||
|
||||
{include file='common/_easy_blue_require'/}
|
||||
</head>
|
||||
<body>
|
||||
{include file='common/_easy_blue_header'/}
|
||||
<div style="margin-top: 80px;">
|
||||
|
||||
</div>
|
||||
{include file='common/_easy_blue_footer'/}
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
143
view/index/index/easy_blue_index.html
Normal file
143
view/index/index/easy_blue_index.html
Normal file
@@ -0,0 +1,143 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">
|
||||
<title>{:get_system_config('site_name')}-首页</title>
|
||||
|
||||
{include file='common/_easy_blue_require'/}
|
||||
</head>
|
||||
<body>
|
||||
<!-- nav部分 -->
|
||||
<div class="nav index">
|
||||
<div class="layui-container">
|
||||
<!-- 公司logo -->
|
||||
<div class="nav-logo">
|
||||
<a href="index.html">
|
||||
<img src="{:get_source_link(get_system_config('site_logo'))}" alt="{:get_system_config('site_name')}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-list">
|
||||
<button>
|
||||
<span></span><span></span><span></span>
|
||||
</button>
|
||||
<ul class="layui-nav" lay-filter="">
|
||||
{volist name='list_header_nav' id='nav'}
|
||||
|
||||
<li class="layui-nav-item"><a href="{$nav.value}">{$nav.title}</a></li>
|
||||
{/volist}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- banner部分 -->
|
||||
<div>
|
||||
<div class="layui-carousel" id="banner">
|
||||
<div carousel-item>
|
||||
{volist name='list_nav_slide' id='nav'}
|
||||
|
||||
<a href="{$nav.value|default='javascript:;'}" target="{$nav.target}">
|
||||
<img src="{$nav.img}">
|
||||
<div class="panel">
|
||||
<p class="title">{$nav.title}</p>
|
||||
<p>{$nav.desc}</p>
|
||||
</div>
|
||||
</a>
|
||||
{/volist}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- main部分 -->
|
||||
<div class="main-product">
|
||||
<div class="layui-container">
|
||||
<p class="title">{:get_system_config('easy_index_block_1_title_1')}<span>{:get_system_config('easy_index_block_1_title_2')}</span></p>
|
||||
<div class="layui-row layui-col-space25">
|
||||
{volist name='list_nav_index_block_1' id='nav'}
|
||||
|
||||
<div class="layui-col-sm6 layui-col-md3">
|
||||
<div class="content">
|
||||
<div><img src="{$nav.img}"></div>
|
||||
<div>
|
||||
<p class="label">{$nav.title}</p>
|
||||
<p>{$nav.desc}</p>
|
||||
</div>
|
||||
<a href="{$nav.value}">查看产品 ></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-service">
|
||||
<div class="layui-container">
|
||||
<p class="title">{:get_system_config('easy_index_block_2_title_1')}<span>{:get_system_config('easy_index_block_2_title_2')}</span></p>
|
||||
<div class="layui-row layui-col-space25 layui-col-space80">
|
||||
{volist name='list_nav_index_block_2' id='nav'}
|
||||
|
||||
<div class="layui-col-sm6">
|
||||
<div class="content">
|
||||
<div class="content-left"><img src="{$nav.img}"></div>
|
||||
<div class="content-right">
|
||||
<p class="label">{$nav.title}</p>
|
||||
<span></span>
|
||||
<p>{$nav.desc}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/volist}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="service-more">
|
||||
{if !empty(get_system_config('easy_index_bottom_jump_url')) }
|
||||
<a href="{:get_system_config('easy_index_bottom_jump_url')}">查看更多</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer部分 -->
|
||||
<div class="footer">
|
||||
<div class="layui-container">
|
||||
<p class="footer-web">
|
||||
{volist name='list_nav_friend_url' id='nav'}
|
||||
|
||||
<a href="{$nav.value}" target="{$nav.target}">{$nav.title}</a>
|
||||
{/volist}
|
||||
|
||||
</p>
|
||||
<div class="layui-row footer-contact">
|
||||
<div class="layui-col-sm2 layui-col-lg1"><img src="{:get_system_config('site_qrcode')}"></div>
|
||||
<div class="layui-col-sm10 layui-col-lg11">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-sm6 layui-col-md8 layui-col-lg9">
|
||||
<p class="contact-top"><i class="layui-icon layui-icon-cellphone"></i> {:get_system_config('site_contact_phone')} ({:get_system_config('site_worktime')})</p>
|
||||
<p class="contact-bottom"><i class="layui-icon layui-icon-home"></i> {:get_system_config('stie_contact_email')}</span></p>
|
||||
</div>
|
||||
<div class="layui-col-sm6 layui-col-md4 layui-col-lg3">
|
||||
<p class="contact-top"><span class="right">{:get_system_config('site_copyright')}</p>
|
||||
<p class="contact-bottom">
|
||||
<span class="right"><a href="http://www.beian.miit.gov.cn/">{:get_system_config('site_beian')}</a></span>
|
||||
</p>
|
||||
{if !empty(get_system_config('site_safe_beian')) }
|
||||
|
||||
<p class="contact-bottom">
|
||||
<span class="right"><a href="{:get_system_config('site_safe_beian_url')}"><img src="/static/images/ghs.png" alt="" style="margin-right: 10px;">{:get_system_config('site_safe_beian')}</a></span>
|
||||
</p>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user