Authored by 梁志锋

merge filter/age

Showing 100 changed files with 1586 additions and 4 deletions

Too many changes to show.

To preserve performance only 100 of 100+ files are displayed.

/**
* 个人中心二维码 controller
* @author: weiqingting<qingting.wei@yoho.cn>
* @date: 2016/05/16
*/
'use strict';
const QRcodeModel = require('../models/QRcode');
const helpers = global.yoho.helpers;
exports.QRcode = (req, res, next) => {
let id = req.query.orderCode || 0;
QRcodeModel.getQRcodeData(id,req.user.uid).then((result)=>{
if (result) {
result.ticks = result.ticks.map(item=>{
if (+item.ticket_type === 2) {
item.isgroup = true;
}
return item;
});
}
let vm = {
path: [{href: helpers.urlFormat('/'), name: 'YOHO!BUY 有货首页'}, {name: '个人中心'}, {name: '查看二维码'}],
qrcodeData: result,
code: id,
returnOrder: helpers.urlFormat('/home/orders')
};
res.render('QRcode', vm);
}).catch(next);
};
... ...
/**
* sub app index
* @author: weiqingting<qingting.wei@yoho.cn>
* @date: 2016/05/16
*/
var express = require('express'),
path = require('path'),
hbs = require('express-handlebars');
var app = express();
// set view engin
var doraemon = path.join(__dirname, '../../doraemon/views'); // parent view root
app.on('mount', function(parent) {
delete parent.locals.settings; // 不继承父 App 的设置
Object.assign(app.locals, parent.locals);
});
app.set('views', path.join(__dirname, 'views/action'));
app.engine('.hbs', hbs({
extname: '.hbs',
defaultLayout: 'layout',
layoutsDir: doraemon,
partialsDir: [path.join(__dirname, 'views/partial'), `${doraemon}/partial`],
helpers: global.yoho.helpers
}));
// router
app.use(require('./router'));
module.exports = app;
... ...
/**
* 个人中心二维码 model
* @author: weiqingting<qingting.wei@yoho.cn>
* @date: 2016/05/16
*/
'use strict';
const logger = global.yoho.logger;
var api = global.yoho.API;
exports.getQRcodeData = (id ,uid) => {
return api.get('', {
method: 'app.SpaceOrders.getQrByOrderCode',
order_code:160192075,
debug:'XYZ',
uid:uid
}).then(result => {
if (result && result.code === 200) {
return result.data;
} else {
logger.error(`查看二维码ID: ${id} 接口返回数据错误`);
return false;
}
});
};
... ...
/**
* router of sub app product
* @author: weiqingting<qingting.wei@yoho.cn>
* @date: 2016/05/06
*/
'use strict';
const express = require('express');
const router = express.Router(); // eslint-disable-line
const cRoot = './controllers';
const headerModel = require('../../doraemon/models/header');
const _ = require('lodash');
const helpers = global.yoho.helpers;
const config = global.yoho.config;
const personalController = require(`${cRoot}/QRcode`);
const homeNav = [
{
title: '交易管理',
subNav: [
{name: '我的订单', href: helpers.urlFormat('/home/orders'), active: true},
{name: '我的收藏', href: helpers.urlFormat('/home/favorite')},
{name: '我的YOHO币', href: helpers.urlFormat('/home/currency')},
{name: '我的红包', href: helpers.urlFormat('/home/redenvelopes')},
{name: '我的优惠券', href: helpers.urlFormat('/home/coupons')},
{name: '我的VIP', href: helpers.urlFormat('/home/vip')}
]
},
{
title: '服务中心',
subNav: [
{name: '我的退/换货', href: helpers.urlFormat('/home/returns')},
{name: '我的咨询', href: helpers.urlFormat('/home/consult')},
{name: '我的评论', href: helpers.urlFormat('/home/comment')},
{name: '我的投诉', href: helpers.urlFormat('/home/complaints')},
{name: '我的信息', href: helpers.urlFormat('/home/message'), count: 0},
{name: '在线客服', href: 'http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=620092&configID=149091&jid=8732423409&info=', isBlank: true}
]
},
{
title: '个人信息管理',
subNav: [
{name: '编辑个人资料', href: helpers.urlFormat('/home/user')},
{name: '账号安全', href: helpers.urlFormat('/home/account')},
{name: '地址管理', href: helpers.urlFormat('/home/address')},
{name: '兑换礼品卡', href: helpers.urlFormat('/home/gift')}
]
}
];
const getHomeNav = (req, res, next) => {
res.locals.homeNav = homeNav;
res.locals.userThumb = `//img10.static.yhbimg.com/headimg/
2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100`;
next();
};
const getCommonHeader = (req, res, next) => {
let channel = req.query.channel ? req.query.channel : 'boys';
headerModel.requestHeaderData(channel).then((result)=>{
_.merge(res.locals,result);
next();
});
};
const sessionEffective = (req, res, next) => {
let refer = req.cookies.refer;
if (req.user.uid) {
next();
return;
}
if (refer) {
refer = decodeURI(req.cookies.refer);
} else {
refer = config.siteUrl;
}
res.redirect(helpers.urlFormat('/signin.html', {
refer: refer
}));
// next();
};
// 查看二维码
router.get('/QRcode', sessionEffective, [getCommonHeader, getHomeNav], personalController.QRcode);
module.exports = router;
... ...
<div class='orders-me-page me-page yoho-page clearfix'>
{{> path}}
{{> navigation}}
<div class='me-main'>
<div class='qrcode orders block'>
<h2 class="title">
</h2>
<div class='subtitle'>
<h2>虚拟商品 <span class='pad20'>2016 YO'HOOD</span>展览票 {{code}}</h2>
<a class='r-go' href="{{returnOrder}}">返回我的账单</a>
</div>
{{#qrcodeData}}
<div class='qrcmain'>
<div class="qrcmain-switch">
<a class="prev gray" href="javascript:;">
<span class="iconfont">&#xe60e;</span>
</a>
<a class="next" href="javascript:;">
<span class="iconfont">&#xe60c;</span>
</a>
</div>
<div class='qrcim'>
<div class='qrctxt'>
<ul>
{{#each ticks}}
<li>
<div class='center'>
<img src='{{qr_image}}'>
<p class='bianhao'><label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>{{ticket_code}}</p>
{{#if isgroup}}
<p class='zuoweihao'><label>&nbsp;&nbsp;&nbsp;&nbsp;号:</label>{{seat_no}}</p>
{{/if}}
<p><label>进场时间:</label>{{entrance_time}}</p>
</div>
</li>
{{/each}}
</ul>
<div class='clearfix'></div>
</div>
</div>
<a class='btn-qcode' href='#'>打印二维码</a>
</div>
{{/qrcodeData}}
<div class='subtitle'>
<h2>咨询回答</h2>
</div>
<div class='question'>
<div class="main-info">
<p class="p1">
安全提示服务
</p>
<p class='tro'>
1、点击【打印二维码】按钮打印,入场时出示二维码电子票检验入场;
2、每个二维码只能使用一次,请保管好您的序列号,不要随意泄露给其他
人。
</p>
</div>
<div class="main-info">
<p class="p1">
如何获取二维码
</p>
<p class='tro'>
1、您可以点击【打印二维码】将票面打印,请在打印时将版面设置成横向打
印;
2、如果您的电脑未连接打印机,请点击【打印二维码】后,将弹出的票面图
片截图并保存,然后另行打印。
</p>
</div>
<div class="main-info">
<p class='gray'>
1、请保持票面干净完整,入场时只需要出示打印票面进行检验即可入场,每个
二维码只可使用一次,请您妥善保管。2、如果您的电脑未连接打印机,请点击【打印二维码后】,将弹出的票面图片截图并保存,然后另行打印。
</p>
</div>
</div>
</div>
<div id="print_wrap" style='display:none'>
<div class='print_qrcode'>
<img src='http://localhost:5002/img/home/qrcode.png'/>
<div class='print_content'>
</div>
</div>
</div>
</div>
</div>
... ...
<div class="home-navigation block">
<p class="title ucenter"></p>
<div class="user-thumb">
<div class="thumb-bg">
<img id="user-thumb" src="{{userThumb}}">
</div>
</div>
{{# homeNav}}
<div class="nav-group">
<h2 class="nav-title row">
<span class="title-icon"></span>
{{title}}
</h2>
<ul>
{{#each subNav}}
<li class="row{{#if @first}} first{{/if}}{{#if active}} active{{/if}}">
<a href="{{href}}" target="{{#if isBlank}}_blank{{/if}}" >{{name}}</a>
{{#if count}}
<span>{{count}}</span>
{{/if}}
</li>
{{/each}}
</ul>
</div>
{{/ homeNav}}
</div>
\ No newline at end of file
... ...
<p class="home-path">
<span class="path-icon"></span>
{{#each path}}
{{#unless @first}}
&nbsp;&nbsp;>&nbsp;&nbsp;
{{/unless}}
{{#if href}}
<a href="{{href}}">{{name}}</a>
{{^}}
<span>{{name}}</span>
{{/if}}
{{/each}}
</p>
\ No newline at end of file
... ...
... ... @@ -586,6 +586,18 @@ exports.handleSaleFilterData = (origin, params) => {
handleCheckedData(params, dest.size, 'size'));
}
// 年龄处理
dest.ageLevel = origin.ageLevel;
_.forEach(dest.ageLevel, item => {
item.href = handleFilterUrl(params, {age_level: item.id});
item.checked = params.age_level === item.id;
});
// 清除所有选中数据
let remainParams = {};
... ... @@ -608,6 +620,10 @@ exports.handleSaleFilterData = (origin, params) => {
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
handleCheckedData(params, dest.price, 'price'));
// 处理价格筛选数据
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
handleCheckedData(params, dest.ageLevel, 'age_level'));
return dest;
};
... ...
... ... @@ -19,6 +19,16 @@ module.exports = {
service: 'http://devservice.yoho.cn:58077/',
search: 'http://192.168.102.216:8080/yohosearch/'
},
subDomains: {
host: '.yohobuy.com',
default: '//www.yohobuy.com',
guang: '//guang.yohobuy.com',
list: '//list.yohobuy.com',
search: '//search.yohobuy.com',
huodong: '//huodong.yohobuy.com',
activity: '//activity.yohobuy.com',
index: '//www.yohobuy.com'
},
useOneapm: false,
useCache: false,
memcache: {
... ... @@ -32,7 +42,8 @@ module.exports = {
infoFile: {
name: 'info',
level: 'info',
filename: 'logs/info.log'
filename: 'logs/info.log',
maxFiles: 7
},
errorFile: {
name: 'error',
... ... @@ -42,7 +53,7 @@ module.exports = {
},
udp: { // send by udp
level: 'debug', // logger level
host: '192.168.102.162', // influxdb host
host: 'influxdblog.yohoops.org', // influxdb host
port: '4444' // influxdb port
},
console: {
... ...
... ... @@ -11,6 +11,7 @@ module.exports = app => {
// 业务模块
app.use(require('./apps/channel')); // 频道页
app.use(require('./apps/activity')); // 专题活动等活动页面
app.use(require('./apps/passport')); // 登录注册
app.use('/product', require('./apps/product')); // 商品相关页面
app.use(require('./apps/passport')); // 登录注册
app.use('/home', require('./apps/home')); // 会员中心
};
... ...
... ... @@ -49,6 +49,20 @@
</div>
{{/if}}
{{#if ageLevel}}
<div class="channel section">
<span class="title">性别:</span>
<div class="attr-content clearfix">
{{#each ageLevel}}
<a class="attr {{#if checked}}checked{{/if}}" href="{{href}}">
{{name}}
</a>
{{/each}}
</div>
</div>
{{/if}}
{{#if sort}}
<div class="sort section">
<span class="title">分类:</span>
... ...
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="图层_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 12 12"
style="enable-background:new 0 0 12 12;" xml:space="preserve">
<style type="text/css">
.st0{fill:#252525;}
</style>
<switch>
<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
<i:pgfRef xlink:href="#adobe_illustrator_pgf">
</i:pgfRef>
</foreignObject>
<g i:extraneous="self">
<g>
<defs>
<path id="SVGID_1_" d="M2,0h8c1.1,0,2,0.9,2,2v8c0,1.1-0.9,2-2,2H2c-1.1,0-2-0.9-2-2V2C0,0.9,0.9,0,2,0L2,0z"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<image style="overflow:visible;clip-path:url(#SVGID_2_);" width="12" height="12" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
EAMCAwYAAAFpAAABdAAAAZX/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAAwADAMBIgACEQEDEQH/
xABeAAEBAAAAAAAAAAAAAAAAAAAABgEBAAAAAAAAAAAAAAAAAAAAABABAQAAAAAAAAAAAAAAAAAA
ACARAQAAAAAAAAAAAAAAAAAAACASAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQAAAJ8H/9oA
CAECAAEFAH//2gAIAQMAAQUAf//aAAgBAQABBQCP/9oACAECAgY/AH//2gAIAQMCBj8Af//aAAgB
AQEGPwAf/9k=">
</image>
</g>
<path class="st0" d="M10,11c0.6,0,1-0.4,1-1V2c0-0.6-0.4-1-1-1H2C1.4,1,1,1.4,1,2v8c0,0.6,0.4,1,1,1H10 M10,12H2c-1.1,0-2-0.9-2-2
V2c0-1.1,0.9-2,2-2h8c1.1,0,2,0.9,2,2v8C12,11.1,11.1,12,10,12L10,12L10,12z"/>
<g>
<defs>
<polygon id="SVGID_3_" points="9,9 7,9 3,5 3,3 4,2 6,4 5,5 7,7 8,6 10,8 9,9 "/>
</defs>
<clipPath id="SVGID_4_">
<use xlink:href="#SVGID_3_" style="overflow:visible;"/>
</clipPath>
<image style="overflow:visible;clip-path:url(#SVGID_4_);" width="12" height="12" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
EAMCAwYAAAFpAAABdAAAAZX/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAAwADAMBIgACEQEDEQH/
xABeAAEBAAAAAAAAAAAAAAAAAAAABwEBAAAAAAAAAAAAAAAAAAAAABABAQAAAAAAAAAAAAAAAAAA
ACARAQAAAAAAAAAAAAAAAAAAACASAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQAAAKAD/9oA
CAECAAEFAH//2gAIAQMAAQUAf//aAAgBAQABBQCP/9oACAECAgY/AH//2gAIAQMCBj8Af//aAAgB
AQEGPwAf/9k=">
</image>
</g>
</g>
</switch>
<i:pgf id="adobe_illustrator_pgf">
<![CDATA[
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
]]>
<![CDATA[
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
]]>
<![CDATA[
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
]]>
<![CDATA[
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
]]>
<![CDATA[
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
4tFb
]]>
</i:pgf>
</svg>
... ...
var $ = require('yoho-jquery');
var Slide = require('../plugins/yohoui/YH.slide');
var $item = $('li', '.qrctxt');
var len = $item.length, slide;
function slideDo(to) {
$item.each(function(index) {
index === to ? $(this).stop().animate({
opacity: 1,
zIndex: 1
}, 400) : $(this).stop().animate({
opacity: 0,
zIndex: 0
}, 400);
to === 0 ? $('.prev').addClass('gray') : $('.prev').removeClass('gray');
to === len - 1 ? $('.next').addClass('gray') : $('.next').removeClass('gray');
});
}
slideDo(0);
slide = new Slide({
length: len,
loop: false,
auto: false,
timeout: 2,
index: 0
});
slide.on('change', function(data) {
slideDo(data.to);
});
$('.prev', '.qrcmain-switch').click(function() {
slide.prev();
});
$('.next', '.qrcmain-switch').click(function() {
slide.next();
});
$('.btn-qcode').click(function(){
var html=["<ul>"];
$(".center",".qrctxt").each(function(){
html.push("<li>");
var src=$(this).find('img').attr("src");
html.push("<img src='"+src+"'/>");
var bianhao=$(this).find('.bianhao').text();
html.push("<p>"+bianhao+"</p>");
var zuoweihao=$(this).find('.zuoweihao').text();
if(zuoweihao){
html.push("<p>"+zuoweihao+"</p>");
}
html.push("</li>");
});
html.push("</ul>");
$(".print_content").html(html.join(''));
document.body.innerHTML=$("#print_wrap").show().html();
window.print();
return false;
});
... ...
... ... @@ -195,5 +195,5 @@ $('.slide-container').slider({
extraInfo();
lazyLoad($('img.lazy'), {
failure_limit: 20
failure_limit: 20
});
... ...
.brands {
.brands-tabs {
margin-top: 20px;
position: relative;
a {
display: block;
img {
width: 100%;
height: 100%;
display: block;
}
}
li {
float: left;
p {
display: block;
font-size: 30px;
text-align: center;
color: #dedede;
position: absolute;
top: 50%;
width: 100%;
margin-top: -15px;
z-index: 3;
}
.g-mask {
opacity: 0.4;
}
&:hover .g-mask,
.g-mask-on {
opacity: 0;
}
}
.hover-contain {
position: relative;
border-bottom: 1px solid #dfdfdf;
.hoverarr {
background-color: #3d3d3d;
position: absolute;
bottom: 0;
z-index: 10;
i {
width: 0;
height: 0;
position: absolute;
left: 50%;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #3d3d3d;
top: -6px;
margin-left: -3px;
}
}
}
}
.header-navs {
margin-right: -15px;
}
.category-nav {
border: 2px solid #222;
padding-left: 16px;
height: 44px;
line-height: 44px;
font-size: 12px;
font-weight: bold;
position: relative;
z-index: 100;
background-color: #fff;
span {
display: inline-block;
margin-right: 15px;
}
a {
display: inline-block;
padding: 0 7px;
text-align: center;
color: #222;
cursor: pointer;
}
}
.category-fix {
position: fixed;
top: 0;
z-index: 100;
margin-top: 0 !important;
}
.brands-list {
dl {
position: relative;
border-top: 1px dotted #999;
padding: 20px 0;
}
dt {
position: absolute;
width: 130px;
text-align: center;
font-weight: bold;
font-size: 16px;
text-align: center;
top: 50%;
margin-top: -9px;
}
dd {
margin-left: 130px;
li {
float: left;
display: block;
width: 170px;
height: 18px;
}
a {
color: #666;
line-height: 18px;
font-size: 12px;
position: relative;
span {
max-width: 150px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: inline-block;
&:hover{
text-decoration: underline;
}
}
}
.brands-dialog {
display: inline;
position: relative;
}
.hot {
font-weight: bold;
color:#222;
}
i {
position: relative;
top: -4px;
color: #ee0011;
font-size: 14px;
}
}
}
.sit-nav {
padding-top: 10px;
font-size: 12px;
.sep {
margin: 0 8px;
}
}
.brands-category {
width: 1150px;
}
.brands-tabs {
width: 100%;
li {
margin-left: 10px;
a {
position: relative;
width: 222px;
height: 180px;
}
}
li:first-child {
margin-left: 0;
}
.hover-contain {
height: 30px;
.hoverarr {
height: 5px;
width: 222px;
}
}
}
.brands-ad, .brands-logo {
margin: 20px 0;
}
.brands-ad li {
float: left;
margin-left: 10px;
img {
display: block;
width: 280px;
height: 280px;
}
&:first-child {
margin-left: 0;
img {
width: 570px;
}
}
}
.brands-logo a {
float: left;
margin-left: 26px;
&:first-child {
margin-left: 0;
}
img {
display: block;
width: 91px;
height: 38px;
}
}
.list-floor {
width: 1160px;
}
.brandfloor {
.g-list {
margin-top: -32px;
}
li {
margin-right: 8px;
margin-top: 32px;
a {
width: 378px;
height: 250px;
}
}
}
.singlegoods {
.g-list {
margin-top: -10px;
}
li {
margin-right: 10px;
margin-top: 10px;
a {
width: 280px;
height: 374px;
}
}
.singlegoods-title {
position: absolute;
left: 0;
bottom: 0;
height: 50px;
width: 100%;
p {
position: absolute;
z-index: 2;
top: 0;
left: 0;
display: block;;
width: 100%;
height: 100%;
line-height: 50px;
font-size: 18px;
text-align: center;
color: #fff;
}
}
}
.video {
.g-list {
margin-top: -10px;
}
li {
margin-right: 8px;
margin-top: 10px;
a {
width: 378px;
height: 242px;
}
}
.video-play {
display: block;
position: absolute;
left: 50%;
top: 50%;
margin-left: -30px;
margin-top: -28px;
width: 60px;
height: 56px;
background-image: resolve(/index/play.png);
}
.video-title {
position: absolute;
left: 0;
bottom: 0;
height: 32px;
width: 100%;
p {
position: absolute;
z-index: 2;
top: 0;
left: 0;
display: block;;
width: 100%;
height: 100%;
font-size: 14px;
line-height: 32px;
text-align: center;
color: #fff;
}
}
}
.news {
margin-bottom: 40px;
.news-pic{
position: relative;
float: left;
width: 764px;
height: 436px;
.slide-container {
height: 100%;
li a {
height: 100%;
width: 764px;
}
.slide-wrapper {
height: 100%;
}
.slide-switch {
display: none;
.prev {
left: 0;
margin-left: 0;
}
.next {
right: 0;
margin-right: 0;
}
}
.slide-switch.show {
display: block;
}
}
.slide-tips{
position: absolute;
left: 0;
bottom: 0;
height: 30px;
width: 100%;
background: #000;
opacity: .8;
p{
position: absolute;
left: 18px;
z-index: 2;
height: 30px;
font-size: 14px;
line-height: 30px;
color: #fff;
}
}
.slide-pagination{
right: 0;
left: auto;
bottom: 0;
.slide-shade{
opacity: 0;
background:none;
}
span {
margin-top: 3px;
}
}
}
.news-txt {
float: right;
padding: 20px 16px;
float: right;
border: 1px solid #000;
overflow: hidden;
ul {
height: 100%;
}
li {
position: relative;
display: block;
margin-bottom: 10px;
margin-left: 20px;
}
a {
font-size: 14px;
line-height: 27px;
cursor: pointer;
color: #010101;
display: block;
&:hover {
color: #fff;
background: #000;
padding-left: 12px;
transition: padding 0.4s;
}
}
i {
position: absolute;
top: 0;
left: -26px;
font-size: 22px;
}
}
.news-txt {
width: 342px;
height: 394px;
}
}
.ads {
margin: 40px 0;
li {
margin-right: 10px;
margin-bottom: 10px;
a {
width: 280px;
img {
height: 160px;
}
}
.name {
font-size: 14px
}
.des {
font-size: 12px;
}
}
}
.brands-items{
margin: 25px auto;
.brands-item {
float: left;
padding: 15px 0;
width: 50%;
}
a.brands-pic {
float: left;
width: 280px;
height: 136px;
display: block;
img {
width: 100%;
height: 100%;
}
}
.brand-info {
float: right;
padding: 0 20px;
width: 255px;
color: #000;
h3 {
width: 100%;
font-size: 20px;
line-height: 1;
@mixin ellipsis;
}
.brand-desc {
padding: 12px 0;
height: 92px;
font-size: 14px;
line-height: 22px;
overflow: hidden;
}
}
}
.pagination {
margin: 40px 0 80px;
text-align: center;
a {
height: 24px;
padding: 0 9px;
line-height: 24px;
display: inline-block;
text-align: center;
margin-right: 8px;
color: #222;
font-size: 12px;
i {
position: relative;
top: -1px;
font-size: 10px;
transform: scale(0.8);
}
}
a.cur {
background: #222;
color: #fff;
}
}
}
.min-screen .brands {
.header-navs {
margin-right: -10px;
}
.sit-nav {
padding-top: 10px;
font-size: 12px;
.sep {
margin: 0 6px;
}
}
.brands-category {
width: 990px;
}
.brands-tabs {
li {
a {
width: 190px;
height: 154px;
}
}
.hover-contain {
height: 25px;
.hoverarr {
height: 4px;
width: 190px;
}
}
}
.brands-ad li {
img {
width: 240px;
height: 240px;
}
&:first-child img {
width: 490px;
}
}
.brands-logo a {
margin-left: 10px;
&:first-child {
margin-left: 0;
}
img {
width: 90px;
height: 37px;
}
}
.list-floor {
width: 1000px;
}
.brandfloor {
.g-list {
margin-top: -26px;
}
li {
margin-right: 9px;
margin-top: 26px;
a {
width: 324px;
height: 214px;
}
}
}
.singlegoods {
.g-list {
margin-top: -10px;
}
li {
margin-right: 10px;
margin-top: 10px;
a {
width: 240px;
height: 324px;
}
}
.singlegoods-title {
position: absolute;
left: 0;
bottom: 0;
height: 50px;
width: 100%;
p{
position: absolute;
z-index: 2;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
line-height: 50px;
font-size: 18px;
text-align: center;
color: #fff;
}
}
}
.video {
.g-list {
margin-top: -10px;
}
li {
margin-right: 9px;
margin-top: 10px;
a {
width: 324px;
height: 206px;
}
}
.video-play {
display: block;
position: absolute;
left: 50%;
top: 50%;
margin-left: -30px;
margin-top: -28px;
width: 60px;
height: 56px;
background-image: resolve(/index/play.png);
}
.video-title {
position: absolute;
left: 0;
bottom: 0;
height: 30px;
width: 100%;
p {
position: absolute;
z-index: 2;
top: 0;
left: 0;
display: block;;
width: 100%;
height: 100%;
font-size: 14px;
line-height: 30px;
text-align: center;
color: #fff;
}
}
}
.news {
.news-pic {
width: 660px;
height: 376px;
.slide-container {
height: 376px;
img {
height: 376px;
}
}
}
.news-txt {
width: 284px;
height: 334px;
li {
margin-bottom: 13px;
}
}
}
.ads {
margin-bottom: 30px;
li {
margin-right: 10px;
margin-bottom: 10px;
a {
width: 240px;
img {
height: 138px;
}
}
.name {
font-size: 14px
}
.des {
font-size: 12px;
}
}
}
.brands-items {
a.brands-pic {
width: 240px;
height: 116px;
}
.brand-info {
width: 212px;
.brand-desc {
height: 72px;
}
}
}
}
.brands-layer {
position: absolute;
z-index: 100;
top: -83px;
left: 15px;
width: 325px;
height: 287px;
background: resolve(/index/brands-layer.png) no-repeat;
font-weight: normal;
.layer-content {
padding: 20px 20px 20px 35px;
.title {
font-size: 24px;
line-height: 24px;
border-bottom: 1px solid #ccc;
padding-bottom: 5px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.desc {
margin: 5px 0 5px 0;
height: 72px;
overflow: hidden;
img {
width: 80px;
height: 50px;
margin: 3px 5px 0 0;
float: left;
}
.right {
width: 180px;
float: right;
font-size: 12px;
line-height: 150%;
max-height: 80px;
}
}
.featured {
font-size: 16px;
margin-right: -15px;
img {
height: 100px;
width: 80px;
float: left;
margin: 15px 15px 0 0;
}
}
}
}
.brands-layer-right {
background: resolve(/index/brands-layer.png) no-repeat 0 -287px;
left: -325px;
top: -83px;
.layer-content {
padding: 20px 35px 20px 20px;
}
}
\ No newline at end of file
... ...