问答系统开发

This commit is contained in:
devil_gong 2019-03-08 17:36:45 +08:00
parent 534e969396
commit c1fcc7bf7b
19 changed files with 579 additions and 63 deletions

View File

@ -53,7 +53,7 @@ class Answer extends Common
$params = input();
// 分页
$number = 10;
$number = MyC('admin_page_number', 10, true);
// 条件
$where = AnswerService::AnswerListWhere($params);

View File

@ -242,10 +242,12 @@ function MyUrl($path, $params=[])
*/
function PluginsHomeUrl($plugins_name, $plugins_control, $plugins_action, $params=[])
{
$params['pluginsname'] = $plugins_name;
$params['pluginscontrol'] = $plugins_control;
$params['pluginsaction'] = $plugins_action;
$url = url('index/plugins/index', $params, true, true);
$plugins = [
'pluginsname' => $plugins_name,
'pluginscontrol' => $plugins_control,
'pluginsaction' => $plugins_action,
];
$url = url('index/plugins/index', $plugins+$params, true, true);
// 是否根目录访问项目
if(defined('IS_ROOT_ACCESS'))
@ -270,10 +272,12 @@ function PluginsHomeUrl($plugins_name, $plugins_control, $plugins_action, $param
*/
function PluginsAdminUrl($plugins_name, $plugins_control, $plugins_action, $params=[])
{
$params['pluginsname'] = $plugins_name;
$params['pluginscontrol'] = $plugins_control;
$params['pluginsaction'] = $plugins_action;
$url = url('admin/plugins/index', $params, true, true);
$plugins = [
'pluginsname' => $plugins_name,
'pluginscontrol' => $plugins_control,
'pluginsaction' => $plugins_action,
];
$url = url('admin/plugins/index', $plugins+$params, true, true);
// 是否根目录访问项目
if(defined('IS_ROOT_ACCESS'))

View File

@ -0,0 +1,95 @@
<?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\index\controller;
use app\service\AnswerService;
/**
* 问答/留言管理
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Answer extends Common
{
/**
* [_initialize 前置操作-继承公共前置方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function _initialize()
{
// 调用父类前置方法
parent::_initialize();
// 是否登录
$this->IsLogin();
}
/**
* 问答/留言列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-28
* @desc description
*/
public function Index()
{
// 参数
$params = input();
$params['user'] = $this->user;
// 分页
$number = 10;
// 条件
$where = AnswerService::AnswerListWhere($params);
// 获取总数
$total = AnswerService::AnswerTotal($where);
// 分页
$page_params = array(
'number' => $number,
'total' => $total,
'where' => $params,
'page' => isset($params['page']) ? intval($params['page']) : 1,
'url' => MyUrl('admin/answer/index'),
);
$page = new \base\Page($page_params);
$this->assign('page_html', $page->GetPageHtml());
// 获取列表
$data_params = array(
'm' => $page->GetPageStarNumber(),
'n' => $number,
'where' => $where,
);
$data = AnswerService::AnswerList($data_params);
$this->assign('data_list', $data['data']);
// 状态
$this->assign('common_is_show_list', lang('common_is_show_list'));
// 是否
$this->assign('common_is_text_list', lang('common_is_text_list'));
// 参数
$this->assign('params', $params);
return $this->fetch();
}
}
?>

View File

@ -94,6 +94,13 @@ return array(
'is_show' => 1,
'icon' => 'am-icon-lastfm',
),
array(
'control' => 'answer',
'action' => 'index',
'name' => '问答/留言',
'is_show' => 1,
'icon' => 'am-icon-question',
),
array(
'control' => 'user',
'action' => 'logout',

View File

@ -0,0 +1,129 @@
{{include file="public/header" /}}
<!-- 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 -->
<div class="am-container user-main">
<!-- user menu start -->
{{include file="public/user_menu" /}}
<!-- user menu end -->
<!-- content start -->
<div class="user-content">
<div class="user-content-body">
<form class="am-form form-validation" method="post" action="{{:MyUrl('index/answer/index')}}" request-type="form">
<div class="thin">
<div class="am-input-group am-input-group-sm am-fl so">
<input type="text" autocomplete="off" name="keywords" class="am-radius" placeholder="其实搜索很简单 ^_^" value="{{if !empty($params.keywords)}}{{$params.keywords}}{{/if}}" />
<span class="am-input-group-btn">
<button class="am-btn am-btn-default am-radius" type="submit" data-am-loading="{spinner:'circle-o-notch', loadingText:'搜索中...'}">搜索</button>
</span>
</div>
<label class="am-fl thin_sub more-submit">
更多筛选条件
<input type="checkbox" name="is_more" value="1" class="none am-field-valid" {{if isset($params['is_more'])}}checked{{/if}} />
<i class="am-icon-angle-up"></i>
</label>
</div>
<table class="so-list more-where {{if !isset($params['is_more'])}}none{{/if}}">
<tbody>
<tr>
<td>
<span>显示:</span>
<select name="is_show" class="chosen-select" data-placeholder="是否显示...">
<option value="-1">是否显示...</option>
{{if !empty($common_is_show_list)}}
{{foreach $common_is_show_list as $v}}
<option value="{{$v.id}}" {{if isset($params['is_show']) and $params['is_show'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
{{/if}}
</select>
</td>
<td>
<span>状态:</span>
<select name="is_reply" class="chosen-select" data-placeholder="是否回复...">
<option value="-1">是否回复...</option>
{{if !empty($common_is_text_list)}}
{{foreach $common_is_text_list as $v}}
<option value="{{$v.id}}" {{if isset($params['is_reply']) and $params['is_reply'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
{{/if}}
</select>
</td>
</tr>
<tr>
<td>
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner:'circle-o-notch', loadingText:'搜索中...'}">搜索</button>
<a href="{{:MyUrl('index/answer/index')}}" class="am-btn am-btn-warning am-radius am-btn-sm reset-submit">清除条件</a>
</td>
</tr>
</tbody>
</table>
</form>
<!-- 列表 -->
<div class="data-list">
<table class="am-table">
<thead>
<tr>
<th>姓名</th>
<th>电话</th>
<th>内容</th>
<th class="am-hide-sm-only">回复</th>
<th class="am-hide-sm-only">是否显示</th>
<th class="am-hide-sm-only">时间</th>
</tr>
</thead>
<tbody>
{{if !empty($data_list)}}
{{foreach $data_list as $v}}
<tr>
<td>{{$v.name}}</td>
<td>{{$v.tel}}</td>
<td class="reply-content">{{$v.content}}</td>
<td class="am-hide-sm-only reply-content">
{{if $v['is_reply'] eq 1}}
{{$v.reply}}
{{else /}}
<span class="gray-text">未回复</span>
{{/if}}
</td>
<td class="am-hide-sm-only">{{$v.is_show_text}}</td>
<td class="am-hide-sm-only">{{$v.add_time}}</td>
</tr>
{{/foreach}}
{{/if}}
{{if empty($data_list)}}
<tr>
<td colspan="6">
<div class="table-no"><i class="am-icon-warning"></i> 没有相关数据</div>
</td>
</tr>
{{/if}}
</tbody>
</table>
</div>
<!-- 分页 -->
{{if !empty($data_list)}}
{{$page_html|raw}}
{{/if}}
</div>
</div>
<!-- content end -->
</div>
<!-- footer start -->
{{include file="public/footer" /}}
<!-- footer end -->

View File

@ -83,7 +83,7 @@
</table>
</form>
<!-- 消息列表 -->
<!-- 列表 -->
<div class="data-list">
<table class="am-table">
<thead>

View File

@ -59,7 +59,7 @@
</table>
</form>
<!-- 消息列表 -->
<!-- 列表 -->
<div class="data-list">
<table class="am-table">
<thead>

View File

@ -1,4 +1,13 @@
<?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;

View File

@ -1,4 +1,13 @@
<?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;
@ -17,7 +26,7 @@ use app\plugins\answers\Service;
class Index extends Controller
{
/**
* 前端页面入口
* 首页入口
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
@ -59,6 +68,41 @@ class Index extends Controller
return $this->fetch('../../../plugins/view/answers/index/index');
}
/**
* 详情入口
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-07
* @desc description
* @param [array] $params [输入参数]
*/
public function detail($params = [])
{
// 基础数据
$base = PluginsService::PluginsData('answers', ['images']);
$this->assign('plugins_answers_data', isset($base['data']) ? $base['data'] : []);
// 商品数据
$goods = Service::GoodsList();
$this->assign('plugins_answers_goods_list', $goods['data']['goods']);
// 推荐问答
if(!empty($base['data']['category_ids']))
{
$answers = Service::AnswerList(['n'=>100, 'category_ids'=> $base['data']['category_ids']]);
$this->assign('plugins_answers_rc_list', $answers['data']);
} else {
$this->assign('plugins_answers_rc_list', []);
}
// 获取问答数据
$detail = Service::AnswerRow($params);
$this->assign('plugins_answers_detail', $detail);
return $this->fetch('../../../plugins/view/answers/index/detail');
}
/**
* 提问
* @author Devil

View File

@ -349,5 +349,45 @@ class Service
);
return AnswerService::AnswerList($data_params);
}
/**
* 获取一条问答
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
* @param [array] $params [输入参数]
*/
public static function AnswerRow($params = [])
{
// 参数
if(empty($params['id']))
{
return DataReturn('问答id有误', -1);
}
// 条件
$where = [
['is_delete_time', '=', 0],
['is_show', '=', 1],
['id', '=', intval($params['id'])],
];
// 字段
$field = 'content,reply,is_reply,add_time';
// 获取列表
$data_params = array(
'm' => 0,
'n' => 1,
'where' => $where,
'field' => $field,
);
$ret = AnswerService::AnswerList($data_params);
if(isset($ret['data'][0]))
{
$ret['data'] = $ret['data'][0];
}
return $ret;
}
}
?>

View File

@ -0,0 +1,111 @@
{{include file="public/header" /}}
<!-- 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 plugins-answers-detail">
<!-- 幻灯片 -->
<div class="am-u-md-8 answers-slider">
{{if isset($plugins_answers_detail['code']) and $plugins_answers_detail['code'] eq 0}}
{{if !empty($plugins_answers_detail['data']['content'])}}
<div class="base-content">
<p>{{$plugins_answers_detail.data.content}}</p>
<p class="base-date gray-text">{{$plugins_answers_detail.data.add_time_date}}</p>
</div>
<div class="am-panel base {{if isset($plugins_answers_detail['data']['is_reply']) and $plugins_answers_detail['data']['is_reply'] eq 1}} am-panel-success{{else /}} am-panel-default{{/if}}">
<div class="am-panel-bd">
{{if isset($plugins_answers_detail['data']['is_reply']) and $plugins_answers_detail['data']['is_reply'] eq 1}}
<span class="am-badge am-radius am-badge-success">已回答</span>
{{$plugins_answers_detail.data.reply}}
{{else /}}
<span class="am-badge am-radius">待回答</span>
{{/if}}
</div>
</div>
{{else /}}
<div class="table-no"><i class="am-icon-warning"></i> 没有相关数据</div>
{{/if}}
{{else /}}
<div class="table-no"><i class="am-icon-warning"></i> {{$plugins_answers_detail.msg}}</div>
{{/if}}
</div>
<!-- 右侧列表 -->
<div class="am-u-md-4 answers-sidebar">
<!-- 操作按钮 -->
<div class="answers-btn-list">
<a href="javascript:;" type="button" class="am-btn am-btn-warning am-icon-plus" data-am-modal="{target: '#plugins-answers-popup-ask'}"> 我要提问</a>
<a href="{{if empty($user)}}javascript:;{{else /}}{{:MyUrl('index/answer/index')}}{{/if}}" type="button" class="am-btn am-btn-danger am-icon-list-ul am-fr {{if empty($user)}}login-event{{/if}}"> 我的提问</a>
</div>
<!-- 右侧推荐问答 -->
<div data-am-widget="list_news" class="am-list-news am-list-news-default">
<div class="am-list-news-hd am-cf">
<h2>
{{if empty($plugins_answers_data['right_top_rec_name'])}}
推荐问答
{{else /}}
{{$plugins_answers_data.right_top_rec_name}}
{{/if}}
</h2>
</div>
<div class="am-list-news-bd">
{{if !empty($plugins_answers_rc_list)}}
<ul class="am-list">
{{foreach $plugins_answers_rc_list as $answers}}
<li class="am-g am-list-item-dated">
<a href="{{:PluginsHomeUrl('answers', 'index', 'detail', ['id'=>$answers['id']])}}" target="_blank" class="am-list-item-hd ">{{$answers.content}}</a>
<span class="am-list-date">{{$answers.add_time_date}}</span>
</li>
{{/foreach}}
</ul>
{{/if}}
</div>
</div>
<!-- 推荐商品 -->
<div class="answers-goods">
<div class="am-list-news-hd am-cf">
<h2>
{{if empty($plugins_answers_data['right_top_goods_name'])}}
推荐商品
{{else /}}
{{$plugins_answers_data.right_top_goods_name}}
{{/if}}
</h2>
</div>
{{if !empty($plugins_answers_goods_list)}}
<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="{}">
{{foreach $plugins_answers_goods_list as $goods}}
<li>
<div class="am-gallery-item">
<a href="{{$goods.goods_url}}" target="_blank">
<img src="{{$goods.images}}" alt="{{$goods.title}}"/>
<h3 class="am-gallery-title">{{$goods.title}}</h3>
</a>
</div>
</li>
{{/foreach}}
</ul>
{{/if}}
</div>
</div>
<!-- 提问popup -->
{{include file="../../../plugins/view/answers/index/popup" /}}
</div>
<!-- content end -->
<!-- footer start -->
{{include file="public/footer" /}}
<!-- footer end -->

View File

@ -22,14 +22,14 @@
<ul class="am-slides">
{{foreach $plugins_answers_slider as $k=>$v}}
<li>
<a href="{{$v.url}}" target="_blank">
<img src="{{$v.images_url}}">
<div class="am-slider-desc">
<div class="am-slider-counter">
<span class="am-active">{{$k+1}}</span>/{{:count($plugins_answers_slider)}}</div>
{{$v.name}}
</div>
</a>
<a href="{{$v.url}}" target="_blank">
<img src="{{$v.images_url}}">
<div class="am-slider-desc">
<div class="am-slider-counter">
<span class="am-active">{{$k+1}}</span>/{{:count($plugins_answers_slider)}}</div>
{{$v.name}}
</div>
</a>
</li>
{{/foreach}}
</ul>
@ -41,12 +41,12 @@
<div class="am-u-md-4 answers-sidebar">
<!-- 操作按钮 -->
<div class="answers-btn-list">
<a type="button" class="am-btn am-btn-warning am-icon-plus answers-btn-list-ask" data-am-modal="{target: '#plugins-answers-popup-ask'}"> 我要提问</a>
<a type="button" class="am-btn am-btn-danger am-icon-list-ul am-fr answers-btn-list-my"> 我的提问</a>
<a href="javascript:;" type="button" class="am-btn am-btn-warning am-icon-plus" data-am-modal="{target: '#plugins-answers-popup-ask'}"> 我要提问</a>
<a href="{{if empty($user)}}javascript:;{{else /}}{{:MyUrl('index/answer/index')}}{{/if}}" type="button" class="am-btn am-btn-danger am-icon-list-ul am-fr {{if empty($user)}}login-event{{/if}}"> 我的提问</a>
</div>
<!-- 右侧推荐问答 -->
<div data-am-widget="list_news" class="am-list-news am-list-news-default" >
<div data-am-widget="list_news" class="am-list-news am-list-news-default">
<div class="am-list-news-hd am-cf">
<h2>
{{if empty($plugins_answers_data['right_top_rec_name'])}}
@ -61,8 +61,8 @@
<ul class="am-list">
{{foreach $plugins_answers_rc_list as $answers}}
<li class="am-g am-list-item-dated">
<a href="##" class="am-list-item-hd ">{{$answers.content}}</a>
<span class="am-list-date">{{$answers.add_time_date}}</span>
<a href="{{:PluginsHomeUrl('answers', 'index', 'detail', ['id'=>$answers['id']])}}" target="_blank" class="am-list-item-hd ">{{$answers.content}}</a>
<span class="am-list-date">{{$answers.add_time_date}}</span>
</li>
{{/foreach}}
</ul>
@ -98,7 +98,7 @@
<ul class="am-list">
{{foreach $plugins_answers_middle_answer_list as $answers}}
<li class="am-g am-list-item-dated">
<a href="##" class="am-list-item-hd ">{{$answers.content}}</a>
<a href="{{:PluginsHomeUrl('answers', 'index', 'detail', ['id'=>$answers['id']])}}" target="_blank" class="am-list-item-hd ">{{$answers.content}}</a>
<span class="am-list-date">{{$answers.add_time_date}}</span>
</li>
{{/foreach}}
@ -137,35 +137,8 @@
{{/if}}
</div>
<!-- 提问 -->
<div class="am-popup" id="plugins-answers-popup-ask">
<div class="am-popup-inner">
<div class="am-popup-hd">
<h4 class="am-popup-title">提问</h4>
<span data-am-modal-close
class="am-close">&times;</span>
</div>
<div class="am-popup-bd">
<form class="am-form form-validation-plugins-answer-ask view-save" action="{{:PluginsHomeUrl('answers', 'index', 'answer')}}" method="POST" request-type="ajax-reload">
<div class="am-form-group">
<label>姓名<span class="am-form-group-label-tips">选填</span></label>
<input type="text" name="name" placeholder="姓名" data-validation-message="请填写姓名" class="am-radius" />
</div>
<div class="am-form-group">
<label>电话<span class="am-form-group-label-tips">选填</span></label>
<input type="text" name="tel" placeholder="电话" data-validation-message="请填写电话" class="am-radius" />
</div>
<div class="am-form-group">
<label>内容<span class="am-form-group-label-tips">必填</span></label>
<textarea class="am-radius am-validate" name="content" rows="5" minlength="5" maxlength="300" placeholder="内容至少5个字" data-validation-message="内容格式 5~300 个字符之间" required></textarea>
</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 am-btn-block" data-am-loading="{loadingText:'处理中...'}">提交</button>
</div>
</form>
</div>
</div>
</div>
<!-- 提问popup -->
{{include file="../../../plugins/view/answers/index/popup" /}}
</div>
<!-- content end -->

View File

@ -0,0 +1,27 @@
<div class="am-popup" id="plugins-answers-popup-ask">
<div class="am-popup-inner">
<div class="am-popup-hd">
<h4 class="am-popup-title">提问</h4>
<span data-am-modal-close class="am-close">&times;</span>
</div>
<div class="am-popup-bd">
<form class="am-form form-validation-plugins-answer-ask view-save" action="{{:PluginsHomeUrl('answers', 'index', 'answer')}}" method="POST" request-type="ajax-reload">
<div class="am-form-group">
<label>姓名<span class="am-form-group-label-tips">选填</span></label>
<input type="text" name="name" placeholder="姓名" data-validation-message="请填写姓名" class="am-radius" />
</div>
<div class="am-form-group">
<label>电话<span class="am-form-group-label-tips">选填</span></label>
<input type="text" name="tel" placeholder="电话" data-validation-message="请填写电话" class="am-radius" />
</div>
<div class="am-form-group">
<label>内容<span class="am-form-group-label-tips">必填</span></label>
<textarea class="am-radius am-validate" name="content" rows="5" minlength="5" maxlength="300" placeholder="内容至少5个字" data-validation-message="内容格式 5~300 个字符之间" required></textarea>
</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 am-btn-block" data-am-loading="{loadingText:'处理中...'}">提交</button>
</div>
</form>
</div>
</div>
</div>

View File

@ -135,6 +135,10 @@ class AnswerService
{
$where[] = ['is_show', '=', intval($params['is_show'])];
}
if(isset($params['is_reply']) && $params['is_reply']> -1)
{
$where[] = ['is_reply', '=', intval($params['is_reply'])];
}
if(!empty($params['time_start']))
{

View File

@ -11,7 +11,7 @@
Target Server Version : 50722
File Encoding : utf-8
Date: 03/07/2019 18:27:27 PM
Date: 03/08/2019 17:36:16 PM
*/
SET NAMES utf8mb4;
@ -69,7 +69,7 @@ CREATE TABLE `s_answer` (
-- Records of `s_answer`
-- ----------------------------
BEGIN;
INSERT INTO `s_answer` VALUES ('1', '0', '测试名字', '1322222222', '请问新版本什么时候发布呀?非常期待哦~', '', '0', '1', '0', '1551941748', '0'), ('2', '0', 'test', '13555555555', '男女薪酬差距过大,你怎么看?', '很正常的现象,毕竟大多数人是拖后腿的。\n\n女性工资高于男性的有但是就平均来讲却是另一种情况。原因就在于岗位不同自然薪酬就不一样。女性由于身体各方面条件的限制可以说是选择工作岗位比男性少了不少女性可以做销售可以做文职当然也可以做互联网但是有的女生身体素质不太适用于熬夜加班毕竟女生担当了生儿育女这一项风险极大的活动自然受到很多的限制所以在岗位的选择工作时间的适应上女性并不占优势薪酬的比例自然就降低了。', '1', '1', '0', '1551948802', '1551948854'), ('3', '0', '测试2', '13444556666', '为什么电影《绿皮书》三天票房能破亿?', '', '0', '1', '0', '1551948896', '0'), ('4', '0', '测试3', '13222666666', '詹姆斯总得分超乔丹,怎么评价这一纪录?', '', '0', '1', '0', '1551948947', '0'), ('5', '0', '测试5', '13222335555', '植物奶油和动物奶油的区别是?', '', '0', '1', '0', '1551948985', '0'), ('6', '0', '测试6', '13222333333', '既然彩虹是圆形的,那为什么我们看到的都是拱形的?', '', '0', '1', '0', '1551949040', '0'), ('7', '0', '测试7', '13277888888', '给我家孩子投一票”,绑架了近一半人的朋友圈', '', '0', '1', '0', '1551949065', '0'), ('8', '0', '测试8', '13233222222', '秃如其来的年轻人,这是怎么了?', '', '0', '1', '0', '1551949100', '0'), ('9', '0', '测试的', '13445555555', '小学生异地转学籍需要什么手续?', '', '0', '1', '0', '1551949178', '0'), ('10', '0', '测试a', '13222112222', '巴厘岛旅游出入境及免签流程?', '', '0', '1', '0', '1551949200', '0'), ('11', '0', 'cessss', '13444555555', '日常生活中哪些物品需要缴纳消费税?', '', '0', '1', '0', '1551949219', '0'), ('12', '0', 'tttstt', '13566666666', '申请更换机动车车身颜色需要办理哪些手续?', '', '0', '1', '0', '1551949243', '0'), ('13', '0', 'ttvvvkkkk', '13555666666', '房产税与契税有什么区别?', '', '0', '1', '0', '1551949326', '0'), ('14', '0', 'Cesd', '13566666666', '家庭聚会时,可以做哪些自制饮料?', '', '0', '1', '0', '1551949382', '0'), ('15', '0', '测试的订', '13455667777', '一个狗喝了我家的洗手盆里的水,水扔了,洗手盆还能用吗?会不会感染病?', '', '0', '1', '0', '1551949425', '0'), ('16', '0', 'rrttt', '13455667777', '古代中国朴素唯物主义自然观有哪些作用?', '', '0', '1', '0', '1551949762', '0'), ('17', '0', '你好', '13455666666', '一部耽美漫画男主家穷从小就去了攻的家里作为玩具陪伴攻受长大回到家里攻搅黄受家里的生意让受再回到身边', '', '0', '1', '0', '1551949840', '0'), ('18', '0', '122天天', '13455555555', '6吨粮食酒里加20公斤冰糖可以吗', '', '0', '1', '0', '1551949870', '0'), ('19', '0', 'v看见', '13455222222', '単位与个人无解除劳动关系手续转入社保个人窗口合法吗', '', '0', '1', '0', '1551949947', '0'), ('20', '77', '', '', '如果你是汉献帝被挟曹操天子以令诸侯你会怎么做?', '', '0', '1', '0', '1551954351', '0');
INSERT INTO `s_answer` VALUES ('1', '0', '测试名字', '1322222222', '请问新版本什么时候发布呀?非常期待哦~', '', '0', '1', '0', '1551941748', '0'), ('2', '77', 'test', '13555555555', '男女薪酬差距过大,你怎么看?', '很正常的现象,毕竟大多数人是拖后腿的。\n\n女性工资高于男性的有但是就平均来讲却是另一种情况。原因就在于岗位不同自然薪酬就不一样。女性由于身体各方面条件的限制可以说是选择工作岗位比男性少了不少女性可以做销售可以做文职当然也可以做互联网但是有的女生身体素质不太适用于熬夜加班毕竟女生担当了生儿育女这一项风险极大的活动自然受到很多的限制所以在岗位的选择工作时间的适应上女性并不占优势薪酬的比例自然就降低了。', '1', '1', '0', '1551948802', '1551948854'), ('3', '0', '测试2', '13444556666', '为什么电影《绿皮书》三天票房能破亿?', '', '0', '1', '0', '1551948896', '0'), ('4', '0', '测试3', '13222666666', '詹姆斯总得分超乔丹,怎么评价这一纪录?', '', '0', '1', '0', '1551948947', '0'), ('5', '0', '测试5', '13222335555', '植物奶油和动物奶油的区别是?', '', '0', '1', '0', '1551948985', '0'), ('6', '0', '测试6', '13222333333', '既然彩虹是圆形的,那为什么我们看到的都是拱形的?', '', '0', '1', '0', '1551949040', '0'), ('7', '0', '测试7', '13277888888', '给我家孩子投一票”,绑架了近一半人的朋友圈', '', '0', '1', '0', '1551949065', '0'), ('8', '0', '测试8', '13233222222', '秃如其来的年轻人,这是怎么了?', '', '0', '1', '0', '1551949100', '0'), ('9', '0', '测试的', '13445555555', '小学生异地转学籍需要什么手续?', '', '0', '1', '0', '1551949178', '0'), ('10', '0', '测试a', '13222112222', '巴厘岛旅游出入境及免签流程?', '', '0', '1', '0', '1551949200', '0'), ('11', '0', 'cessss', '13444555555', '日常生活中哪些物品需要缴纳消费税?', '', '0', '1', '0', '1551949219', '0'), ('12', '0', 'tttstt', '13566666666', '申请更换机动车车身颜色需要办理哪些手续?', '', '0', '1', '0', '1551949243', '0'), ('13', '0', 'ttvvvkkkk', '13555666666', '房产税与契税有什么区别?', '', '0', '1', '0', '1551949326', '0'), ('14', '0', 'Cesd', '13566666666', '家庭聚会时,可以做哪些自制饮料?', '', '0', '1', '0', '1551949382', '0'), ('15', '0', '测试的订', '13455667777', '一个狗喝了我家的洗手盆里的水,水扔了,洗手盆还能用吗?会不会感染病?', '', '0', '1', '0', '1551949425', '0'), ('16', '0', 'rrttt', '13455667777', '古代中国朴素唯物主义自然观有哪些作用?', '', '0', '1', '0', '1551949762', '0'), ('17', '0', '你好', '13455666666', '一部耽美漫画男主家穷从小就去了攻的家里作为玩具陪伴攻受长大回到家里攻搅黄受家里的生意让受再回到身边', '', '0', '1', '0', '1551949840', '0'), ('18', '7', '122天天', '13455555555', '6吨粮食酒里加20公斤冰糖可以吗', '', '0', '1', '0', '1551949870', '0'), ('19', '77', 'v看见', '13455222222', '単位与个人无解除劳动关系手续转入社保个人窗口合法吗', '', '0', '1', '0', '1551949947', '0'), ('20', '77', '', '', '如果你是汉献帝被挟曹操天子以令诸侯你会怎么做?', '', '0', '1', '0', '1551954351', '0');
COMMIT;
-- ----------------------------
@ -615,7 +615,7 @@ CREATE TABLE `s_message` (
-- Records of `s_message`
-- ----------------------------
BEGIN;
INSERT INTO `s_message` VALUES ('1', '92', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '0', '0', '0', '1551174252'), ('2', '77', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '1', '0', '0', '1551192116'), ('3', '77', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '1', '0', '0', '1551233397'), ('4', '92', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '0', '0', '0', '1551234579'), ('5', '92', '订单支付', '订单支付成功金额3270.9元', '1', '1', '0', '0', '0', '0', '1551239424'), ('6', '77', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '1', '0', '0', '1551855214'), ('7', '77', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '0', '0', '0', '1551952686');
INSERT INTO `s_message` VALUES ('1', '92', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '0', '0', '0', '1551174252'), ('2', '77', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '1', '0', '0', '1551192116'), ('3', '77', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '1', '0', '0', '1551233397'), ('4', '92', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '0', '0', '0', '1551234579'), ('5', '92', '订单支付', '订单支付成功金额3270.9元', '1', '1', '0', '0', '0', '0', '1551239424'), ('6', '77', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '1', '0', '0', '1551855214'), ('7', '77', '积分变动', '登录奖励积分积分增加5', '0', '0', '0', '1', '0', '0', '1551952686');
COMMIT;
-- ----------------------------
@ -1112,13 +1112,13 @@ CREATE TABLE `s_search_history` (
`ymd` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '日期 ymd',
`add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='搜索日志';
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='搜索日志';
-- ----------------------------
-- Records of `s_search_history`
-- ----------------------------
BEGIN;
INSERT INTO `s_search_history` VALUES ('1', '77', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551233729'), ('2', '77', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551233736'), ('3', '0', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551233824'), ('4', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260421'), ('5', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260423'), ('6', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260432'), ('7', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260448'), ('8', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260575'), ('9', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260885'), ('10', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260887'), ('11', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551261001'), ('12', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551261934'), ('13', '0', '0', '0', '', '0-0', 'default', 'asc', '20190228', '1551343490'), ('14', '0', '0', '0', '', '0-0', 'default', 'asc', '20190228', '1551343927'), ('15', '77', '0', '0', '', '0-0', 'default', 'asc', '20190306', '1551858508'), ('16', '0', '0', '0', '', '0-0', 'default', 'asc', '20190307', '1551952616');
INSERT INTO `s_search_history` VALUES ('1', '77', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551233729'), ('2', '77', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551233736'), ('3', '0', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551233824'), ('4', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260421'), ('5', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260423'), ('6', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260432'), ('7', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260448'), ('8', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260575'), ('9', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260885'), ('10', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551260887'), ('11', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551261001'), ('12', '92', '0', '0', '', '0-0', 'default', 'asc', '20190227', '1551261934'), ('13', '0', '0', '0', '', '0-0', 'default', 'asc', '20190228', '1551343490'), ('14', '0', '0', '0', '', '0-0', 'default', 'asc', '20190228', '1551343927'), ('15', '77', '0', '0', '', '0-0', 'default', 'asc', '20190306', '1551858508'), ('16', '0', '0', '0', '', '0-0', 'default', 'asc', '20190307', '1551952616'), ('17', '0', '0', '0', '', '0-0', 'default', 'asc', '20190308', '1552037213'), ('18', '0', '0', '0', '', '0-0', 'default', 'asc', '20190308', '1552037324');
COMMIT;
-- ----------------------------

View File

@ -79,7 +79,8 @@ iframe { width: 100%; height: 100%; border: 0; }
background: #f6f9fc;
}
form.am-form .am-form-group, .plug-images-list, .goods-specifications, .content-app-items, .plug-file-upload-view {
border-bottom: 1px dotted #DFE4EA;
border-bottom: 1px dashed transparent;
background: linear-gradient(white,white) padding-box, repeating-linear-gradient(-45deg, #ccc 0, #ccc 0.25em, white 0, white 0.5em);
padding: 10px 20% 10px 5px;
}
.am-popup form.am-form .am-form-group {

View File

@ -0,0 +1,37 @@
/* 筛选 */
.thin, .pay-list { overflow:hidden; }
.thin .so { width:66%; }
.thin_sub { font-weight:100; margin:10px 0px 0px 10px; cursor: pointer; }
.so-list { width:100%; margin-top: 20px; }
.so-list * { font-size:1.2rem !important; }
.so-list input { height:28px; display:inline !important; }
.time input, .so-list .chosen-container { background:#FFF !important; }
.time input { width:100px !important; }
.time i { position:absolute; margin:4px 0px 0px -15px; }
.price input { width:101px !important; }
.time, .time { width:50%; }
.so-list tr+tr>td:first-child { padding-top:10px; }
.so-list .chosen-container { border-radius:2px; }
.text-grey { color: #999; }
.chosen-container-single .chosen-single, .so-list select { height: 28px; line-height: 28px; width: 100%; }
.reset-submit { margin-left: 20px; }
.so-list select { padding: 0 0 0 8px; }
@media only screen and (min-width: 641px){
.so-list .chosen-container, .so-list select { width:217px !important; display: -webkit-inline-box; }
.thin_sub:hover { color:#F60; }
}
@media only screen and (max-width: 641px){
.so-list input { width:40% !important; }
.so-list td { width:100%; display:block; }
.so-list tr td:last-child { margin-top:10px; }
.so-list .chosen-container { width:85%; }
.so-list .chosen-container { width:100%; }
.so-list tr td:last-child { padding-top:0px !important; }
.chosen-container-single .chosen-search input[type="text"] { width: 100% !important; }
.so-list select { width: calc(100% - 44px); display: -webkit-inline-box; }
}
/**
* 列表
*/
.data-list table.am-table .reply-content { max-width: 200px; }

View File

@ -403,6 +403,11 @@ background:url(../images/ibar_sprites.png) no-repeat;background-position:0px -23
color: #666;
}
/**
* 灰色文字标记
*/
.gray-text { color: #999; }
/* 价格颜色 */
.price strong {color: #E4393C; font-weight: 600; }

View File

@ -36,8 +36,16 @@
@media only screen and (min-width:640px) {
.plugins-answers .am-gallery-bordered .am-gallery-item:hover {
box-shadow: 0 0 3px rgb(251, 180, 187);
-webkit-box-shadow: 0 0 3px rgb(251, 180, 187);
-webkit-box-shadow: 0px 12px 12px -10px rgba(0,0,0,.4);
box-shadow: 0px 12px 12px -10px rgba(0,0,0,.4);
border: 1px solid #d2364c;
}
.plugins-answers .am-gallery-bordered .am-gallery-item:hover a {
text-decoration: none;
}
.plugins-answers .am-gallery-bordered .am-gallery-item a h3:hover {
color: #d2364c;
text-decoration: underline;
}
.plugins-answers .answers-top, .plugins-answers .answers-middle-banner, .plugins-answers .answers-goods {
margin-top: 10px;
@ -82,4 +90,26 @@
.plugins-answers .answers-btn-list .am-btn {
margin-top: 15px;
}
}
/**
* 详情
*/
.plugins-answers-detail {
padding-top: 10px;
}
.plugins-answers-detail .base-content {
border: 1px dashed transparent;
background: linear-gradient(white,white) padding-box,
repeating-linear-gradient(-45deg, #ccc 0, #ccc 0.25em, white 0, white 0.6em);
padding: 10px;
}
.plugins-answers-detail .base-date {
text-align: right;
margin-top: 5px;
}
.plugins-answers-detail .base {
margin-top: 10px;
box-shadow: none;
-webkit-box-shadow: none;
}