问答系统
0
application/admin/controller/Plugins.php
Normal file → Executable file
0
application/admin/controller/Pluginsadmin.php
Normal file → Executable file
0
application/admin/controller/Sqlconsole.php
Normal file → Executable file
0
application/admin/view/default/pluginsadmin/first_step.html
Normal file → Executable file
0
application/admin/view/default/pluginsadmin/index.html
Normal file → Executable file
0
application/admin/view/default/pluginsadmin/nav.html
Normal file → Executable file
0
application/admin/view/default/pluginsadmin/save_info.html
Normal file → Executable file
0
application/admin/view/default/pluginsadmin/upload.html
Normal file → Executable file
0
application/admin/view/default/public/error.html
Normal file → Executable file
0
application/admin/view/default/sqlconsole/index.html
Normal file → Executable file
0
application/common/Http.php
Normal file → Executable file
0
application/http/middleware/SystemEnvCheck.php
Normal file → Executable file
0
application/index/controller/Plugins.php
Normal file → Executable file
0
application/install/config/template.php
Normal file → Executable file
0
application/install/controller/Common.php
Normal file → Executable file
0
application/install/controller/Error.php
Normal file → Executable file
0
application/install/controller/Index.php
Normal file → Executable file
0
application/install/view/index/check.html
Normal file → Executable file
0
application/install/view/index/create.html
Normal file → Executable file
0
application/install/view/index/index.html
Normal file → Executable file
0
application/install/view/index/successful.html
Normal file → Executable file
0
application/middleware.php
Normal file → Executable file
198
application/plugins/answers/Admin.php
Normal file
@ -0,0 +1,198 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ShopXO 国内领先企业级B2C免费开源电商系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Devil
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\plugins\answers;
|
||||
|
||||
use think\Controller;
|
||||
use app\service\PluginsService;
|
||||
use app\plugins\answers\Service;
|
||||
|
||||
/**
|
||||
* 问答 - 后台管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class Admin extends Controller
|
||||
{
|
||||
/**
|
||||
* 首页
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-02-07T08:21:54+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function index($params = [])
|
||||
{
|
||||
// 基础数据
|
||||
$base = PluginsService::PluginsData('answers', ['images']);
|
||||
$this->assign('data', isset($base['data']) ? $base['data'] : []);
|
||||
|
||||
// 幻灯片
|
||||
$data_params = array(
|
||||
'where' => ['is_enable'=>1],
|
||||
);
|
||||
$slider = Service::SlideList($data_params);
|
||||
$this->assign('slider', isset($slider['data']) ? $slider['data'] : []);
|
||||
|
||||
|
||||
return $this->fetch('../../../plugins/view/answers/admin/index');
|
||||
}
|
||||
|
||||
/**
|
||||
* 基础信息编辑页面
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-02-07T08:21:54+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function baseinfo($params = [])
|
||||
{
|
||||
$ret = PluginsService::PluginsData('answers', ['images']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
// 是否
|
||||
$is_whether_list = [
|
||||
0 => array('id' => 0, 'name' => '否', 'checked' => true),
|
||||
1 => array('id' => 1, 'name' => '是'),
|
||||
];
|
||||
|
||||
$this->assign('is_whether_list', $is_whether_list);
|
||||
$this->assign('data', $ret['data']);
|
||||
return $this->fetch('../../../plugins/view/answers/admin/baseinfo');
|
||||
} else {
|
||||
return $ret['msg'];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 基础数据保存
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-02-07T08:21:54+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function basesave($params = [])
|
||||
{
|
||||
return PluginsService::PluginsDataSave(['plugins'=>'answers', 'data'=>$params], ['images']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 幻灯片页面
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-02-07T08:21:54+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function slider($params = [])
|
||||
{
|
||||
$ret = Service::SlideList();
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
$this->assign('data_list', $ret['data']);
|
||||
return $this->fetch('../../../plugins/view/answers/admin/slider');
|
||||
} else {
|
||||
return $ret['msg'];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 幻灯片编辑
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-02-07T08:21:54+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function sliderinfo($params = [])
|
||||
{
|
||||
// 参数
|
||||
$params = input();
|
||||
|
||||
// 数据
|
||||
if(!empty($params['id']))
|
||||
{
|
||||
$data_params = array(
|
||||
'where' => ['id'=>intval($params['id'])],
|
||||
);
|
||||
$ret = Service::SlideList($data_params);
|
||||
$this->assign('data', empty($ret['data'][0]) ? [] : $ret['data'][0]);
|
||||
}
|
||||
|
||||
return $this->fetch('../../../plugins/view/answers/admin/sliderinfo');
|
||||
}
|
||||
|
||||
/**
|
||||
* 幻灯片保存
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-02-07T08:21:54+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function slidersave($params = [])
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
return $this->error('非法访问');
|
||||
}
|
||||
|
||||
// 开始处理
|
||||
$params = input();
|
||||
return Service::SlideSave($params);
|
||||
}
|
||||
|
||||
/**
|
||||
* 幻灯片删除
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-15T11:03:30+0800
|
||||
*/
|
||||
public function sliderdelete()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
return $this->error('非法访问');
|
||||
}
|
||||
|
||||
// 开始处理
|
||||
$params = input();
|
||||
return Service::SlideDelete($params);
|
||||
}
|
||||
|
||||
/**
|
||||
* 幻灯片状态更新
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2017-01-12T22:23:06+0800
|
||||
*/
|
||||
public function sliderstatusupdate()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
return $this->error('非法访问');
|
||||
}
|
||||
|
||||
// 开始处理
|
||||
$params = input();
|
||||
return Service::SlideStatusUpdate($params);
|
||||
}
|
||||
}
|
||||
?>
|
34
application/plugins/answers/Hook.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
namespace app\plugins\answers;
|
||||
|
||||
use think\Controller;
|
||||
|
||||
/**
|
||||
* 问答 - 钩子入口
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class Hook extends Controller
|
||||
{
|
||||
// 应用响应入口
|
||||
public function run($params = [])
|
||||
{
|
||||
// 是否控制器钩子
|
||||
// is_backend 当前为后端业务处理
|
||||
// hook_name 钩子名称
|
||||
if(isset($params['is_backend']) && $params['is_backend'] === true && !empty($params['hook_name']))
|
||||
{
|
||||
// 参数一 描述
|
||||
// 参数二 0 为处理成功, 负数为失败
|
||||
// 参数三 返回数据
|
||||
return DataReturn('返回描述', 0);
|
||||
|
||||
// 默认返回视图
|
||||
} else {
|
||||
return 'hello world!';
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
24
application/plugins/answers/Index.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
namespace app\plugins\answers;
|
||||
|
||||
use think\Controller;
|
||||
|
||||
/**
|
||||
* 问答 - 前端独立页面入口
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class Index extends Controller
|
||||
{
|
||||
// 前端页面入口
|
||||
public function index($params = [])
|
||||
{
|
||||
// 数组组装
|
||||
$this->assign('data', ['hello', 'world!']);
|
||||
$this->assign('msg', 'hello world! index');
|
||||
return $this->fetch('../../../plugins/view/answers/index/index');
|
||||
}
|
||||
}
|
||||
?>
|
208
application/plugins/answers/Service.php
Normal file
@ -0,0 +1,208 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ShopXO 国内领先企业级B2C免费开源电商系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Devil
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\plugins\answers;
|
||||
|
||||
use think\Db;
|
||||
use app\service\GoodsService;
|
||||
use app\service\ResourcesService;
|
||||
|
||||
/**
|
||||
* 问答系统服务层
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class Service
|
||||
{
|
||||
/**
|
||||
* 幻灯片数据列表
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-08-29
|
||||
* @desc description
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function SlideList($params = [])
|
||||
{
|
||||
$where = empty($params['where']) ? [] : $params['where'];
|
||||
$data = Db::name('PluginsAnswersSlide')->where($where)->order('sort asc')->select();
|
||||
if(!empty($data))
|
||||
{
|
||||
$common_is_enable_tips = lang('common_is_enable_tips');
|
||||
foreach($data as &$v)
|
||||
{
|
||||
// 是否启用
|
||||
$v['is_enable_text'] = $common_is_enable_tips[$v['is_enable']]['name'];
|
||||
|
||||
// 图片地址
|
||||
$v['images_url_old'] = $v['images_url'];
|
||||
$v['images_url'] = ResourcesService::AttachmentPathViewHandle($v['images_url']);
|
||||
|
||||
// 时间
|
||||
$v['add_time_time'] = date('Y-m-d H:i:s', $v['add_time']);
|
||||
$v['add_time_date'] = date('Y-m-d', $v['add_time']);
|
||||
$v['upd_time_time'] = date('Y-m-d H:i:s', $v['upd_time']);
|
||||
$v['upd_time_date'] = date('Y-m-d', $v['upd_time']);
|
||||
}
|
||||
}
|
||||
return DataReturn('处理成功', 0, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 幻灯片数据保存
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-12-19
|
||||
* @desc description
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function SlideSave($params = [])
|
||||
{
|
||||
// 请求类型
|
||||
$p = [
|
||||
[
|
||||
'checked_type' => 'length',
|
||||
'key_name' => 'name',
|
||||
'checked_data' => '2,60',
|
||||
'error_msg' => '名称长度 2~60 个字符',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'images_url',
|
||||
'checked_data' => '255',
|
||||
'error_msg' => '请上传图片',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'fun',
|
||||
'key_name' => 'url',
|
||||
'checked_data' => 'CheckUrl',
|
||||
'error_msg' => 'url格式有误',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'length',
|
||||
'key_name' => 'sort',
|
||||
'checked_data' => '3',
|
||||
'error_msg' => '顺序 0~255 之间的数值',
|
||||
],
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
if($ret !== true)
|
||||
{
|
||||
return DataReturn($ret, -1);
|
||||
}
|
||||
|
||||
// 附件
|
||||
$data_fields = ['images_url'];
|
||||
$attachment = ResourcesService::AttachmentParams($params, $data_fields);
|
||||
|
||||
// 数据
|
||||
$data = [
|
||||
'name' => $params['name'],
|
||||
'url' => $params['url'],
|
||||
'images_url' => $attachment['data']['images_url'],
|
||||
'sort' => intval($params['sort']),
|
||||
'is_enable' => isset($params['is_enable']) ? intval($params['is_enable']) : 0,
|
||||
];
|
||||
|
||||
if(empty($params['id']))
|
||||
{
|
||||
$data['add_time'] = time();
|
||||
if(Db::name('PluginsAnswersSlide')->insertGetId($data) > 0)
|
||||
{
|
||||
return DataReturn('添加成功', 0);
|
||||
}
|
||||
return DataReturn('添加失败', -100);
|
||||
} else {
|
||||
$data['upd_time'] = time();
|
||||
if(Db::name('PluginsAnswersSlide')->where(['id'=>intval($params['id'])])->update($data))
|
||||
{
|
||||
return DataReturn('编辑成功', 0);
|
||||
}
|
||||
return DataReturn('编辑失败', -100);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 幻灯片删除
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-12-18
|
||||
* @desc description
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function SlideDelete($params = [])
|
||||
{
|
||||
// 请求参数
|
||||
$p = [
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'id',
|
||||
'error_msg' => '操作id有误',
|
||||
],
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
if($ret !== true)
|
||||
{
|
||||
return DataReturn($ret, -1);
|
||||
}
|
||||
|
||||
// 删除操作
|
||||
if(Db::name('PluginsAnswersSlide')->where(['id'=>$params['id']])->delete())
|
||||
{
|
||||
return DataReturn('删除成功');
|
||||
}
|
||||
|
||||
return DataReturn('删除失败或资源不存在', -100);
|
||||
}
|
||||
|
||||
/**
|
||||
* 幻灯片状态更新
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function SlideStatusUpdate($params = [])
|
||||
{
|
||||
// 请求参数
|
||||
$p = [
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'id',
|
||||
'error_msg' => '操作id有误',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'in',
|
||||
'key_name' => 'state',
|
||||
'checked_data' => [0,1],
|
||||
'error_msg' => '状态有误',
|
||||
],
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
if($ret !== true)
|
||||
{
|
||||
return DataReturn($ret, -1);
|
||||
}
|
||||
|
||||
// 数据更新
|
||||
if(Db::name('PluginsAnswersSlide')->where(['id'=>intval($params['id'])])->update(['is_enable'=>intval($params['state'])]))
|
||||
{
|
||||
return DataReturn('编辑成功');
|
||||
}
|
||||
return DataReturn('编辑失败或数据未改变', -100);
|
||||
}
|
||||
}
|
||||
?>
|
22
application/plugins/answers/config.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"base":{
|
||||
"plugins":"answers",
|
||||
"name":"问答",
|
||||
"logo":"\/static\/upload\/images\/plugins_answers\/2019\/03\/06\/1551853529634743.png",
|
||||
"author":"Devil",
|
||||
"author_url":"https:\/\/shopxo.net\/",
|
||||
"version":"1.0.0",
|
||||
"desc":"问答系统",
|
||||
"apply_terminal":[
|
||||
"pc",
|
||||
"h5"
|
||||
],
|
||||
"apply_version":[
|
||||
"1.4.0"
|
||||
],
|
||||
"is_home":true
|
||||
},
|
||||
"hook":{
|
||||
|
||||
}
|
||||
}
|
0
application/plugins/commonrightnavigation/Index.php
Normal file → Executable file
0
application/plugins/usernotloginhidegoodsprice/Admin.php
Normal file → Executable file
0
application/plugins/usernotloginhidegoodsprice/Hook.php
Normal file → Executable file
0
application/plugins/usernotloginhidegoodsprice/config.json
Normal file → Executable file
54
application/plugins/view/answers/admin/baseinfo.html
Executable file
@ -0,0 +1,54 @@
|
||||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation view-save" action="{{:PluginsAdminUrl('answers', 'admin', 'basesave')}}" method="POST" request-type="ajax-url" request-value="{{:PluginsAdminUrl('answers', 'admin', 'index')}}" enctype="multipart/form-data">
|
||||
<legend>
|
||||
<span class="fs-16">问答系统</span>
|
||||
<a href="{{:PluginsAdminUrl('answers', 'admin', 'index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="block">中间横幅<span class="fs-12 fw-100 cr-999">(建议1200像数X80像数)</span></label>
|
||||
<ul class="plug-file-upload-view plugins-images-view" data-form-name="images" data-max-number="1" data-dialog-type="images">
|
||||
{{if !empty($data['images_old'])}}
|
||||
<li>
|
||||
<input type="text" name="images" value="{{$data.images_old}}" data-validation-message="请上传图片" required />
|
||||
<img src="{{$data.images}}" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.plugins-images-view">+上传图片</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>链接地址<span class="fs-12 fw-100 cr-999">(带http://或https://)</span></label>
|
||||
<input type="url" placeholder="链接地址" name="url" data-validation-message="链接地址格式有误" class="am-radius" {{if !empty($data)}} value="{{$data.url}}"{{/if}} />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>是否新窗口打开</label>
|
||||
<div>
|
||||
{{foreach $is_whether_list as $v}}
|
||||
<label class="am-radio-inline m-r-10">
|
||||
<input type="radio" name="is_new_window_open" value="{{$v.id}}" {{if isset($data['is_new_window_open']) and $data['is_new_window_open'] eq $v['id']}}checked="checked"{{else /}}{{if !isset($data['is_new_window_open']) and isset($v['checked']) and $v['checked'] eq true}}checked="checked"{{/if}}{{/if}} data-am-ucheck /> {{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100" data-am-loading="{loadingText:'处理中...'}">保存</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
143
application/plugins/view/answers/admin/index.html
Normal file
@ -0,0 +1,143 @@
|
||||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<legend>
|
||||
<span class="fs-16">问答系统</span>
|
||||
<a href="{{:MyUrl('admin/pluginsadmin/index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
|
||||
<div class="answers-content">
|
||||
<!-- 基础数据 -->
|
||||
<div class="am-panel am-panel-secondary answers-middle-banner">
|
||||
<div class="am-panel-hd">
|
||||
<span class="am-panel-title">基础数据</span>
|
||||
<a class="am-fr" href="{{:PluginsAdminUrl('answers', 'admin', 'baseinfo')}}">编辑</a>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
<div class="items">
|
||||
<label>中间横幅</label>
|
||||
<div class="immages-tag">
|
||||
<a href="{{if empty($data['url'])}}javascript:;{{else /}}{{$data.url}}{{/if}}" {{if isset($data['is_new_window_open']) and $data['is_new_window_open'] eq 1}} target="_blank"{{/if}}>
|
||||
<img src="{{if !empty($data['images'])}}{{$data.images}}{{else /}}{{$attachment_host}}/static/plugins/images/answers/default-images.png{{/if}}" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="items">
|
||||
<label>右侧热门问答名称</label>
|
||||
<div>
|
||||
{{if empty($data['right_top_hot_name'])}}
|
||||
热门问答
|
||||
{{else /}}
|
||||
{{$data.right_top_hot_name}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="items">
|
||||
<label>中间最新问答名称</label>
|
||||
<div>
|
||||
{{if empty($data['right_middle_new_name'])}}
|
||||
最新问答
|
||||
{{else /}}
|
||||
{{$data.right_middle_new_name}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="items">
|
||||
<label>右侧推荐商品名称</label>
|
||||
<div>
|
||||
{{if empty($data['right_top_goods_name'])}}
|
||||
推荐商品
|
||||
{{else /}}
|
||||
{{$data.right_top_goods_name}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 幻灯片 -->
|
||||
<div class="am-panel am-panel-secondary answers-slider">
|
||||
<div class="am-panel-hd">
|
||||
<span class="am-panel-title">幻灯片</span>
|
||||
<a class="am-fr" href="{{:PluginsAdminUrl('answers', 'admin', 'slider')}}">编辑</a>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
{{if !empty($slider)}}
|
||||
<div data-am-widget="slider" class="am-slider am-slider-c3" data-am-slider='{"controlNav":false}'>
|
||||
<ul class="am-slides">
|
||||
{{foreach $slider as $k=>$v}}
|
||||
<li>
|
||||
<a href="{{$v.url}}">
|
||||
<img src="{{$v.images_url}}">
|
||||
<div class="am-slider-desc">
|
||||
<div class="am-slider-counter">
|
||||
<span class="am-active">{{$k+1}}</span>/{{:count($slider)}}</div>
|
||||
{{$v.name}}
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
{{else /}}
|
||||
没有幻灯片
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 右侧商品 -->
|
||||
<div class="am-panel am-panel-secondary answers-goods">
|
||||
<div class="am-panel-hd">
|
||||
<span class="am-panel-title">右侧商品</span>
|
||||
<a class="am-fr" href="{{:PluginsAdminUrl('answers', 'admin', 'goodsinfo')}}">编辑</a>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
<ul data-am-widget="gallery" class="am-gallery am-avg-sm-2 am-avg-md-4 am-avg-lg-8 am-gallery-bordered" data-am-gallery="{ }" >
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-1.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-1.jpg" alt="远方 有一个地方 那里种有我们的梦想"/>
|
||||
<h3 class="am-gallery-title">远方 有一个地方 那里种有我们的梦想</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-2.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-2.jpg" alt="某天 也许会相遇 相遇在这个好地方"/>
|
||||
<h3 class="am-gallery-title">某天 也许会相遇 相遇在这个好地方</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-3.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-3.jpg" alt="不要太担心 只因为我相信"/>
|
||||
<h3 class="am-gallery-title">不要太担心 只因为我相信</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-4.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-4.jpg" alt="终会走过这条遥远的道路"/>
|
||||
<h3 class="am-gallery-title">终会走过这条遥远的道路</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
70
application/plugins/view/answers/admin/slider.html
Normal file
@ -0,0 +1,70 @@
|
||||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<legend>
|
||||
<span class="fs-16">问答系统</span>
|
||||
<a href="{{:PluginsAdminUrl('answers', 'admin', 'index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
|
||||
<div class="answers-content">
|
||||
<!-- operation start -->
|
||||
<div class="am-g m-t-15">
|
||||
<a href="{{:PluginsAdminUrl('answers', 'admin', 'sliderinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> 新增</a>
|
||||
</div>
|
||||
<!-- operation end -->
|
||||
|
||||
<!-- list start -->
|
||||
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-10">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>名称</th>
|
||||
<th>图片</th>
|
||||
<th>url地址</th>
|
||||
<th>是否启用</th>
|
||||
<th>创建时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if !empty($data_list)}}
|
||||
{{foreach $data_list as $v}}
|
||||
<tr id="data-list-{{$v.id}}" {{if $v['is_enable'] eq 0}}class="am-active"{{/if}}>
|
||||
<td>{{$v.name}}</td>
|
||||
<td {{if !empty($v['bg_color'])}}style="background-color:{{$v.bg_color}};"{{/if}}>
|
||||
{{if !empty($v['images_url'])}}
|
||||
<a href="{{$v['images_url']}}" target="_blank">
|
||||
<img src="{{$v['images_url']}}" class="am-radius" width="100" height="60" />
|
||||
</a>
|
||||
{{else /}}
|
||||
<span class="cr-ddd">暂无图片</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>{{$v.url}}</td>
|
||||
<td class="am-hide-sm-only">
|
||||
<a href="javascript:;" class="am-icon-btn am-icon-check submit-state {{if $v['is_enable'] eq 1}}am-success{{else /}}am-default{{/if}}" data-url="{{:PluginsAdminUrl('answers', 'admin', 'sliderstatusupdate')}}" data-id="{{$v.id}}" data-state="{{$v['is_enable']}}" data-is-update-status="1"></a>
|
||||
</td>
|
||||
<td>{{$v.add_time_time}}</td>
|
||||
<td class="view-operation">
|
||||
<a href="{{:PluginsAdminUrl('answers', 'admin', 'sliderinfo', ['id'=>$v['id']])}}">
|
||||
<button class="am-btn am-btn-secondary am-btn-xs am-radius am-icon-edit"> 编辑</button>
|
||||
</a>
|
||||
<button class="am-btn am-btn-danger am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:PluginsAdminUrl('answers', 'admin', 'sliderdelete')}}" data-id="{{$v.id}}"> 删除</button>
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{else /}}
|
||||
<tr><td colspan="5" class="table-no">没有相关数据</td></tr>
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- list end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
64
application/plugins/view/answers/admin/sliderinfo.html
Normal file
@ -0,0 +1,64 @@
|
||||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<legend>
|
||||
<span class="fs-16">
|
||||
{{if empty($data['id'])}}
|
||||
幻灯片添加
|
||||
{{else /}}
|
||||
幻灯片编辑
|
||||
{{/if}}
|
||||
</span>
|
||||
<a href="{{:PluginsAdminUrl('answers', 'admin', 'slider')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
|
||||
<div class="answers-content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation view-save" action="{{:PluginsAdminUrl('answers', 'admin', 'slidersave')}}" method="POST" request-type="ajax-url" request-value="{{:PluginsAdminUrl('answers', 'admin', 'slider')}}" enctype="multipart/form-data">
|
||||
<div class="am-form-group">
|
||||
<label>名称</label>
|
||||
<input type="text" name="name" placeholder="名称" minlength="2" maxlength="60" data-validation-message="名称格式 2~60 个字符" class="am-radius" {{if !empty($data)}} value="{{$data.name}}"{{/if}} required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>url地址<span class="fs-12 fw-100 cr-ccc">(带http://或https://)</span></label>
|
||||
<input type="url" placeholder="url地址" name="url" data-validation-message="url格式有误" class="am-radius" {{if !empty($data)}} value="{{$data.url}}"{{/if}} required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="block">图片</label>
|
||||
<ul class="plug-file-upload-view slide-images_url-images-view" data-form-name="images_url" data-max-number="1" data-delete="0" data-dialog-type="images">
|
||||
<li>
|
||||
<input type="text" name="images_url" value="{{if !empty($data['images_url'])}}{{$data.images_url}}{{/if}}" data-validation-message="请上传图片" required />
|
||||
<img src="{{if !empty($data['images_url'])}}{{$data.images_url}}{{else /}}{{$attachment_host}}/static/plugins/images/answers/default-images.png{{/if}}" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.slide-images_url-images-view">+上传图片</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>顺序</label>
|
||||
<input type="number" placeholder="顺序" name="sort" min="0" max="255" data-validation-message="顺序 0~255 之间的数值" class="am-radius" value="{{if isset($data['sort'])}}{{$data.sort}}{{else /}}0{{/if}}" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="block">是否启用</label>
|
||||
<input name="is_enable" value="1" type="checkbox" data-off-text="否" data-on-text="是" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if (!empty($data) and $data['is_enable'] eq 1) or empty($data)}}checked="true"{{/if}} />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<input type="hidden" name="id" {{if !empty($data)}} value="{{$data.id}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100" data-am-loading="{loadingText:'处理中...'}">保存</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
224
application/plugins/view/answers/index/index.html
Normal file
@ -0,0 +1,224 @@
|
||||
{{include file="public/header" /}}
|
||||
|
||||
<!-- nav start -->
|
||||
{{include file="public/nav" /}}
|
||||
<!-- nav end -->
|
||||
|
||||
<!-- header top nav -->
|
||||
{{include file="public/header_top_nav" /}}
|
||||
|
||||
<!-- search -->
|
||||
{{include file="public/nav_search" /}}
|
||||
|
||||
<!-- header nav -->
|
||||
{{include file="public/header_nav" /}}
|
||||
|
||||
<!-- goods category -->
|
||||
{{include file="public/goods_category" /}}
|
||||
|
||||
<!-- content start -->
|
||||
<div class="am-g am-container plugins-answers">
|
||||
<div class="answers-top">
|
||||
<!-- 幻灯片 -->
|
||||
<div class="am-u-md-8 answers-slider">
|
||||
<div data-am-widget="slider" class="am-slider am-slider-c3" data-am-slider='{"controlNav":false}' >
|
||||
<ul class="am-slides">
|
||||
<li>
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-1.jpg">
|
||||
<div class="am-slider-desc"><div class="am-slider-counter"><span class="am-active">1</span>/4</div>远方 有一个地方 那里种有我们的梦想</div>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-2.jpg">
|
||||
<div class="am-slider-desc"><div class="am-slider-counter"><span class="am-active">2</span>/4</div>某天 也许会相遇 相遇在这个好地方</div>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-3.jpg">
|
||||
<div class="am-slider-desc"><div class="am-slider-counter"><span class="am-active">3</span>/4</div>不要太担心 只因为我相信 终会走过这条遥远的道路</div>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-4.jpg">
|
||||
<div class="am-slider-desc"><div class="am-slider-counter"><span class="am-active">4</span>/4</div>OH PARA PARADISE 是否那么重要 你是否那么地遥远</div>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 右侧列表 -->
|
||||
<div class="am-u-md-4 answers-sidebar">
|
||||
<div data-am-widget="list_news" class="am-list-news am-list-news-default" >
|
||||
<!--列表标题-->
|
||||
<div class="am-list-news-hd am-cf">
|
||||
<!--带更多链接-->
|
||||
<a href="##" class="">
|
||||
<h2>热门问答</h2>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="am-list-news-bd">
|
||||
<ul class="am-list">
|
||||
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">我很囧,你保重....晒晒旅行中的那些囧!</a>
|
||||
<span class="am-list-date">2013-09-18</span>
|
||||
</li>
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">我最喜欢的一张画</a>
|
||||
<span class="am-list-date">2013-10-14</span>
|
||||
</li>
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">“你的旅行,是什么颜色?” 晒照片,换北欧梦幻极光之旅!</a>
|
||||
<span class="am-list-date">2013-11-18</span>
|
||||
</li>
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">我很囧,你保重....晒晒旅行中的那些囧!</a>
|
||||
<span class="am-list-date">2013-09-18</span>
|
||||
</li>
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">我最喜欢的一张画</a>
|
||||
<span class="am-list-date">2013-10-14</span>
|
||||
</li>
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">“你的旅行,是什么颜色?” 晒照片,换北欧梦幻极光之旅!</a>
|
||||
<span class="am-list-date">2013-11-18</span>
|
||||
</li>
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">我很囧,你保重....晒晒旅行中的那些囧!</a>
|
||||
<span class="am-list-date">2013-09-18</span>
|
||||
</li>
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">我最喜欢的一张画</a>
|
||||
<span class="am-list-date">2013-10-14</span>
|
||||
</li>
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">“你的旅行,是什么颜色?” 晒照片,换北欧梦幻极光之旅!</a>
|
||||
<span class="am-list-date">2013-11-18</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="answers-middle-banner">
|
||||
<img src="http://tp5-dev.com/static/upload/images/plugins_commontopmaxpicture/2019/02/09/1549671733978860.jpg" />
|
||||
</div>
|
||||
|
||||
|
||||
<div class="am-u-md-8 answers-middle-list">
|
||||
<div data-am-widget="list_news" class="am-list-news am-list-news-default" >
|
||||
<div class="am-list-news-hd am-cf">
|
||||
<!--带更多链接-->
|
||||
<a href="##" class="">
|
||||
<h2>最新问答</h2>
|
||||
</a>
|
||||
</div>
|
||||
<div class="am-list-news-bd">
|
||||
<ul class="am-list">
|
||||
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">我很囧,你保重....晒晒旅行中的那些囧!</a>
|
||||
|
||||
<span class="am-list-date">2013-09-18</span>
|
||||
</li>
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">我最喜欢的一张画</a>
|
||||
|
||||
<span class="am-list-date">2013-10-14</span>
|
||||
</li>
|
||||
<li class="am-g am-list-item-dated">
|
||||
<a href="##" class="am-list-item-hd ">“你的旅行,是什么颜色?” 晒照片,换北欧梦幻极光之旅!</a>
|
||||
|
||||
<span class="am-list-date">2013-11-18</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-u-md-4 answers-goods">
|
||||
<div class="am-list-news-hd am-cf">
|
||||
<!--带更多链接-->
|
||||
<a href="##" class="">
|
||||
<h2>推荐商品</h2>
|
||||
</a>
|
||||
</div>
|
||||
<ul data-am-widget="gallery" class="am-gallery am-avg-sm-2 am-avg-md-2 am-avg-lg-2 am-gallery-bordered" data-am-gallery="{ }" >
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-1.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-1.jpg" alt="远方 有一个地方 那里种有我们的梦想"/>
|
||||
<h3 class="am-gallery-title">远方 有一个地方 那里种有我们的梦想</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-2.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-2.jpg" alt="某天 也许会相遇 相遇在这个好地方"/>
|
||||
<h3 class="am-gallery-title">某天 也许会相遇 相遇在这个好地方</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-3.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-3.jpg" alt="不要太担心 只因为我相信"/>
|
||||
<h3 class="am-gallery-title">不要太担心 只因为我相信</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-4.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-4.jpg" alt="终会走过这条遥远的道路"/>
|
||||
<h3 class="am-gallery-title">终会走过这条遥远的道路</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-2.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-2.jpg" alt="某天 也许会相遇 相遇在这个好地方"/>
|
||||
<h3 class="am-gallery-title">某天 也许会相遇 相遇在这个好地方</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-3.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-3.jpg" alt="不要太担心 只因为我相信"/>
|
||||
<h3 class="am-gallery-title">不要太担心 只因为我相信</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-4.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-4.jpg" alt="终会走过这条遥远的道路"/>
|
||||
<h3 class="am-gallery-title">终会走过这条遥远的道路</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="http://s.amazeui.org/media/i/demos/bing-4.jpg" class="">
|
||||
<img src="http://s.amazeui.org/media/i/demos/bing-4.jpg" alt="终会走过这条遥远的道路"/>
|
||||
<h3 class="am-gallery-title">终会走过这条遥远的道路</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<!-- content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
0
application/service/PluginsAdminService.php
Normal file → Executable file
0
application/service/PluginsService.php
Normal file → Executable file
0
application/service/SqlconsoleService.php
Normal file → Executable file
0
application/service/StatisticalService.php
Normal file → Executable file
0
config/.gitignore
vendored
Normal file → Executable file
0
config/shopxo.php
Normal file → Executable file
156
config/shopxo.sql
Normal file → Executable file
0
extend/base/Wechat.php
Normal file → Executable file
0
extend/payment/Weixin.php
Normal file → Executable file
0
extend/phpmailer/Exception.php
Normal file → Executable file
0
extend/phpmailer/PHPMailer.php
Normal file → Executable file
0
extend/phpmailer/POP3.php
Normal file → Executable file
0
extend/phpmailer/SMTP.php
Normal file → Executable file
0
public/appmini/old/.gitignore
vendored
Normal file → Executable file
0
public/appmini/old/weixin/components/badge/badge.js
Normal file → Executable file
0
public/appmini/old/weixin/components/badge/badge.json
Normal file → Executable file
0
public/appmini/old/weixin/components/badge/badge.wxml
Normal file → Executable file
0
public/appmini/old/weixin/components/badge/badge.wxss
Normal file → Executable file
0
public/appmini/old/weixin/components/popup/popup.js
Normal file → Executable file
0
public/appmini/old/weixin/components/popup/popup.json
Normal file → Executable file
0
public/appmini/old/weixin/components/popup/popup.wxml
Normal file → Executable file
0
public/appmini/old/weixin/components/popup/popup.wxss
Normal file → Executable file
0
public/appmini/old/weixin/images/default-toast-error.png
Normal file → Executable file
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
0
public/favicon.ico
Normal file → Executable file
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
0
public/htaccess-iis
Normal file → Executable file
0
public/htaccess-nginx
Normal file → Executable file
0
public/static/admin/default/css/index.init.css
Normal file → Executable file
0
public/static/admin/default/css/pluginsadmin.css
Normal file → Executable file
0
public/static/common/lib/animation-count-to/animation.count.to.js
Normal file → Executable file
0
public/static/common/lib/echarts/echarts.min.js
vendored
Normal file → Executable file
0
public/static/common/lib/echarts/macarons.js
Normal file → Executable file
0
public/static/index/default/images/preview.jpg
Normal file → Executable file
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
0
public/static/index/default/js/order.qrcodepay.js
Normal file → Executable file
38
public/static/plugins/css/answers/admin.css
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* 首页
|
||||
*/
|
||||
.answers-content .items {
|
||||
margin: 10px 0 20px 0;
|
||||
border-bottom: 1px dashed #f1f1f1;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.answers-content .items .immages-tag {
|
||||
border: 1px solid #eee;
|
||||
text-align: center;
|
||||
}
|
||||
.answers-content .items .immages-tag img {
|
||||
max-width: 100%;
|
||||
}
|
||||
.answers-content .edit-submit {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.answers-content img {
|
||||
max-width: 100%;
|
||||
}
|
||||
@media only screen and (min-width:640px) {
|
||||
.answers-slider .am-slider {
|
||||
width: 30%;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width:640px) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑页面
|
||||
*/
|
||||
ul.plugins-images-view li {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
41
public/static/plugins/css/answers/index.css
Normal file
@ -0,0 +1,41 @@
|
||||
@media only screen and (min-width:640px) {
|
||||
.plugins-answers .answers-top, .plugins-answers .answers-middle-banner, .plugins-answers .answers-goods {
|
||||
margin-top: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.plugins-answers .answers-slider, .plugins-answers .answers-middle-list, .plugins-answers .answers-goods .am-gallery {
|
||||
padding: 0;
|
||||
}
|
||||
.plugins-answers .answers-sidebar, .plugins-answers .answers-goods {
|
||||
padding-right: 0;
|
||||
}
|
||||
.plugins-answers .am-list-news-default {
|
||||
margin: 0;
|
||||
}
|
||||
.plugins-answers .answers-sidebar .am-list-news-hd, .plugins-answers .answers-goods .am-list-news-hd {
|
||||
padding-top: 0;
|
||||
}
|
||||
.plugins-answers .answers-middle-list .am-list-news-hd {
|
||||
padding-top: 10px;
|
||||
}
|
||||
.plugins-answers .am-list-news-hd {
|
||||
font-weight: 500;
|
||||
}
|
||||
.plugins-answers .answers-sidebar .am-list-news-bd .am-list {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.plugins-answers .answers-goods .am-list-news-hd {
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.am-gallery-bordered > li:nth-of-type(2n + 1) {
|
||||
padding-left: 0;
|
||||
}
|
||||
.am-gallery-bordered > li:nth-of-type(2n + 2) {
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width:640px) {
|
||||
|
||||
}
|
BIN
public/static/plugins/images/answers/default-images.png
Executable file
After Width: | Height: | Size: 5.2 KiB |
1
public/static/plugins/images/answers/index.html
Executable file
@ -0,0 +1 @@
|
||||
|
0
public/static/upload/images/common/2019/01/14/1547448705165706.png
Normal file → Executable file
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
0
public/static/upload/images/common/2019/01/14/1547448728921121.jpg
Normal file → Executable file
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
0
public/static/upload/images/common/2019/01/14/1547448748316693.png
Normal file → Executable file
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
0
public/static/upload/images/goods/2019/01/14/1547450781101144.jpg
Normal file → Executable file
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
0
public/static/upload/images/goods/2019/01/14/1547450818141662.jpg
Normal file → Executable file
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
0
public/static/upload/images/goods/2019/01/14/1547450880620837.png
Normal file → Executable file
Before Width: | Height: | Size: 141 KiB After Width: | Height: | Size: 141 KiB |
0
public/static/upload/images/goods/2019/01/14/1547450880750687.png
Normal file → Executable file
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
0
public/static/upload/images/goods/2019/01/14/1547450880917418.png
Normal file → Executable file
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 130 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451274847894.jpg
Normal file → Executable file
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451576558478.jpg
Normal file → Executable file
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451595528800.jpg
Normal file → Executable file
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451595616298.jpg
Normal file → Executable file
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451595700972.jpg
Normal file → Executable file
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 190 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451909951171.jpg
Normal file → Executable file
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451936230948.jpg
Normal file → Executable file
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451947383902.jpg
Normal file → Executable file
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451947676180.jpg
Normal file → Executable file
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451947686990.jpg
Normal file → Executable file
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 137 KiB |
0
public/static/upload/images/goods/2019/01/14/1547451947791154.jpg
Normal file → Executable file
Before Width: | Height: | Size: 169 KiB After Width: | Height: | Size: 169 KiB |
0
public/static/upload/images/goods/2019/01/14/1547452474332334.jpg
Normal file → Executable file
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
0
public/static/upload/images/goods/2019/01/14/1547452496713777.jpg
Normal file → Executable file
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
0
public/static/upload/images/goods/2019/01/14/1547452505184884.jpg
Normal file → Executable file
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 110 KiB |
0
public/static/upload/images/goods/2019/01/14/1547452505349986.jpg
Normal file → Executable file
Before Width: | Height: | Size: 165 KiB After Width: | Height: | Size: 165 KiB |
0
public/static/upload/images/goods/2019/01/14/1547452505568604.jpg
Normal file → Executable file
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
0
public/static/upload/images/goods/2019/01/14/1547452714324599.jpg
Normal file → Executable file
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
0
public/static/upload/images/goods/2019/01/14/1547452752648264.jpg
Normal file → Executable file
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |