Authored by xuqi

Merge branch 'test' into develop

... ... @@ -39,5 +39,7 @@ class CacheConfig
const KEY_ACTION_PRODUCT_BRAND_DOMAINS = 'key_action_product_brand_domains'; // 所有品牌域名列表
const KEY_ACTION_PRODUCT_BRAND_NAMES = 'key_action_product_brand_names'; // 所有品牌名称列表
const KEY_ACTION_PRODUCT_BRAND_LOGO = 'key_action_product_brand_logo'; // 品牌信息
const KEY_ACTION_INDEX_SEARCH = 'key_action_search_search'; // 搜索的数据
}
... ...
... ... @@ -16,20 +16,27 @@ use Api\Sign;
*/
class SearchData
{
/**
* 阿里云外网
* 获取搜索的服务地址
*
* @var string
* 备注:此处是根据环境来确定使用阿里云内网还是外网的URL
*
* @return string
*/
protected static $_searchurl = 'http://101.200.31.165/yohosearch/search.json';
// /**
// * 阿里云内网
// *
// * @var string
// */
// protected static $_searchurl = 'http://100.98.132.63/yohosearch/search.json';
private static function getSearchUrl()
{
defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'developer');
switch (APPLICATION_ENV) {
case 'release':
case 'test':
case 'preview':
return 'http://100.98.132.63/yohosearch/search.json';
case 'developer':
default:
return 'http://101.200.31.165/yohosearch/search.json';
}
}
/**
* 模糊搜索提供的关键词
... ... @@ -50,7 +57,7 @@ class SearchData
}
/**
* 根据给定查询数据搜索数据列表
* 根据给定查询数据搜索数据列表 (老的)
*
* @param string $query 查询条件, 默认为null
* @param string $brand 品牌,默认为null
... ... @@ -71,47 +78,29 @@ class SearchData
* @param integer $channel表示哪个频道,1表示男生,2表示女生,3表示潮童,4表示创意生活
* @return array 搜索到的数据
*/
public static function searchLiDatas($query = null, $brand = null, $gender = null, $color = null, $size = null, $price = null, $p_d = null, $sort = null, $order = 's_t_desc', $page = 1, $limit = 60, $channel = null)
public static function searchByCondition($condition)
{
// 排序数据映射表
$order_map = array(
's_t_desc' => 'shelve_time:desc',
's_t_asc' => 'shelve_time:asc',
's_p_asc' => 'sales_price:asc',
's_p_desc' => 'sales_price:desc',
's_d_desc' => 'discount:desc',
's_d_asc' => 'discount:asc',
'skn_desc' => 'product_skn:desc',
'skn_asc' => 'product_skn:asc',
'activities_desc' => 'activities.order_by:desc',
'activities_asc' => 'activities.order_by:asc',
's_n_asc' => 'sales_num:asc',
's_n_desc' => 'sales_num:desc',
'activities_id_desc' => 'activities.activity_id:desc',
'activities_id_asc' => 'activities.activity_id:asc',
);
$param = array();
is_null($query) || $param['query'] = $query;
is_null($brand) || $param['brand'] = $brand;
is_null($gender) || $param['gender'] = $gender;
is_null($color) || $param['color'] = $color;
is_null($size) || $param['size'] = $size;
is_null($price) || $param['price'] = $price;
is_null($p_d) || $param['p_d'] = $p_d;
is_null($sort) || $param['sort'] = $sort;
// is_null($channel) || $param['channel'] = $channel;
$param['order'] = $order_map[$order];
$param['page'] = $page;
$param['viewNum'] = $limit; // 每页记录数
$param['status'] = 1; // 是否上架,1表示在架,2表示不在
$param = Yohobuy::param();
$param['method'] = 'app.search.li';
if (!isset($condition['order'])) {
$param['order'] = 's_t_desc';
}
if (!isset($condition['page'])) {
$param['page'] = 1;
}
if (!isset($condition['limit'])) {
$param['limit'] = 60;
}
if (!empty($condition)) {
$param += $condition;
}
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(self::$_searchurl, $param);
return Yohobuy::get(Yohobuy::API_URL, $param);
}
/**
* 根据给定查询数据搜索数据列表
* 根据给定查询数据搜索数据列表 (新的)
*
* @param string $query 查询条件, 默认为null
* @param string $brand 品牌,默认为null
... ... @@ -132,19 +121,47 @@ class SearchData
* @param integer $channel表示哪个频道,1表示男生,2表示女生,3表示潮童,4表示创意生活
* @return array 搜索到的数据
*/
public static function searchByCondition($condition, $order = 's_t_desc', $page = 1, $limit = 60)
public static function searchElasticByCondition($condition)
{
$param = Yohobuy::param();
$param['method'] = 'app.search.li';
$param['order'] = $order;
$param['page'] = $page;
$param['limit'] = $limit;
// 排序数据映射表
$orderMaps = array(
's_t_desc' => 'shelve_time:desc',
's_t_asc' => 'shelve_time:asc',
's_p_asc' => 'sales_price:asc',
's_p_desc' => 'sales_price:desc',
's_d_desc' => 'discount:desc',
's_d_asc' => 'discount:asc',
'skn_desc' => 'product_skn:desc',
'skn_asc' => 'product_skn:asc',
'activities_desc' => 'activities.order_by:desc',
'activities_asc' => 'activities.order_by:asc',
's_n_asc' => 'sales_num:asc',
's_n_desc' => 'sales_num:desc',
'activities_id_desc' => 'activities.activity_id:desc',
'activities_id_asc' => 'activities.activity_id:asc',
);
$param = array();
$param['status'] = 1; // 是否上架,1表示在架,2表示不在
if (!isset($orderMaps[ $condition['order'] ] )) {
$param['order'] = $orderMaps['s_t_desc'];
} else {
$param['order'] = $orderMaps[ $condition['order'] ];
}
if (!isset($condition['page'])) {
$param['page'] = 1;
}
if (!isset($condition['limit'])) {
$param['viewNum'] = 60;
} else {
$param['viewNum'] = $condition['limit'];
unset($condition['limit']);
}
if (!empty($condition)) {
$param += $condition;
}
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::API_URL, $param, 600); // 有缓存10分钟
return Yohobuy::get(self::getSearchUrl(), $param);
}
}
... ...
... ... @@ -16,14 +16,14 @@ class ListProcess
* @param $data
* @return array 处理之后的商品数据
*/
public static function getListData($data)
public static function getListData($data, $returnFilter = true)
{
$result = array('new' => array(), 'filter' => array());
if (isset($data['product_list'])) {
$result['new'] = self::getProductData($data['product_list']);
}
if (isset($data['filter'])) {
if ($returnFilter && isset($data['filter'])) {
$result['filter'] = self::getFilterData($data['filter']);
}
... ... @@ -42,7 +42,7 @@ class ListProcess
$products = array();
foreach ($data as $value) {
$products[] = Helpers::formatProduct($value, true, true, true, true);
$products[] = Helpers::formatProduct($value, true, true, true);
}
return $products;
... ...
... ... @@ -193,7 +193,7 @@ class Helpers
// 如果$productData['default_images']为空,就取$productData['goods_list']中第一个,为空就不处理
if (empty($productData['default_images'])) {
$productData['default_images'] = $productData['goods_list'][0];
$productData['default_images'] = $productData['goods_list'][0]['images_url'];
}
$result = array();
... ... @@ -265,8 +265,11 @@ class Helpers
$result['share'] = $isApp && isset($articleData['share']['url']) ? $articleData['share']['url'] : false;
// 判断是否显示作者信息
if ($showAuthor) {
$result['author'] = empty($articleData['author']) ? false : $articleData['author'];
if ($showAuthor && !empty($articleData['author'])) {
if (!$isApp) {
$articleData['author']['url'] = Helpers::getFilterUrl($articleData['author']['url']);
}
$result['author'] = $articleData['author'];
}
// 模板中需要的标签标识
... ...
<?php
/**
* User: Zip
* Date: 15/10/28
* Time: 下午13:08
*/
namespace Plugin;
class Images
{
private static $domain = '.static.yhbimg.com';
private static $default_image = '/2015/08/25/02/01dd632a6e07bfef457ce4beda21dd6413.png';
private static $domainList = array(
... ... @@ -20,13 +24,11 @@ class Images
),
'yhb-head' => 'head.static.yhbimg.com'
);
private static $staticDomain = array(
'bucket' => ''
);
private static $qiniuDomain = 'yhfair.qiniudn.com';
/**
* 缩略图模板
* @param $fileName
... ... @@ -39,7 +41,7 @@ class Images
{
return self::url($fileName, $bucket, $mode);
}
/**
*
* @param unknown $fileName
... ... @@ -48,13 +50,13 @@ class Images
*/
public static function getSourceUrl($fileName, $bucket = 'yhfair')
{
if(stripos($fileName, 'http://') === 0){
if (stripos($fileName, 'http://') === 0) {
return $fileName;
}
$domain = self::getDomain($bucket, $fileName);
return 'http://' . $domain . '/' . $bucket . $fileName;
}
/**
* 根据尺寸获得图片url
* @param unknown $fileName
... ... @@ -64,14 +66,17 @@ class Images
* @param string $bucket
* @return mixed
*/
public static function getImageUrl($fileName, $width, $height, $mode = 1, $bucket = 'goodsimg')
public static function getImageUrl($fileName, $width, $height, $mode = 2, $bucket = 'goodsimg')
{
if (stripos($fileName, 'http://') !== 0){
$fileName = self::template($fileName, $bucket, $mode);
}
return strtr($fileName, array('{width}' => $width, '{height}' => $height, '{mode}' => $mode));
if (!is_string($fileName)) {
return self::template(self::$default_image, $bucket, $mode);
}
if (stripos($fileName, 'http://') !== 0) {
$fileName = self::template($fileName, $bucket, $mode);
}
return strtr($fileName, array('{width}' => $width, '{height}' => $height, '{mode}' => $mode));
}
/**
* 获取图片URL模板
* @param $fileName
... ... @@ -84,13 +89,13 @@ class Images
$domain = self::getDomain($bucket, $fileName);
return self::getImgTemplateUrl($bucket . $fileName, $mode, $domain);
}
public static function getDomain($bucket, $fileName)
{
$domain = '';
if(!empty(self::$domainList[$bucket])){
if (!empty(self::$domainList[$bucket])) {
$domain = self::$domainList[$bucket];
}else{
} else {
$node = mb_substr($fileName, 15, 2);
if (!empty(self::$domainList[$node])) {
$domainList = self::$domainList[$node];
... ... @@ -100,7 +105,7 @@ class Images
}
return $domain;
}
/**
* 获取模板的图片地址
* @param $fileName
... ... @@ -118,13 +123,13 @@ class Images
$baseUrl = self::MakeBaseUrl($domain, $fileName);
return self::MakeTemplateRequest($baseUrl);
}
private static function MakeBaseUrl($domain, $key) // => $baseUrl
{
$keyEsc = str_replace("%2F", "/", rawurlencode($key));
return "http://$domain/$keyEsc";
}
private static function MakeTemplateRequest($url)
{
$ops = array();
... ... @@ -135,7 +140,8 @@ class Images
if (empty($ops)) {
return $url;
}
return $url . "?imageView/" . implode('/', $ops);
}
}
\ No newline at end of file
}
... ...
... ... @@ -237,25 +237,6 @@ server
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "gzip";
}
# # 子域名
# if ($host = "sale.test.yoho.cn" ) {
# proxy_redirect off;
# proxy_pass http://61.155.222.162;
# proxy_set_header Host cuxiao.m.yohobuy.com;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header Accept-Encoding "gzip";
# }
# if ($host = "cuxiao.test.yoho.cn" ) {
# proxy_redirect off;
# proxy_pass http://101.201.176.121;
# proxy_set_header Host cuxiao.m.yohobuy.com;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header Accept-Encoding "gzip";
# }
#location ~* \.html$ {
# root /Data/code/git/yohobuy/assets;
... ... @@ -274,18 +255,18 @@ server
location =/sitemap.xml {
expires 1d;
}
location=/robots.txt {
location =/robots.txt {
expires 1d;
}
location / {
proxy_redirect off;
proxy_pass http://yohobuy;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "gzip";
}
#location / {
# proxy_redirect off;
# proxy_pass http://yohobuy;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header Accept-Encoding "gzip";
# }
}
... ... @@ -310,4 +291,33 @@ server
expires 30d;
}
}
server
{
listen 80;
server_name sale.test.yoho.cn;
location / {
proxy_redirect off;
proxy_pass http://61.155.222.163;
proxy_set_header Host sale.m.yohobuy.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "gzip";
}
}
server
{
listen 80;
server_name cuxiao.test.yoho.cn;
location / {
proxy_redirect off;
proxy_pass http://101.201.176.121;
proxy_set_header Host cuxiao.m.yohobuy.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "gzip";
}
}
\ No newline at end of file
... ...
... ... @@ -294,13 +294,62 @@ if ($brandList.length > 0) {
});
}
myHammer = new Hammer($('#right-bar .con').find('b').unbind()[0]);
myHammer.on('tap', function(e) {
var index = $(this).index();
if ($('#right-bar .con').find('b').unbind()[0]) {
myHammer = new Hammer($('#right-bar .con').find('b').unbind()[0]);
myHammer.on('tap', function(e) {
var index = $(this).index();
if ($('.bar-' + index).size() > 0) {
document.body.scrollTop = parseInt($('.bar-' + index)[0].offsetTop) - parseInt(brandSwipe - 1);
}
if ($('.bar-' + index).size() > 0) {
document.body.scrollTop = parseInt($('.bar-' + index)[0].offsetTop) - parseInt(brandSwipe - 1);
}
});
}
function searchResult(type) {
var keyword = $('#keyword').val(),
gender = $('#gender').val();
$.get('/brands/search', {
keyword: keyword,
gender: gender,
type: type
}, function(html) {
$('.search-result').html(html);
});
}
$('#keyword').on('keyup', function() {
searchResult(0);
}).on('keydown', function() {
$(this).closest('.search-box').css('width', '11.25rem');
$('.search-action').show();
}).on('blur', function() {
$(this).closest('.search-box').css('width', '12.5rem');
$('.search-action').hide();
});
$('#search-btn').on('tap', function() {
searchResult(1);
});
$('.clear-text').on('tap', function() {
$('#keyword').val('').trigger('input');
});
$('form.search-box').on('submit', function() {
return false;
});
$('.clear-history').on('tap', function() {
// setcookie('h_brands', '', {
// expire: -1,
// path: '/',
// domain: '.m.yohobuy.com'
// });
$('#history-keyword').remove();
$(this).hide();
});
});
... ... @@ -444,7 +493,9 @@ likeHammer.on('tap', function(e) {
success: function(data) {
if (data.code === 200) {
$this.toggleClass('like');
} else if (data.code === 400) {
} else if (data.code === 400 || data.code === 412) {
//code:412 用户ID不正确,即未登录
tip.show('未登录');
} else {
tip.show(data.message);
... ... @@ -1226,6 +1277,7 @@ navHammer.on('tap', function(event) {
});
event.srcEvent.stopPropagation();
return false;
});
mobileWrapHammer = new Hammer($('.mobile-wrap')[0]);
... ... @@ -1243,11 +1295,12 @@ mobileWrapHammer.on('tap', function(e) {
$('.overlay').hide();
}, 300);
e.srcEvent.stopPropagation();
return false;
}
});
//点击一级导航,弹出二级导航
$sideNav.on('touchstart', 'li', function () {
$sideNav.on('touchend', 'li', function () {
if ($(this).find('.sub-nav').size() > 0) {
$('.sub-nav').removeClass('show');
$(this).find('.sub-nav').addClass('show');
... ... @@ -1256,10 +1309,12 @@ $sideNav.on('touchstart', 'li', function () {
//返回一级导航,收起二级导航
$('.sub-nav').each(function () {
$(this).find('li').eq(0).on('touchstart', function (e) {
$(this).find('li').eq(0).on('touchend', function (e) {
$('.sub-nav').removeClass('show');
e.stopPropagation();
return false;
});
}).on('touchend', function() {
$('.sub-nav').find('li').removeClass('current');
});
//头部banner轮播
... ... @@ -1375,7 +1430,7 @@ function tsAnimate() {
setTimeout(tsAnimate, 3000);
});
define("js/home/maybe-like", ["jquery","lazyload"], function(require, exports, module){
define("js/home/maybe-like", ["jquery","hammer","lazyload"], function(require, exports, module){
/**
* “你可能喜欢”模块JS
* @author: liangzhifeng<zhifeng.liang@yoho.cn>
... ... @@ -1383,10 +1438,12 @@ define("js/home/maybe-like", ["jquery","lazyload"], function(require, exports, m
*/
var $ = require("jquery"),
Hammer = require("hammer"),
tip = require("js/plugin/tip"),
lazyLoad = require("lazyload");
var winH = $(window).height(),
var navHammer,
winH = $(window).height(),
loadMoreH = $('#load-more').height(),
$goodList = $('#goods-list'),
loading = false,
... ... @@ -1413,93 +1470,103 @@ if (kidsType) {
$curNav = $navList.children('.focus');
$('#maybe-like-nav').delegate('li', 'tap', function() {
var $this = $(this),
$goods = $('.goods-list'),
$content;
if (lifestyleType) {
navHammer = new Hammer($navList[0]);
navHammer.on('tap', function(e) {
var $this = $(e.target).closest('li'),
$goods = $('.goods-list'),
$content;
if ($this.hasClass('focus')) {
return;
}
if ($this.hasClass('focus')) {
return;
}
index = $this.index();
index = $this.index();
$this.addClass('focus');
$curNav.removeClass('focus');
$this.addClass('focus');
$curNav.removeClass('focus');
$goods.not('.hide').addClass('hide');
$content = $goods.eq(index);
$content.removeClass('hide');
$goods.not('.hide').addClass('hide');
$content = $goods.eq(index);
$content.removeClass('hide');
$curNav = $this;
$curNav = $this;
$(document).trigger('scroll'); //Trigger lazyLoad
});
}
$(document).trigger('scroll'); //Trigger lazyLoad
});
//srcoll to load more
$(window).scroll(function () {
if ($(window).scrollTop() + winH >= $(document).height() - loadMoreH - 50) {
if (loading) {
return;
}
loading = true;
//num = $goodList.find('.good-info').length;
$.ajax({
type: 'GET',
url: url,
data: {
page: page + 1
},
success: function(data) {
if (data === ' ') {
loading = true;
if (gender) {
if (gender === '1,3') {
url = '/boys/bottomBanner';
} else {
url = '/girls/bottomBanner';
}
$.ajax({
type: 'GET',
url: url,
success: function(data) {
if (data && data[0] && data[0].banner[0]) {
$('#load-more-img').show();
$('#load-more-img a').attr('url', data[0].banner[0].url);
$('#load-more-img a > img').attr('src', data[0].banner[0].img);
}
},
error: function() {
}
});
function search() {
if (loading) {
return;
}
loading = true;
//num = $goodList.find('.good-info').length;
$.ajax({
type: 'GET',
url: url,
data: {
page: page + 1
},
success: function(data) {
if (data === ' ') {
loading = true;
if (gender) {
if (gender === '1,3') {
url = '/boys/bottomBanner';
} else {
url = '/girls/bottomBanner';
}
return;
$.ajax({
type: 'GET',
url: url,
success: function(data) {
if (data) {
$('#load-more-img').show();
$('#load-more-img a').attr('href', data.url);
$('#load-more-img a > img').attr('src', data.img);
}
},
error: function() {
}
});
}
return;
}
num = $goodList.find('.good-info').length;
num = $goodList.find('.good-info').length;
$goodList.append(data);
$goodList.append(data);
// 2015/10/31 fei.hong: 修复第一页分页不显示图片的问题
if (num === 0) {
lazyLoad($goodList.find('.good-info').find('img.lazy'));
} else {
lazyLoad($goodList.find('.good-info:gt(' + (num - 1) + ')').find('img.lazy'));
}
loading = false;
page++;
},
error: function() {
tip.show('网络断开连接了~');
loading = false;
// 2015/10/31 fei.hong: 修复第一页分页不显示图片的问题
if (num === 0) {
lazyLoad($goodList.find('.good-info').find('img.lazy'));
} else {
lazyLoad($goodList.find('.good-info:gt(' + (num - 1) + ')').find('img.lazy'));
}
});
}
loading = false;
page++;
},
error: function() {
tip.show('网络断开连接了~');
loading = false;
}
});
}
$('.maybe-like p').on('touchstart', function (e) {
search();
});
//srcoll to load more
$(window).scroll(function () {
if ($(window).scrollTop() + winH >= $(document).height() - loadMoreH - 50) {
search();
}
});
});
define("js/index/entry", ["jquery","hammer"], function(require, exports, module){
... ... @@ -1511,6 +1578,7 @@ define("js/index/entry", ["jquery","hammer"], function(require, exports, module)
require("js/index/search");
require("js/index/footer");
require("js/index/channel");
});
define("js/index/search", ["jquery","hammer"], function(require, exports, module){
/**
... ... @@ -1701,6 +1769,49 @@ if ($('#float-layer-btn') && $('#float-layer-btn')[0]) {
}
});
define("js/index/channel", ["jquery"], function(require, exports, module){
/**
* 频道选择页面顶部搜索
* @author: bikai<kai.bi@yoho.cn>
* @date: 2015/10/28
*/
var $ = require("jquery");
var $searchBox = $('.search-box'),
$indexSearch = $('.index-search'),
$indexLogo = $('.index-logo');
$searchBox.find('input').on('focus', function() {
$indexLogo.css({
width: 0
});
$searchBox.css({
width: '12.8rem'
});
$indexSearch.css({
width: '15.5rem'
});
$('.clear-text, .no-search').show();
}).on('blur', function() {
$indexLogo.css({
width: '5.4rem'
});
$searchBox.css({
width: '8.8rem'
});
$indexSearch.css({
width: '9.6rem'
});
$('.clear-text, .no-search').hide();
});
$searchBox.find('.clear-text').click(function() {
$searchBox.find('input').val('').trigger('focus');
});
$searchBox.find('.search-icon').click(function() {
$indexSearch.submit();
});
});
define("js/passport/entry", ["jquery"], function(require, exports, module){
/**
* 注册、登录、密码找回打包入口
... ... @@ -2644,6 +2755,8 @@ var defaultOpt = {
dayLimit: 1
};
var storeOpt = $.extend({}, defaultOpt); //存储默认筛选条件以便重置
var now = new Date(),
month = now.getMonth() + 1,
date = now.getDate();
... ... @@ -2870,8 +2983,7 @@ $.ajax({
//切换active状态到$pre上
$pre.addClass('active');
$pre.siblings('.filter').removeClass('active');
},
missStatus: true
}
});
}
});
... ... @@ -2946,6 +3058,10 @@ navHammer.on('tap', function(e) {
$dgc.removeClass('hide');
break;
}
//重置筛选项
filter.resetFilter();
defaultOpt = $.extend({}, storeOpt);
}
$active.removeClass('active');
... ... @@ -2993,13 +3109,6 @@ var missStatus; //是否忽略选中状态
//隐藏筛选界面
function hideFilter() {
$filter.addClass('hide');
if (missStatus) {
//重置一级筛选项选中状态
$filter.find('.classify-item.active').removeClass('active');
$filter.find('.classify-item:first-child').addClass('active');
}
}
//显示筛选界面
... ... @@ -3007,6 +3116,7 @@ function showFilter() {
$filter.removeClass('hide');
}
//主筛选项Tap事件句柄
function classifyTapEvt($this) {
if ($this.hasClass('active')) {
return;
... ... @@ -3017,9 +3127,8 @@ function classifyTapEvt($this) {
$this.addClass('active');
}
function subClassifyTapEvt($this) {
var id = $this.data('id');
//子筛选项选中处理
function setSubClassify($this) {
var $sub = $this.closest('.sub-classify');
var $shower = $sub.siblings('.shower');
... ... @@ -3048,6 +3157,17 @@ function subClassifyTapEvt($this) {
$shower.removeClass('default');
}
return $sub;
}
//子筛选项Tap句柄
function subClassifyTapEvt($this) {
var id = $this.data('id');
var $sub;
$sub = setSubClassify($this);
if (fCbFn) {
fCbFn({
type: $sub.data('type'),
... ... @@ -3056,12 +3176,6 @@ function subClassifyTapEvt($this) {
}
hideFilter();
//重置选中状态
if (missStatus) {
$this.removeClass('chosed');
$sub.children(':first-child').addClass('chosed');
}
}
//初始化筛选
... ... @@ -3109,11 +3223,28 @@ function initFilter(opt) {
});
}
//重置筛选面板
function resetFilter() {
if (typeof $filter === 'undefined') {
return;
}
//重置子筛选项
$('.sub-classify').each(function() {
setSubClassify($(this).children(':first-child'));
});
//重置主筛选项
classifyTapEvt($('.classify > :first-child'));
}
exports.initFilter = initFilter;
exports.showFilter = showFilter;
exports.hideFilter = hideFilter;
exports.resetFilter = resetFilter;
});
define("js/product/newsale/discount", ["jquery","swiper","hammer","lazyload","index"], function(require, exports, module){
/**
... ... @@ -3877,6 +4008,8 @@ if ($brandHeader.length > 0) {
success: function(data) {
if (data.code === 200) {
$this.toggleClass('coled');
} else if (data.code === 400 || data.code === 412) {
tip.show('未登录');
} else {
tip.show(data.message);
}
... ...
This diff could not be displayed because it is too large.
define("index",["jquery","hammer","swiper","lazyload","mlellipsis","iscroll-probe","index"],function(e,a,s){var n;e("js/common"),e("js/category/entry"),e("js/guang/entry"),e("js/home/entry"),e("js/index/entry"),e("js/passport/entry"),e("js/product/entry"),s.exports=n}),define("js/common",["jquery"],function(e,a,s){function n(e){var a,s,n=document.cookie;return document.cookie&&""!==document.cookie&&(s=n.indexOf(e+"="),s>-1&&(s+=e.length+1,a=decodeURIComponent(d.trim(n.substring(s,n.indexOf(";",s)))))),a}function i(e,a,s){var n,i,t,o,r="";"undefined"!=typeof a&&(s=s||{},null===a&&(a="",s.expires=-1),s.expires&&("number"==typeof s.expires||s.expires.toUTCString)&&("number"==typeof s.expires?(o=new Date,o.setTime(o.getTime()+24*s.expires*60*60*1e3)):o=s.expires,r="; expires="+o.toUTCString()),n=s.path?"; path="+s.path:"",i=s.domain?"; domain="+s.domain:"",t=s.secure?"; secure":"",document.cookie=[e,"=",encodeURIComponent(a),r,n,i,t].join(""))}function t(){var e,a=n("_UID");return"undefined"==typeof a?0:(e=a.split("::"),"undefined"==typeof e||e.length<4?0:e)}function o(){var e=t();return 0===e?0:e[1]}function r(){var e=n("_g");return"undefined"==typeof e?"":JSON.parse(e).k}function l(){0!==c.length&&(d("body").height()<d(window).height()-u?c.addClass("bottom"):c.removeClass("bottom"))}var d=e("jquery"),c=d("#yoho-footer"),u=120;!function(){var e=c.children(".op-row"),a=t();d("body").height()<d(window).height()-u&&c.addClass("bottom"),0===a?e.prepend('<a href="http://m.yohobuy.com/signin.html">登录</a><span class="sep-line">|</span><a href="http://m.yohobuy.com/reg.html">注册</a>'):e.prepend('Hi,<a class="user-name" href="http://m.yohobuy.com/home?tmp='+Math.random()+'">'+a[0]+'</a><a href="http://m.yohobuy.com/passport/signout/index?token='+a[3]+'">退出</a>'),c.removeClass("hide")}(),window.cookie=n,window.setCookie=i,window.getUser=t,window.getUid=o,window.getShoppingKey=r,window.rePosFooter=l}),define("js/category/entry",["jquery","hammer","swiper","lazyload","index"],function(e,a,s){e("js/category/index"),e("js/category/brand")}),define("js/category/index",["jquery","hammer"],function(e,a,s){var n,i,t=e("jquery"),o=e("hammer"),r=t(".category-nav"),l=t(".category-container"),d=l.children(".content"),c=d.not(".hide");t("#search-input").focus(function(){t(this).blur()}),n=new o(r[0]),n.on("tap",function(e){var a=t(e.target).closest("li"),s=a.index();a.hasClass("focus")||(r.find("li.focus").removeClass("focus"),a.addClass("focus"),c.addClass("hide"),c=d.eq(s).removeClass("hide"))}),i=new o(l[0]),i.on("tap",function(e){var a,s,n,i=t(e.target);if(s=i.closest(".p-level-item"),s.length>0){if(n=s.index(),a=i.closest(".content").find(".sub-level"),i.hasClass("focus"))return;i.closest(".primary-level").children(".focus").removeClass("focus"),i.addClass("focus"),a.not(".hide").addClass("hide"),a.eq(n).removeClass("hide")}})}),define("js/category/brand",["jquery","hammer","swiper","lazyload","index"],function(e,a,s){var n,i,t=e("jquery"),o=e("hammer"),r=e("swiper"),l=e("lazyload"),d=t(".brand-list"),c=t(".newbrand-search").outerHeight(),u=t(".yoho-header").outerHeight(),p=parseInt(c)+parseInt(u)-1;n=new r(".swiper-container",{lazyLoading:!0,loop:!0,autoplay:3e3,pagination:".swiper-pagination .pagination-inner"}),l(t("img.lazy")),t(".yoho-header").css({"z-index":2,position:"fixed"}),t(".banner-top").css("padding-top","90px"),d.length>0&&t(window).scroll(function(){var e=t(window).scrollTop();t(".brand-list").each(function(){var a=t(this).offset().top-p;e>=a?(d.find(".title-bar").css("position","static"),t(this).find(".title-bar").css({position:"fixed",top:p})):t(this).find(".title-bar").css("position","static")})}),i=new o(t("#right-bar .con").find("b").unbind()[0]),i.on("tap",function(e){var a=t(this).index();t(".bar-"+a).size()>0&&(document.body.scrollTop=parseInt(t(".bar-"+a)[0].offsetTop)-parseInt(p-1))})}),define("js/guang/entry",["jquery","hammer","lazyload","swiper","mlellipsis","iscroll-probe","index"],function(e,a,s){e("js/guang/plus-star/list"),e("js/guang/plus-star/detail"),e("js/guang/home"),e("js/guang/list"),e("js/guang/detail")}),define("js/guang/plus-star/list",["jquery","hammer","lazyload","swiper","index"],function(e,a,s){var n,i,t=e("jquery"),o=e("hammer"),r=e("lazyload"),l=e("swiper"),d=t("#nav-tab > li"),c=t("#ps-content > .content");r(t("img.lazy")),n=new l(".swiper-container",{lazyLoading:!0,pagination:".swiper-pagination"}),i=new o(document.getElementById("nav-tab")),i.on("tap",function(e){var a=t(e.target).closest("li");a.hasClass("focus")||(d.toggleClass("focus"),c.toggleClass("hide"),t(document).trigger("scroll"))})}),define("js/guang/plus-star/detail",["jquery","hammer","mlellipsis","lazyload"],function(e,a,s){var n,i,t,o,r=e("jquery"),l=e("hammer"),d=e("mlellipsis"),c=e("lazyload"),u=r("#intro"),p=r("#intro-more-txt"),h=r("#related-infos-container"),f=e("js/guang/info"),g=e("js/plugin/tip"),m=r("#brand-info").data("id");d.init(),c(r("img.lazy")),u[0].mlellipsis(3),setTimeout(function(){n=u.text(),i=u.attr("title")}),f.initInfosEvt(h),t=new l(document.getElementById("more-intro")),t.on("tap",function(e){var a=r(e.target).closest("#more-intro");a.toggleClass("spread"),a.hasClass("spread")?(u.text(i),p.text("收起")):(u.text(n),p.text("more"),r(window).scrollTop(0,400)),e.preventDefault()}),o=new l(document.getElementById("brand-like")),o.on("tap",function(e){var a="ok",s=r(e.target);e.preventDefault(),s.hasClass("like")&&(a="cancel"),r.ajax({type:"POST",url:"/product/opt/favoriteBrand",data:{id:m,opt:a},success:function(e){200===e.code?s.toggleClass("like"):400===e.code?g.show("未登录"):g.show(e.message)},error:function(){g.show("网络断开连接了~")}})})}),define("js/guang/info",["jquery","hammer","mlellipsis","lazyload"],function(e,a,s){function n(e){d(e.find("img.lazy")),e.each(function(){var e=o(this),a=e.find(".info-title"),s=e.find(".info-text");a[0].mlellipsis(2),s[0].mlellipsis(2)})}function i(e){var a=new r(e[0]);a.on("tap",function(e){var a,s,n=o(e.target),i="ok";a=n.closest(".like-btn"),a.length>0&&(a.hasClass("like")&&(i="cancel"),s=n.closest(".guang-info"),o.ajax({type:"POST",url:"/guang/opt/praiseArticle",data:{id:s.data("id"),opt:i},success:function(e){var s=e.code;200===s&&(a.next(".like-count").text(e.data),a.toggleClass("like"))},error:function(){c.show("网络断开连接了~")}}))}),n(e.find(".guang-info"))}function t(e,a){var s;g||a.end||(1===a.page&&u.showLoadingMask(),s=e.find(".guang-info").length,g=!0,o.ajax({type:"GET",url:" /guang/index/page",data:a,success:function(i){var t;return" "===i?(a.end=!0,g=!1,h.addClass("hide"),void f.removeClass("hide")):(e.append(i),t=s>0?e.find(".guang-info:gt("+(s-1)+")"):e.find(".guang-info"),n(t),1===a.page&&u.hideLoadingMask(),a.page++,void(g=!1))},error:function(){c.show("网络断开连接了~"),g=!1}}))}var o=e("jquery"),r=e("hammer"),l=e("mlellipsis"),d=e("lazyload"),c=e("js/plugin/tip"),u=e("js/plugin/loading"),p=o("#load-more-info"),h=o(""),f=o(""),g=!1;l.init(),p.length>0&&(h=p.children(".loading"),f=p.children(".no-more")),a.initInfosEvt=i,a.setLazyLoadAndMellipsis=n,a.loadMore=t}),define("js/plugin/tip",["jquery"],function(e,a,s){function n(e,a){var s,n;"undefined"!=typeof e&&(s=e.toString(),n=a&&a>0?a:2e3,i.text(s).show(),t=setTimeout(function(){"block"===i.css("display")&&i.hide()},n))}var i,t,o=e("jquery");!function(){var e='<div id="yoho-tip" class="yoho-tip"></div>';o(".yoho-page").append(e),i=o("#yoho-tip"),i.on("tap",function(){i.hide(),clearTimeout(t)})}(),a.show=n}),define("js/plugin/loading",["jquery"],function(e,a,s){function n(){t.removeClass("hide")}function i(){t.addClass("hide")}var t,o=e("jquery"),r=o(".yoho-page");!function(){var e='<div class="loading-mask hide"><div class="loading"></div></div>';r.append(e),t=r.children(".loading-mask")}(),a.showLoadingMask=n,a.hideLoadingMask=i}),define("js/guang/home",["jquery","hammer","swiper","mlellipsis","lazyload","index"],function(e,a,s){var n,i,t=e("jquery"),o=e("hammer"),r=e("swiper"),l=e("js/guang/info"),d=l.loadMore,c=t("#load-more-info"),u=t(""),p=t(""),h=t(window).height(),f=c.height(),g=t("#info-list"),m=g.children(".info-list"),v=t("#guang-nav"),w=v.children(".focus"),y=w.data("type"),b={};c.length>0&&(u=c.children(".loading"),p=c.children(".no-more")),n=new r(".swiper-container",{lazyLoading:!0,pagination:".swiper-pagination"}),l.initInfosEvt(g),function(){var e=t("#gender").val();v.children(".guang-nav-item").each(function(){var a=t(this).data("type"),s=t(this).hasClass("focus");b[a]={page:s?2:1,gender:e,type:a,end:!1}})}(),i=new o(v[0]),i.on("tap",function(e){var a,s,n=t(e.target).closest(".guang-nav-item");n.hasClass("focus")||(s=n.index(),n.addClass("focus"),w.removeClass("focus"),m.not(".hide").addClass("hide"),a=m.eq(s),a.removeClass("hide"),w=n,y=n.data("type"),1===b[y].page&&d(a,b[y]),b[y].end?(u.addClass("hide"),p.removeClass("hide")):(u.removeClass("hide"),p.addClass("hide")))}),t(document).scroll(function(){t(window).scrollTop()+h>=t(document).height()-f&&d(m.not(".hide"),b[y])})}),define("js/guang/list",["jquery","hammer","mlellipsis","lazyload"],function(e,a,s){var n=e("jquery"),i=e("js/guang/info"),t=i.loadMore,o=n(window).height(),r=n("#load-more").height(),l=n("#author-infos"),d=n("#tag"),c=n("#gender"),u=n("#isApp"),p={page:2,end:!1},h=n("#info-list");i.initInfosEvt(h),l.length>0&&n.extend(p,{authorId:l.data("id")}),d.length>0&&n.extend(p,{tag:d.val(),gender:c.val(),isApp:u.val()}),n(document).scroll(function(){n(window).scrollTop()+o>=n(document).height()-r-50&&t(h,p)})}),define("js/guang/detail",["jquery","mlellipsis","lazyload","iscroll-probe"],function(e,a,s){function n(e){var a=e.offset().left,s=-b+a+w/2+"px";o.css({backgroundPosition:s+" bottom"}),m&&y.css({backgroundPosition:s+" bottom"})}function i(e){var a,s,i,p=u(e.currentTarget),f=p.index();p.hasClass("focus")||(r.filter(".focus").removeClass("focus"),m&&(a=p.closest(".fixed-thumb-container").length>0?o:y,s=a.find(".thumb").eq(f),y.find(".thumb.focus").removeClass("focus"),s.addClass("focus")),p.addClass("focus"),n(p),l.not(".hide").addClass("hide"),i=l.eq(f),i.removeClass("hide"),h(i.find(".lazy")),m?c&&c.scrollToElement(d,400):u("body").animate({scrollTop:t.offset().top},400))}var t,o,r,l,d,c,u=e("jquery"),p=e("mlellipsis"),h=e("lazyload"),f=e("iscroll-probe"),g=u(".author .intro"),m=navigator.userAgent.indexOf("iPhone")>0?!0:!1,v=u(".collocation-block").length>0?!0:!1,w=0,y=u(""),d=document.querySelector("#wrapper .collocation-block"),b=u(window).width();e("js/plugin/wx-share")(),m&&u("#wrapper").addClass("ios"),p.init(),h(u(".lazy")),u(".info-list .title, .one-good .reco-name").each(function(){this.mlellipsis(2)}),parseInt(g.offset().left,10)===parseInt(g.css("margin-left"),10)&&g.css("padding-top",0),v&&(t=u(".collocation-block"),o=t.children(".thumb-container"),r=o.find("li"),l=t.find(".prod"),w=r.width(),m&&(y=u("#wrapper").after(o.clone().addClass("fixed-thumb-container fixed-bottom")).next(".thumb-container"),h(y.find(".lazy"),{event:"sporty"})),n(r.filter(".focus")),o.delegate(".thumb","touchend",i),m&&y.delegate(".thumb","touchend",i)),window.onload=function(){var e,a,s,n,i,r=u("#scroller");if(m){if(c=new f("#wrapper",{probeType:3,mouseWheel:!0,click:!0}),document.addEventListener("touchmove",function(e){e.preventDefault()},!1),!v)return void c.on("scroll",function(){r.trigger("scroll")});e=u(window).height(),i=y[0],a=o.height(),s=t.height(),n=t.offset().top,c.on("scroll",function(){var t=-this.y,o=i.className;n-e+a>=t?-1===o.indexOf("fixed-bottom")&&y.addClass("fixed-bottom").removeClass("hide"):n>=t?-1===o.indexOf("hide")&&y.addClass("hide").removeClass("fixed-bottom fixed-top"):n+s-a>=t?-1===o.indexOf("fixed-top")&&y.addClass("fixed-top").removeClass("hide absolute").css("top",""):n+s>=t?(-1===o.indexOf("absolute")&&y.addClass("absolute").removeClass("fixed-top hide"),i.style.top=n+s-a-t+"px"):t>n+s&&-1===o.indexOf("hide")&&y.addClass("hide").removeClass("absolute"),r.trigger("scroll")})}}}),define("js/plugin/wx-share",["jquery"],function(e,a,s){var n=e("jquery");s.exports=function(){var e="http://www.yohoshow.com/api/wechat/getSignPackage";n.getJSON(e+"?pageurl="+encodeURIComponent(location.href.split("#")[0])+"&callback=?",function(e){var a,s,n,i;void 0!==e&&""!==e&&(a=e.appId.toString(),s=e.timestamp,n=e.nonceStr.toString(),i=e.signature.toString(),wx.config({debug:!1,appId:a,timestamp:s,nonceStr:n,signature:i,jsApiList:["checkJsApi","onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ","onMenuShareWeibo","hideMenuItems","showMenuItems","hideAllNonBaseMenuItem","showAllNonBaseMenuItem","translateVoice","startRecord","stopRecord","onRecordEnd","playVoice","pauseVoice","stopVoice","uploadVoice","downloadVoice","chooseImage","previewImage","uploadImage","downloadImage","getNetworkType","openLocation","getLocation","hideOptionMenu","showOptionMenu","closeWindow","scanQRCode","chooseWXPay","openProductSpecificView","addCard","chooseCard","openCard"]}))}),wx.ready(function(){var e=n("#shareTitle").val(),a=n("#shareImg").val(),s=n("#shareDesc").val(),i=n("#shareLink").val(),t={title:e,desc:s,imgUrl:a,link:i};wx.onMenuShareAppMessage(t),wx.onMenuShareTimeline(t),wx.onMenuShareQQ(t),wx.onMenuShareWeibo(t)})}}),define("js/home/entry",["jquery","hammer","swiper","lazyload","index"],function(e,a,s){e("js/home/home"),e("js/home/maybe-like")}),define("js/home/home",["jquery","hammer","swiper","lazyload","index"],function(e,a,s){function n(){x+=10,k.css({transform:"rotateX("+x+"deg)","-webkit-transform":"rotateX("+x+"deg)","-moz-transform":"rotateX("+x+"deg)"}),x/90%2===1&&(q?(k.addClass("animate"),q=!1):(k.removeClass("animate"),q=!0)),x/90%2===0&&x%360!==0?window.setTimeout(n,3e3):x%360===0?window.setTimeout(n,6e4):d(function(){n()})}var i,t,o,r,l,d,c,u,p,h,f,g,m=e("jquery"),v=e("hammer"),w=e("swiper"),y=e("lazyload"),b=m(".mobile-wrap"),C=m(".overlay"),j=m(".side-nav"),x=0,k=m(".home-header .logo"),q=!0;e("js/home/maybe-like"),y(m("img.lazy")),f=new v(m(".nav-btn")[0]),f.on("tap",function(e){b.addClass("menu-open"),C.show().css("opacity",.3),j.addClass("on"),m("body").css({height:m(window).height(),width:"100%",overflow:"hidden"}),e.srcEvent.stopPropagation()}),g=new v(m(".mobile-wrap")[0]),g.on("tap",function(e){b.hasClass("menu-open")&&(b.removeClass("menu-open"),C.css("opacity",0),m(".sub-nav").removeClass("show"),j.removeClass("on"),m("body").css({height:"auto",overflow:"auto"}),setTimeout(function(){m(".overlay").hide()},300),e.srcEvent.stopPropagation())}),j.on("touchstart","li",function(){m(this).find(".sub-nav").size()>0&&(m(".sub-nav").removeClass("show"),m(this).find(".sub-nav").addClass("show"))}),m(".sub-nav").each(function(){m(this).find("li").eq(0).on("touchstart",function(e){m(".sub-nav").removeClass("show"),e.stopPropagation()})}),m(".banner-swiper").find("li").size()>1&&(i=new w(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".banner-top .pagination-inner"})),o=new w(".brands-swiper",{grabCursor:!0,slidesPerView:"auto",wrapperClass:"brands-list",slideElement:"li"}),t=new w(".recommend-swiper",{grabCursor:!0,slidesPerView:"auto",wrapperClass:"recommend-list",slideElement:"li"}),m(".trend-topic-swiper").find("li").size()>1&&(r=new w(".trend-topic-swiper",{loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".trend-topic-content .pagination-inner"})),m(".category-swiper").each(function(e,a){p="category-swiper"+e,m(this).addClass(p),m("."+p).find(".swiper-slide").size()>1&&(l=new w("."+p,{loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:"."+p+" .pagination-inner"}))}),d=function(){var e=null,a=["webkit","moz","ms"];for(u=0;u<a.length;u++)c=a[u]+"RequestAnimationFrame",window[c]&&(h=!0,e=c);return h?function(a){window[e](a)}:function(e){window.setTimeout(e,67)}}(),setTimeout(n,3e3)}),define("js/home/maybe-like",["jquery","lazyload"],function(e,a,s){var n,i,t,o,r=e("jquery"),l=e("js/plugin/tip"),d=e("lazyload"),c=r(window).height(),u=r("#load-more").height(),p=r("#goods-list"),h=!1,f=0,g=null,m=r(".mobile-wrap").hasClass("kids-wrap")?!0:!1,v=r(".mobile-wrap").hasClass("lifestyle-wrap")?!0:!1,w=r("#maybe-like-nav");m?i="/product/recom/maylikekids":v?i="/product/recom/maylikelife":(g=r(".mobile-wrap").hasClass("boys-wrap")?"1,3":"2,3",i="/product/recom/maylike?gender="+g),t=w.children(".focus"),r("#maybe-like-nav").delegate("li","tap",function(){var e,a=r(this),s=r(".goods-list");a.hasClass("focus")||(o=a.index(),a.addClass("focus"),t.removeClass("focus"),s.not(".hide").addClass("hide"),e=s.eq(o),e.removeClass("hide"),t=a,r(document).trigger("scroll"))}),r(window).scroll(function(){if(r(window).scrollTop()+c>=r(document).height()-u-50){if(h)return;h=!0,r.ajax({type:"GET",url:i,data:{page:f+1},success:function(e){return" "===e?(h=!0,void(g&&(i="1,3"===g?"/boys/bottomBanner":"/girls/bottomBanner",r.ajax({type:"GET",url:i,success:function(e){e&&e[0]&&e[0].banner[0]&&(r("#load-more-img").show(),r("#load-more-img a").attr("url",e[0].banner[0].url),r("#load-more-img a > img").attr("src",e[0].banner[0].img))},error:function(){}})))):(n=p.find(".good-info").length,p.append(e),d(0===n?p.find(".good-info").find("img.lazy"):p.find(".good-info:gt("+(n-1)+")").find("img.lazy")),h=!1,void f++)},error:function(){l.show("网络断开连接了~"),h=!1}})}})}),define("js/index/entry",["jquery","hammer"],function(e,a,s){e("js/index/search"),e("js/index/footer")}),define("js/index/search",["jquery","hammer"],function(e,a,s){var n,i,t=e("jquery"),o=e("hammer"),r=t("#search-input input"),l=t("#search-input .clear-input"),d=t("#search-form"),c=t(".history"),u=t("#clear-history"),p=e("js/index/write-search"),h=p.getRanToken();n=new o(u[0]),n.on("tap",function(){localStorage.removeItem("historys"),c.html("")}),r.on("input",function(){""===r.val()?l.addClass("hide"):l.removeClass("hide")}),i=new o(l[0]),i.on("tap",function(){r.val("").trigger("input")}),function(){var e,a,s,n="";if(localStorage&&(a=localStorage.getItem("historys"),a&&a.length>0)){for(a=a.split(h),s=0;s<a.length;s++)e=a[s],""!==e&&(n+='<li><a href="/?query='+e+'">'+e+"</li>");c.html(n),u.removeClass("hide")}}(),p.bindWirteLocal(d)}),define("js/index/write-search",[],function(e,a,s){function n(){return t}function i(e){e.on("submit",function(){var e,a=this.query.value;if(localStorage){if(e=localStorage.getItem("historys"),e=e?e:"",e.indexOf(t+a+t)>-1)return;""===e&&(a=t+a),e+=a+t,localStorage.setItem("historys",e)}})}var t=" ??++ ";a.getRanToken=n,a.bindWirteLocal=i}),define("js/index/footer",["jquery","hammer"],function(e,a,s){function n(){var e="http://a.app.qq.com/o/simple.jsp?pkgname=com.yoho&g_f=995445",a=new Date;setTimeout(function(){new Date-a<2e3&&(window.location=e)},500)}var i,t,o=e("jquery"),r=e("hammer");o("#float-layer-close")&&o("#float-layer-close")[0]&&(i=new r(o("#float-layer-close")[0]),i.on("tap",function(e){o("#float-layer-app").hide(),window.setCookie("_float-layer-app","id490655927",{domain:".yohobuy.com"}),window.setCookie("_float-layer-app-close",1,{domain:".yohobuy.com",expires:1})})),o("#float-layer-btn")&&o("#float-layer-btn")[0]&&(t=new r(o("#float-layer-btn")[0]),t.on("tap",function(e){n("bottom")}),window.cookie("_float-layer-app")?o("#float-layer-app").hide():o("#float-layer-app").show())}),define("js/passport/entry",["jquery"],function(e,a,s){e("js/passport/register/register"),e("js/passport/register/code"),e("js/passport/register/password"),e("js/passport/login/login"),e("js/passport/login/international"),e("js/passport/back/mobile"),e("js/passport/back/code"),e("js/passport/back/email"),e("js/passport/back/email-success"),e("js/passport/back/new-password")}),define("js/passport/register/register",["jquery"],function(e,a,s){var n=e("jquery"),i=n("#phone-num"),t=n("#country-select"),o=n("#area-code"),r=n("#btn-next"),l=e("js/passport/api"),d=e("js/plugin/tip"),c=n.trim,u=d.show;l.selectCssHack(n("#country-select")),l.bindClearEvt(),i.bind("input",function(){""===c(i.val())?r.addClass("disable"):r.removeClass("disable")}),t.change(function(){o.text(t.val())}),r.on("touchstart",function(){var e=c(i.val()),a=t.val();r.hasClass("disable")||(l.phoneRegx[a].test(e)?n.ajax({url:"/passport/reg/verifymobile",type:"POST",data:{areaCode:a.replace("+",""),phoneNum:e},success:function(e){200===e.code?location.href=e.data:u(e.message)}}):u("手机号格式不正确,请重新输入"))})}),define("js/passport/api",["jquery"],function(e,a,s){function n(e){var a,s=r(".has-eye");e&&"open"===e.status?s.append('<div class="eye"></div>'):s.append('<div class="eye close"></div>'),a=s.children(".eye"),a.on("touchstart",function(e){var a=r(this),s=a.siblings(".pwd");e.preventDefault(),a.toggleClass("close"),a.hasClass("close")?s.attr("type","password"):s.attr("type","text"),s.focus()})}function i(){var e,a=r(".has-clear");a.append('<div class="clear-input"></div>'),e=a.children(".clear-input"),e.on("touchstart",function(a){var s=e.siblings(".input");s.val("").trigger("input").focus(),a.preventDefault()}),a.children(".input").bind("input",function(){var e=r(this),a=e.siblings(".clear-input"),s=l(e.val());""===s?a.hide():a.show()})}function t(e){return e.length>=6&&e.length<=20?!0:!1}function o(e){function a(){var a=e.find("option:selected").text().length;switch(a){case 2:e.outerWidth(90);break;case 3:e.outerWidth(110);break;default:e.outerWidth(130)}}var s=navigator.userAgent;s.match(/uc/i)&&s.match(/android/i)?e.change(function(){a()}):e.removeClass("in-android-uc")}var r=e("jquery"),l=r.trim,d=/^([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/,c={"+86":/^1[35847]{1}[0-9]{9}$/,"+852":/^[965]{1}[0-9]{7}$/,"+853":/^[0-9]{8}$/,"+886":/^[0-9]{10}$/,"+65":/^[98]{1}[0-9]{7}$/,"+60":/^1[1234679]{1}[0-9]{8}$/,"+1":/^[0-9]{10}$/,"+82":/^01[0-9]{9}$/,"+44":/^7[789][0-9]{8}$/,"+81":/^0[9|8|7][0-9]{9}$/,"+61":/^[0-9]{11}$/};s.exports={emailRegx:d,phoneRegx:c,bindEyesEvt:n,bindClearEvt:i,pwdValidate:t,selectCssHack:o}}),define("js/passport/register/code",["jquery"],function(e,a,s){e("js/passport/code")(!0)}),define("js/passport/code",["jquery"],function(e,a,s){var n=e("jquery");s.exports=function(a){function s(){var e,a=59;e=setInterval(function(){0===a?(o.text("重发验证码").removeClass("disable"),clearInterval(e)):o.text("重发验证码 ("+a--+"秒)")},1e3)}var i=n("#captcha"),t=n("#btn-next"),o=n("#captcha-tip"),r=n("#phone-num").val(),l=n("#area-code").val().replace("+",""),d=e("js/passport/api"),c=e("js/plugin/tip"),u=n.trim,p=c.show,h=a?"reg":"back";d.bindClearEvt(),i.bind("input",function(){""!==u(i.val())?t.removeClass("disable"):t.addClass("disable")}),o.on("touchstart",function(){o.hasClass("disable")||n.ajax({type:"POST",url:"/passport/"+h+"/sendcode",data:{phoneNum:r,areaCode:l},success:function(e){200===e.code?(o.text("重发验证码 (60秒)").addClass("disable"),s()):p(e.message)}})}),t.on("touchstart",function(){t.hasClass("disable")||n.ajax({type:"POST",url:"/passport/"+h+"/verifycode",data:{phoneNum:r,areaCode:l,code:u(i.val()),token:n("#token").val()},success:function(e){200===e.code?location.href=e.data:p(e.message)}})}),s()}}),define("js/passport/register/password",["jquery"],function(e,a,s){var n=e("jquery"),i=n("#pwd"),t=n("#btn-sure"),o=e("js/passport/api"),r=e("js/plugin/tip"),l=n.trim,d=r.show;o.bindEyesEvt({status:"open"}),i.bind("input",function(){""===l(i.val())?t.addClass("disable"):t.removeClass("disable")}),t.on("touchstart",function(){var e=l(i.val());t.hasClass("disable")||(o.pwdValidate(e)===!1?d("密码6-20位,请重新输入"):n.ajax({type:"POST",url:"/passport/reg/setpassword",data:{password:e,phoneNum:n("#phone-num").val(),areaCode:n("#area-code").val(),token:n("#token").val()},success:function(e){200===e.code?(d("注册成功"),setTimeout(function(){location.href=e.data},1e3)):401===e.code||404===e.code||505===e.code?d(e.message):(d(e.message),setTimeout(function(){location.href=e.data},1e3))}}))})}),define("js/passport/login/login",["jquery"],function(e,a,s){function n(){p&&h?d.removeClass("disable"):d.addClass("disable")}function i(){c.show(),u.show()}function t(){c.hide(),u.hide()}var o=e("jquery"),r=o("#account"),l=o("#pwd"),d=o("#btn-login"),c=o("#retrive-pwd-mask"),u=o("#retrive-pwd-ways"),p=!1,h=!1,f=e("js/passport/api"),g=e("js/plugin/tip"),m=o.trim,v=g.show;f.bindEyesEvt(),f.bindClearEvt(),r.bind("input",function(){p=""!==m(r.val())?!0:!1,n()}),l.bind("input",function(){h=""===m(l.val())?!1:!0,n()}),d.on("touchstart",function(){var e=m(r.val()),a=m(l.val());d.hasClass("disable")||((/^[0-9]+$/.test(e)||f.emailRegx.test(e))&&f.pwdValidate(a)?o.ajax({type:"POST",url:"/passport/login/auth",data:{account:e,password:a},success:function(e){200===e.code?(v("登录成功"),setTimeout(function(){location.href=e.data},1e3)):v(e.message)},error:function(){v("网络断开连接啦~")}}):v("账号或密码有错误,请重新输入"))}),o("#forget-pwd").on("touchstart",function(){i()}),c.on("touchstart",function(){t()}),o("#cancel-retrive").on("touchstart",function(e){e.preventDefault(),t()}),r.trigger("input"),l.trigger("input")}),define("js/passport/login/international",["jquery"],function(e,a,s){function n(){c&&u?d.removeClass("disable"):d.addClass("disable")}var i=e("jquery"),t=i("#phone-num"),o=i("#country-select"),r=i("#area-code"),l=i("#pwd"),d=i("#btn-login"),c=!1,u=!1,p=e("js/passport/api"),h=e("js/plugin/tip"),f=i.trim,g=h.show;p.selectCssHack(o),p.bindEyesEvt(),p.bindClearEvt(),t.bind("input",function(){c=""===f(t.val())?!1:!0,n()}),l.bind("input",function(){var e=f(l.val());u=""===e?!1:!0,n()}),o.change(function(){r.text(o.val())}),d.on("touchstart",function(){var e=f(t.val()),a=o.val(),s=f(l.val());d.hasClass("disable")||(p.phoneRegx[a].test(e)&&p.pwdValidate(s)?i.ajax({type:"POST",url:"/passport/login/auth",data:{areaCode:a.replace("+",""),account:e,password:s},success:function(e){200===e.code?(g("登录成功"),setTimeout(function(){location.href=e.data},1e3)):g(e.message)},error:function(){g("网络断开连接啦~")}}):g("账号或密码有错误,请重新输入"))}),t.trigger("input"),l.trigger("input")}),define("js/passport/back/mobile",["jquery"],function(e,a,s){var n=e("jquery"),i=n("#phone-num"),t=n("#country-select"),o=n("#area-code"),r=n("#btn-next"),l=e("js/passport/api"),d=e("js/plugin/tip"),c=n.trim,u=d.show;l.selectCssHack(n("#country-select")),l.bindClearEvt(),i.bind("input",function(){""===c(i.val())?r.addClass("disable"):r.removeClass("disable")}),t.change(function(){o.text(t.val())}),r.on("touchstart",function(){var e=c(i.val()),a=t.val();r.hasClass("disable")||(l.phoneRegx[a].test(e)?n.ajax({url:"/passport/back/sendcode",type:"POST",data:{areaCode:a.replace("+",""),phoneNum:e},success:function(e){200===e.code?location.href=e.data:u(e.message)}}):u("手机号格式不正确,请重新输入"))})}),define("js/passport/back/code",["jquery"],function(e,a,s){e("js/passport/code")(!1)}),define("js/passport/back/email",["jquery"],function(e,a,s){var n=e("jquery"),i=n("#email"),t=n("#btn-sure"),o=e("js/passport/api"),r=e("js/plugin/tip"),l=n.trim,d=r.show;o.bindClearEvt(),i.bind("input",function(){""===l(i.val())?t.addClass("disable"):t.removeClass("disable")}),t.on("touchstart",function(){var e=l(i.val());t.hasClass("disable")||(o.emailRegx.test(e)?n.ajax({url:"/passport/back/sendemail",type:"POST",data:{email:e},success:function(e){200===e.code?location.href=e.data:d(e.message)}}):d("邮箱格式不正确,请重新输入"))})}),define("js/passport/back/email-success",["jquery"],function(e,a,s){var n=e("jquery"),i=n("#resend"),t=e("js/plugin/tip"),o=t.show;i.on("touchstart",function(e){e.preventDefault(),n.ajax({url:i.data("url"),type:"GET",success:function(e){o(200===e.code?e.message:e.message)}})})}),define("js/passport/back/new-password",["jquery"],function(e,a,s){var n=e("jquery"),i=n("#pwd"),t=n("#btn-ok"),o=e("js/passport/api"),r=e("js/plugin/tip"),l=n.trim,d=r.show,c=n("#phone-num");o.bindEyesEvt(),i.bind("input",function(){""===l(i.val())?t.addClass("disable"):t.removeClass("disable")}),t.on("touchstart",function(){var e,a,s=l(i.val()),r=!0;t.hasClass("disable")||(e={password:s},0===c.length&&(r=!1),r?(n.extend(e,{phoneNum:c.val(),areaCode:n("#areaCode").val(),token:n("#token").val()}),a="/passport/back/passwordByMobile"):(n.extend(e,{code:n("#email-code").val()}),a="/passport/back/passwordByEmail"),o.pwdValidate(s)?n.ajax({type:"POST",url:a,data:e,success:function(e){200===e.code?(d("密码修改成功"),setTimeout(function(){location.href=e.data},1e3)):d(e.message)}}):d("密码6-20位,请重新输入"))})}),define("js/product/entry",["jquery","swiper","hammer","lazyload","index"],function(e,a,s){e("js/product/newsale/newarrival"),e("js/product/newsale/discount"),e("js/product/list"),e("js/product/detail/detail")}),define("js/product/newsale/newarrival",["jquery","swiper","hammer","lazyload","index"],function(e,a,s){function n(e){var a,s,n,i,l,u,p={};if(!d){if(e){for(s in q)q.hasOwnProperty(s)&&(q[s].reload=!0);switch(k.children(".active").removeClass("active"),z.addClass("active"),e.type){case"gender":a={gender:e.id};break;case"brand":a={brand:e.id};break;case"sort":a={sort:e.id};break;case"color":a={color:e.id};break;case"size":a={size:e.id};break;case"price":a={price:e.id};break;case"discount":a={discount:e.id};break;case"limit":a={limit:e.id};break;case"channel":a={channel:e.id};break;case"p_d":a={p_d:e.id}}c.extend(b,a)}if(z.hasClass("today")?(i="today",l=1):z.hasClass("week")?(i="week",l=2):z.hasClass("sale")&&(i="sale",l=3),n=q[i],u=n.page+1,n.reload)u=1;else if(n.end)return;c.extend(p,b,{dayLimit:l,page:u}),d=!0,g.showLoadingMask(),c.ajax({type:"GET",url:"/product/newsale/selectNewSale",data:p,success:function(e){var a,s;switch(i){case"today":a=t;break;case"week":a=o;break;case"sale":a=r}" "===e?(n.end=!0,n.reload&&a.html(y)):n.reload?(a.html(e),h(a.find(".lazy"))):(s=a.find(".good-info").length,a.append(e),h(a.find(".good-info:gt("+(s-1)+") .lazy"))),n.reload=!1,n.page=u,d=!1,g.hideLoadingMask(),window.rePosFooter()}})}}var i,t,o,r,l,d,c=e("jquery"),u=e("swiper"),p=e("hammer"),h=e("lazyload"),f=e("js/plugin/filter"),g=e("js/plugin/loading"),m=c("#goods-container"),v=m.children(),t=c(v.get(0)),o=c(v.get(1)).addClass("hide"),r=c(v.get(2)).addClass("hide"),w=c(window).height(),y='<p class="no-result">未找到相关搜索结果</p>',b={gender:c("#gender").val(),brand:c("#brand").val(),sort:c("#sort").val(),color:c("#color").val(),size:c("#size").val(),price:c("#price").val(),discount:c("#discount").val(),limit:c("#limit").val(),channel:c("#channel").val(),p_d:c("#p_d").val(),dayLimit:1},C=new Date,j=C.getMonth()+1,x=C.getDate(),k=c("#list-nav"),q={today:{reload:!0,page:0,end:!1},week:{reload:!0,page:0,end:!1},sale:{reload:!0,page:0,end:!1}},z=k.find(".active");c("#today a").text(j+"月"+x+"号"),c(".swiper-container .swiper-slide").length>1&&(i=new u(".swiper-container",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,pagination:".swiper-pagination"})),c.ajax({type:"GET",url:"/product/newsale/filter",data:b,success:function(e){m.append(e),f.initFilter({fCbFn:n,hCbFn:function(){z.addClass("active"),z.siblings(".filter").removeClass("active")},missStatus:!0})}}),h(c(".lazy")),l=new p(k[0]),l.on("tap",function(e){var a,s,i,l=c(e.target).closest("li");if(l.hasClass("filter"))l.hasClass("active")?(f.hideFilter(),z.addClass("active"),l.removeClass("active")):(z=l.siblings(".active"),z.removeClass("active"),l.addClass("active"),f.showFilter());else{if(l.hasClass("today")?s="today":l.hasClass("week")?s="week":l.hasClass("sale")&&(s="sale"),a=q[s],!l.hasClass("active")){if(i=l.siblings(".active"),z=l,i.hasClass("filter"))f.hideFilter();else switch(m.children(".container:not(.hide)").addClass("hide"),s){case"today":t.removeClass("hide");break;case"week":o.removeClass("hide");break;case"sale":r.removeClass("hide")}i.removeClass("active"),l.addClass("active")}a.reload&&n()}}),c(window).scroll(function(){c(window).scrollTop()+w>c(document).height()-.25*m.height()-50&&void 0!==z&&n()}),n()}),define("js/plugin/filter",["jquery","hammer"],function(e,a,s){function n(){l.addClass("hide"),u&&(l.find(".classify-item.active").removeClass("active"),
l.find(".classify-item:first-child").addClass("active"))}function i(){l.removeClass("hide")}function t(e){e.hasClass("active")||(e.siblings(".active").removeClass("active"),e.addClass("active"))}function o(e){var a,s,i=e.data("id"),t=e.closest(".sub-classify"),o=t.siblings(".shower");e.hasClass("chosed")||(t.children(".chosed").removeClass("chosed"),e.addClass("chosed"),a=p.trim(e.html()),s=p.trim(o.html()),o.html(s.substring(0,s.indexOf("</span>")+7)+a.substring(0,a.indexOf("<i"))),0===e.index()?o.addClass("default"):o.removeClass("default"),d&&d({type:t.data("type"),id:i}),n(),u&&(e.removeClass("chosed"),t.children(":first-child").addClass("chosed")))}function r(e){var a;d=e.fCbFn,c=e.hCbFn,u=e.missStatus,l=p(".filter-mask"),a=new h(l[0]),a.on("tap",function(e){var a,s=p(e.target);s.closest(".filter-body").length>0?(a=s.closest(".sub-item"),a.length>0?(a=s.closest("li"),o(a)):(a=s.closest(".classify-item"),e.srcEvent.stopPropagation(),t(a))):(n(),c&&c())})}var l,d,c,u,p=e("jquery"),h=e("hammer");a.initFilter=r,a.showFilter=i,a.hideFilter=n}),define("js/product/newsale/discount",["jquery","swiper","hammer","lazyload","index"],function(e,a,s){function n(e){var a,s,n,i,t,l={};if(!o){if(e){for(s in j)j.hasOwnProperty(s)&&(j[s].reload=!0);switch(C.children(".active").removeClass("active"),x.addClass("active"),e.type){case"gender":a={gender:e.id};break;case"brand":a={brand:e.id};break;case"sort":a={sort:e.id};break;case"color":a={color:e.id};break;case"size":a={size:e.id};break;case"price":a={price:e.id};break;case"discount":a={discount:e.id}}r.extend(b,a)}if(x.hasClass("new")?i="newest":x.hasClass("price")?i="price":x.hasClass("discount")&&(i="discount"),n=j[i],t=n.page+1,n.reload)t=1;else if(n.end)return;r.extend(l,b,{type:i,order:n.order,page:t}),o=!0,p.showLoadingMask(),r.ajax({type:"GET",url:"/product/newsale/selectNewSale",data:l,success:function(e){var a,s;switch(i){case"newest":a=g;break;case"price":a=m;break;case"discount":a=v}" "===e?(n.end=!0,n.reload&&a.html(y)):n.reload?(a.html(e),c(a.find(".lazy"))):(s=a.find(".good-info").length,a.append(e),c(a.find(".good-info:gt("+(s-1)+") .lazy"))),n.reload=!1,n.page=t,o=!1,p.hideLoadingMask(),window.rePosFooter()}})}}var i,t,o,r=e("jquery"),l=e("swiper"),d=e("hammer"),c=e("lazyload"),u=e("js/plugin/filter"),p=e("js/plugin/loading"),h=r("#goods-container"),f=h.children(),g=r(f.get(0)),m=r(f.get(1)),v=r(f.get(2)),w=r(window).height(),y='<p class="no-result">未找到相关搜索结果</p>',b={gender:r("#gender").val(),brand:r("#brand").val(),sort:r("#sort").val(),color:r("#color").val(),size:r("#size").val(),price:r("#price").val(),discount:r("#discount").val()},C=r("#list-nav"),j={newest:{order:1,reload:!0,page:0,end:!1},price:{order:0,reload:!0,page:0,end:!1},discount:{order:0,reload:!0,page:0,end:!1}},x=C.find(".active");r(".swiper-container .swiper-slide").length>1&&(i=new l(".swiper-container",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,pagination:".swiper-pagination"})),r.ajax({type:"GET",url:"/product/newsale/filter",data:b,success:function(e){h.append(e),u.initFilter({fCbFn:n,hCbFn:function(){x.addClass("active"),x.siblings(".filter").removeClass("active")},missStatus:!0})}}),c(r(".lazy")),t=new d(C[0]),t.on("tap",function(e){var a,s,i,t=r(e.target).closest("li");if(t.hasClass("filter"))t.hasClass("active")?(u.hideFilter(),x.addClass("active"),t.removeClass("active")):(x=t.siblings(".active"),x.removeClass("active"),t.addClass("active"),u.showFilter());else{if(t.hasClass("new")?s="newest":t.hasClass("price")?s="price":t.hasClass("discount")&&(s="discount"),a=j[s],t.hasClass("active")){if(t.hasClass("new"))return;(t.hasClass("price")||t.hasClass("discount"))&&(t.find(".icon > .iconfont").toggleClass("cur"),x=t,a.reload=!0,a.order=0===a.order?1:0)}else{if(i=t.siblings(".active"),x=t,i.hasClass("filter"))u.hideFilter();else switch(h.children(".container:not(.hide)").addClass("hide"),s){case"newest":g.removeClass("hide");break;case"price":m.removeClass("hide");break;case"discount":v.removeClass("hide")}i.removeClass("active"),t.addClass("active")}a.reload&&n()}}),r(window).scroll(function(){r(window).scrollTop()+w>r(document).height()-.25*h.height()-50&&void 0!==x&&n()}),n()}),define("js/product/list",["jquery","hammer","lazyload"],function(e,a,s){function n(e){var a,s,n,t,o,r={};if(!i){if(e){for(s in q)q.hasOwnProperty(s)&&(q[s].reload=!0);switch(k.children(".active").removeClass("active"),z.addClass("active"),e.type){case"gender":a={gender:e.id};break;case"brand":a={brand:e.id};break;case"sort":a={sort:e.id};break;case"color":a={color:e.id};break;case"size":a={size:e.id};break;case"price":a={price:e.id};break;case"discount":a={discount:e.id}}d.extend(x,a)}if(z.hasClass("new")?t="newest":z.hasClass("price")?t="price":z.hasClass("discount")&&(t="discount"),n=q[t],o=n.page+1,n.reload)o=1;else if(n.end)return;d.extend(r,x,{type:t,order:n.order,page:o}),i=!0,v.showLoadingMask(),d.ajax({type:"GET",url:"/index/search/search",data:r,success:function(e){var a,s,r='<p class="no-result">未找到相关搜索结果</p>';switch(t){case"newest":s=y;break;case"price":s=b;break;case"discount":s=C}" "===e?(n.end=!0,n.reload&&s.html(r)):n.reload?(s.html(e),u(s.find(".lazy"))):(a=s.find(".good-info").length,s.append(e),u(s.find(".good-info:gt("+(a-1)+") .lazy"))),n.reload=!1,n.page=o,i=!1,v.hideLoadingMask(),window.rePosFooter()}})}}var i,t,o,r,l,d=e("jquery"),c=e("hammer"),u=e("lazyload"),p=d("#brand-header"),h=d("#intro-box"),f=e("js/plugin/filter"),g=e("js/index/write-search"),m=e("js/plugin/tip"),v=e("js/plugin/loading"),w=d("#goods-container"),y=w.children(".new-goods"),b=w.children(".price-goods"),C=w.children(".discount-goods"),j=d(window).height(),x={gender:d("#gender").val(),brand:d("#brand").val(),sort:d("#sort").val(),color:d("#color").val(),size:d("#size").val(),price:d("#price").val(),discount:d("#discount").val(),query:d("#query").val()},k=d("#list-nav"),q={newest:{order:1,reload:!0,page:0,end:!1},price:{order:0,reload:!0,page:0,end:!1},discount:{order:0,reload:!0,page:0,end:!1}},z=k.find(".active");d.ajax({type:"GET",url:"/search/filter",data:x,success:function(e){w.append(e),f.initFilter({fCbFn:n,hCbFn:function(){z.addClass("active"),z.siblings(".filter").removeClass("active")}})}}),u(d(".lazy")),g.bindWirteLocal(d("#search-form")),t=new c(k[0]),t.on("tap",function(e){var a,s,i,t=d(e.target).closest("li");if(t.hasClass("filter"))t.hasClass("active")?(f.hideFilter(),z.addClass("active"),t.removeClass("active")):(z=t.siblings(".active"),z.removeClass("active"),t.addClass("active"),f.showFilter());else{if(t.hasClass("new")?s="newest":t.hasClass("price")?s="price":t.hasClass("discount")&&(s="discount"),a=q[s],t.hasClass("active")){if(t.hasClass("new"))return;(t.hasClass("price")||t.hasClass("discount"))&&(t.find(".icon > .iconfont").toggleClass("cur"),z=t,a.reload=!0,a.order=0===a.order?1:0)}else{if(i=t.siblings(".active"),z=t,i.hasClass("filter"))f.hideFilter();else switch(w.children(".container:not(.hide)").addClass("hide"),s){case"newest":y.removeClass("hide");break;case"price":b.removeClass("hide");break;case"discount":C.removeClass("hide")}i.removeClass("active"),t.addClass("active")}a.reload&&n()}}),d(window).scroll(function(){d(window).scrollTop()+j>d(document).height()-.25*w.height()&&n()}),p.length>0&&(o=new c(p.children(".btn-intro")[0]),o.on("tap",function(){h.removeClass("hide"),d("body").addClass("overflow-hidden")}),r=new c(document.getElementById("intro-box")),r.on("tap",function(e){var a=d(e.target);e.srcEvent.preventDefault(),(0===a.closest("#brand-intro").length||a.hasClass("close-intro"))&&(h.addClass("hide"),d("body").removeClass("overflow-hidden"))}),l=new c(p.children(".btn-col")[0]),l.on("tap",function(){var e,a=d(this),s=p.data("id");e=a.hasClass("coled")?"cancel":"ok",d.ajax({type:"POST",url:"/product/opt/favoriteBrand",data:{id:s,opt:e},success:function(e){200===e.code?a.toggleClass("coled"):m.show(e.message)},error:function(){m.show("网络断开连接了~")}})})),n()}),define("js/product/detail/detail",["jquery","swiper","lazyload","index"],function(e,a,s){var n,i=e("jquery"),t=e("swiper"),o=e("lazyload");o(i("img.lazy")),n=new t(".banner-swiper",{loop:!0,pagination:".banner-top .pagination-inner",slideElement:"div",nextButton:".swiper-button-next",prevButton:".swiper-button-prev"})});
\ No newline at end of file
define("index",["jquery","hammer","swiper","lazyload","mlellipsis","iscroll-probe","index"],function(e,a,n){var s;e("js/common"),e("js/category/entry"),e("js/guang/entry"),e("js/home/entry"),e("js/index/entry"),e("js/passport/entry"),e("js/product/entry"),n.exports=s}),define("js/common",["jquery"],function(e,a,n){function s(e){var a,n,s=document.cookie;return document.cookie&&""!==document.cookie&&(n=s.indexOf(e+"="),n>-1&&(n+=e.length+1,a=decodeURIComponent(d.trim(s.substring(n,s.indexOf(";",n)))))),a}function i(e,a,n){var s,i,t,o,r="";"undefined"!=typeof a&&(n=n||{},null===a&&(a="",n.expires=-1),n.expires&&("number"==typeof n.expires||n.expires.toUTCString)&&("number"==typeof n.expires?(o=new Date,o.setTime(o.getTime()+24*n.expires*60*60*1e3)):o=n.expires,r="; expires="+o.toUTCString()),s=n.path?"; path="+n.path:"",i=n.domain?"; domain="+n.domain:"",t=n.secure?"; secure":"",document.cookie=[e,"=",encodeURIComponent(a),r,s,i,t].join(""))}function t(){var e,a=s("_UID");return"undefined"==typeof a?0:(e=a.split("::"),"undefined"==typeof e||e.length<4?0:e)}function o(){var e=t();return 0===e?0:e[1]}function r(){var e=s("_g");return"undefined"==typeof e?"":JSON.parse(e).k}function l(){0!==c.length&&(d("body").height()<d(window).height()-u?c.addClass("bottom"):c.removeClass("bottom"))}var d=e("jquery"),c=d("#yoho-footer"),u=120;!function(){var e=c.children(".op-row"),a=t();d("body").height()<d(window).height()-u&&c.addClass("bottom"),0===a?e.prepend('<a href="http://m.yohobuy.com/signin.html">登录</a><span class="sep-line">|</span><a href="http://m.yohobuy.com/reg.html">注册</a>'):e.prepend('Hi,<a class="user-name" href="http://m.yohobuy.com/home?tmp='+Math.random()+'">'+a[0]+'</a><a href="http://m.yohobuy.com/passport/signout/index?token='+a[3]+'">退出</a>'),c.removeClass("hide")}(),window.cookie=s,window.setCookie=i,window.getUser=t,window.getUid=o,window.getShoppingKey=r,window.rePosFooter=l}),define("js/category/entry",["jquery","hammer","swiper","lazyload","index"],function(e,a,n){e("js/category/index"),e("js/category/brand")}),define("js/category/index",["jquery","hammer"],function(e,a,n){var s,i,t=e("jquery"),o=e("hammer"),r=t(".category-nav"),l=t(".category-container"),d=l.children(".content"),c=d.not(".hide");t("#search-input").focus(function(){t(this).blur()}),s=new o(r[0]),s.on("tap",function(e){var a=t(e.target).closest("li"),n=a.index();a.hasClass("focus")||(r.find("li.focus").removeClass("focus"),a.addClass("focus"),c.addClass("hide"),c=d.eq(n).removeClass("hide"))}),i=new o(l[0]),i.on("tap",function(e){var a,n,s,i=t(e.target);if(n=i.closest(".p-level-item"),n.length>0){if(s=n.index(),a=i.closest(".content").find(".sub-level"),i.hasClass("focus"))return;i.closest(".primary-level").children(".focus").removeClass("focus"),i.addClass("focus"),a.not(".hide").addClass("hide"),a.eq(s).removeClass("hide")}})}),define("js/category/brand",["jquery","hammer","swiper","lazyload","index"],function(e,a,n){function s(e){var a=o("#keyword").val(),n=o("#gender").val();o.get("/brands/search",{keyword:a,gender:n,type:e},function(e){o(".search-result").html(e)})}var i,t,o=e("jquery"),r=e("hammer"),l=e("swiper"),d=e("lazyload"),c=o(".brand-list"),u=o(".newbrand-search").outerHeight(),p=o(".yoho-header").outerHeight(),h=parseInt(u)+parseInt(p)-1;i=new l(".swiper-container",{lazyLoading:!0,loop:!0,autoplay:3e3,pagination:".swiper-pagination .pagination-inner"}),d(o("img.lazy")),o(".yoho-header").css({"z-index":2,position:"fixed"}),o(".banner-top").css("padding-top","90px"),c.length>0&&o(window).scroll(function(){var e=o(window).scrollTop();o(".brand-list").each(function(){var a=o(this).offset().top-h;e>=a?(c.find(".title-bar").css("position","static"),o(this).find(".title-bar").css({position:"fixed",top:h})):o(this).find(".title-bar").css("position","static")})}),o("#right-bar .con").find("b").unbind()[0]&&(t=new r(o("#right-bar .con").find("b").unbind()[0]),t.on("tap",function(e){var a=o(this).index();o(".bar-"+a).size()>0&&(document.body.scrollTop=parseInt(o(".bar-"+a)[0].offsetTop)-parseInt(h-1))})),o("#keyword").on("keyup",function(){s(0)}).on("keydown",function(){o(this).closest(".search-box").css("width","11.25rem"),o(".search-action").show()}).on("blur",function(){o(this).closest(".search-box").css("width","12.5rem"),o(".search-action").hide()}),o("#search-btn").on("tap",function(){s(1)}),o(".clear-text").on("tap",function(){o("#keyword").val("").trigger("input")}),o("form.search-box").on("submit",function(){return!1}),o(".clear-history").on("tap",function(){o("#history-keyword").remove(),o(this).hide()})}),define("js/guang/entry",["jquery","hammer","lazyload","swiper","mlellipsis","iscroll-probe","index"],function(e,a,n){e("js/guang/plus-star/list"),e("js/guang/plus-star/detail"),e("js/guang/home"),e("js/guang/list"),e("js/guang/detail")}),define("js/guang/plus-star/list",["jquery","hammer","lazyload","swiper","index"],function(e,a,n){var s,i,t=e("jquery"),o=e("hammer"),r=e("lazyload"),l=e("swiper"),d=t("#nav-tab > li"),c=t("#ps-content > .content");r(t("img.lazy")),s=new l(".swiper-container",{lazyLoading:!0,pagination:".swiper-pagination"}),i=new o(document.getElementById("nav-tab")),i.on("tap",function(e){var a=t(e.target).closest("li");a.hasClass("focus")||(d.toggleClass("focus"),c.toggleClass("hide"),t(document).trigger("scroll"))})}),define("js/guang/plus-star/detail",["jquery","hammer","mlellipsis","lazyload"],function(e,a,n){var s,i,t,o,r=e("jquery"),l=e("hammer"),d=e("mlellipsis"),c=e("lazyload"),u=r("#intro"),p=r("#intro-more-txt"),h=r("#related-infos-container"),f=e("js/guang/info"),g=e("js/plugin/tip"),m=r("#brand-info").data("id");d.init(),c(r("img.lazy")),u[0].mlellipsis(3),setTimeout(function(){s=u.text(),i=u.attr("title")}),f.initInfosEvt(h),t=new l(document.getElementById("more-intro")),t.on("tap",function(e){var a=r(e.target).closest("#more-intro");a.toggleClass("spread"),a.hasClass("spread")?(u.text(i),p.text("收起")):(u.text(s),p.text("more"),r(window).scrollTop(0,400)),e.preventDefault()}),o=new l(document.getElementById("brand-like")),o.on("tap",function(e){var a="ok",n=r(e.target);e.preventDefault(),n.hasClass("like")&&(a="cancel"),r.ajax({type:"POST",url:"/product/opt/favoriteBrand",data:{id:m,opt:a},success:function(e){200===e.code?n.toggleClass("like"):400===e.code||412===e.code?g.show("未登录"):g.show(e.message)},error:function(){g.show("网络断开连接了~")}})})}),define("js/guang/info",["jquery","hammer","mlellipsis","lazyload"],function(e,a,n){function s(e){d(e.find("img.lazy")),e.each(function(){var e=o(this),a=e.find(".info-title"),n=e.find(".info-text");a[0].mlellipsis(2),n[0].mlellipsis(2)})}function i(e){var a=new r(e[0]);a.on("tap",function(e){var a,n,s=o(e.target),i="ok";a=s.closest(".like-btn"),a.length>0&&(a.hasClass("like")&&(i="cancel"),n=s.closest(".guang-info"),o.ajax({type:"POST",url:"/guang/opt/praiseArticle",data:{id:n.data("id"),opt:i},success:function(e){var n=e.code;200===n&&(a.next(".like-count").text(e.data),a.toggleClass("like"))},error:function(){c.show("网络断开连接了~")}}))}),s(e.find(".guang-info"))}function t(e,a){var n;g||a.end||(1===a.page&&u.showLoadingMask(),n=e.find(".guang-info").length,g=!0,o.ajax({type:"GET",url:" /guang/index/page",data:a,success:function(i){var t;return" "===i?(a.end=!0,g=!1,h.addClass("hide"),void f.removeClass("hide")):(e.append(i),t=n>0?e.find(".guang-info:gt("+(n-1)+")"):e.find(".guang-info"),s(t),1===a.page&&u.hideLoadingMask(),a.page++,void(g=!1))},error:function(){c.show("网络断开连接了~"),g=!1}}))}var o=e("jquery"),r=e("hammer"),l=e("mlellipsis"),d=e("lazyload"),c=e("js/plugin/tip"),u=e("js/plugin/loading"),p=o("#load-more-info"),h=o(""),f=o(""),g=!1;l.init(),p.length>0&&(h=p.children(".loading"),f=p.children(".no-more")),a.initInfosEvt=i,a.setLazyLoadAndMellipsis=s,a.loadMore=t}),define("js/plugin/tip",["jquery"],function(e,a,n){function s(e,a){var n,s;"undefined"!=typeof e&&(n=e.toString(),s=a&&a>0?a:2e3,i.text(n).show(),t=setTimeout(function(){"block"===i.css("display")&&i.hide()},s))}var i,t,o=e("jquery");!function(){var e='<div id="yoho-tip" class="yoho-tip"></div>';o(".yoho-page").append(e),i=o("#yoho-tip"),i.on("tap",function(){i.hide(),clearTimeout(t)})}(),a.show=s}),define("js/plugin/loading",["jquery"],function(e,a,n){function s(){t.removeClass("hide")}function i(){t.addClass("hide")}var t,o=e("jquery"),r=o(".yoho-page");!function(){var e='<div class="loading-mask hide"><div class="loading"></div></div>';r.append(e),t=r.children(".loading-mask")}(),a.showLoadingMask=s,a.hideLoadingMask=i}),define("js/guang/home",["jquery","hammer","swiper","mlellipsis","lazyload","index"],function(e,a,n){var s,i,t=e("jquery"),o=e("hammer"),r=e("swiper"),l=e("js/guang/info"),d=l.loadMore,c=t("#load-more-info"),u=t(""),p=t(""),h=t(window).height(),f=c.height(),g=t("#info-list"),m=g.children(".info-list"),v=t("#guang-nav"),w=v.children(".focus"),y=w.data("type"),b={};c.length>0&&(u=c.children(".loading"),p=c.children(".no-more")),s=new r(".swiper-container",{lazyLoading:!0,pagination:".swiper-pagination"}),l.initInfosEvt(g),function(){var e=t("#gender").val();v.children(".guang-nav-item").each(function(){var a=t(this).data("type"),n=t(this).hasClass("focus");b[a]={page:n?2:1,gender:e,type:a,end:!1}})}(),i=new o(v[0]),i.on("tap",function(e){var a,n,s=t(e.target).closest(".guang-nav-item");s.hasClass("focus")||(n=s.index(),s.addClass("focus"),w.removeClass("focus"),m.not(".hide").addClass("hide"),a=m.eq(n),a.removeClass("hide"),w=s,y=s.data("type"),1===b[y].page&&d(a,b[y]),b[y].end?(u.addClass("hide"),p.removeClass("hide")):(u.removeClass("hide"),p.addClass("hide")))}),t(document).scroll(function(){t(window).scrollTop()+h>=t(document).height()-f&&d(m.not(".hide"),b[y])})}),define("js/guang/list",["jquery","hammer","mlellipsis","lazyload"],function(e,a,n){var s=e("jquery"),i=e("js/guang/info"),t=i.loadMore,o=s(window).height(),r=s("#load-more").height(),l=s("#author-infos"),d=s("#tag"),c=s("#gender"),u=s("#isApp"),p={page:2,end:!1},h=s("#info-list");i.initInfosEvt(h),l.length>0&&s.extend(p,{authorId:l.data("id")}),d.length>0&&s.extend(p,{tag:d.val(),gender:c.val(),isApp:u.val()}),s(document).scroll(function(){s(window).scrollTop()+o>=s(document).height()-r-50&&t(h,p)})}),define("js/guang/detail",["jquery","mlellipsis","lazyload","iscroll-probe"],function(e,a,n){function s(e){var a=e.offset().left,n=-b+a+w/2+"px";o.css({backgroundPosition:n+" bottom"}),m&&y.css({backgroundPosition:n+" bottom"})}function i(e){var a,n,i,p=u(e.currentTarget),f=p.index();p.hasClass("focus")||(r.filter(".focus").removeClass("focus"),m&&(a=p.closest(".fixed-thumb-container").length>0?o:y,n=a.find(".thumb").eq(f),y.find(".thumb.focus").removeClass("focus"),n.addClass("focus")),p.addClass("focus"),s(p),l.not(".hide").addClass("hide"),i=l.eq(f),i.removeClass("hide"),h(i.find(".lazy")),m?c&&c.scrollToElement(d,400):u("body").animate({scrollTop:t.offset().top},400))}var t,o,r,l,d,c,u=e("jquery"),p=e("mlellipsis"),h=e("lazyload"),f=e("iscroll-probe"),g=u(".author .intro"),m=navigator.userAgent.indexOf("iPhone")>0?!0:!1,v=u(".collocation-block").length>0?!0:!1,w=0,y=u(""),d=document.querySelector("#wrapper .collocation-block"),b=u(window).width();e("js/plugin/wx-share")(),m&&u("#wrapper").addClass("ios"),p.init(),h(u(".lazy")),u(".info-list .title, .one-good .reco-name").each(function(){this.mlellipsis(2)}),parseInt(g.offset().left,10)===parseInt(g.css("margin-left"),10)&&g.css("padding-top",0),v&&(t=u(".collocation-block"),o=t.children(".thumb-container"),r=o.find("li"),l=t.find(".prod"),w=r.width(),m&&(y=u("#wrapper").after(o.clone().addClass("fixed-thumb-container fixed-bottom")).next(".thumb-container"),h(y.find(".lazy"),{event:"sporty"})),s(r.filter(".focus")),o.delegate(".thumb","touchend",i),m&&y.delegate(".thumb","touchend",i)),window.onload=function(){var e,a,n,s,i,r=u("#scroller");if(m){if(c=new f("#wrapper",{probeType:3,mouseWheel:!0,click:!0}),document.addEventListener("touchmove",function(e){e.preventDefault()},!1),!v)return void c.on("scroll",function(){r.trigger("scroll")});e=u(window).height(),i=y[0],a=o.height(),n=t.height(),s=t.offset().top,c.on("scroll",function(){var t=-this.y,o=i.className;s-e+a>=t?-1===o.indexOf("fixed-bottom")&&y.addClass("fixed-bottom").removeClass("hide"):s>=t?-1===o.indexOf("hide")&&y.addClass("hide").removeClass("fixed-bottom fixed-top"):s+n-a>=t?-1===o.indexOf("fixed-top")&&y.addClass("fixed-top").removeClass("hide absolute").css("top",""):s+n>=t?(-1===o.indexOf("absolute")&&y.addClass("absolute").removeClass("fixed-top hide"),i.style.top=s+n-a-t+"px"):t>s+n&&-1===o.indexOf("hide")&&y.addClass("hide").removeClass("absolute"),r.trigger("scroll")})}}}),define("js/plugin/wx-share",["jquery"],function(e,a,n){var s=e("jquery");n.exports=function(){var e="http://www.yohoshow.com/api/wechat/getSignPackage";s.getJSON(e+"?pageurl="+encodeURIComponent(location.href.split("#")[0])+"&callback=?",function(e){var a,n,s,i;void 0!==e&&""!==e&&(a=e.appId.toString(),n=e.timestamp,s=e.nonceStr.toString(),i=e.signature.toString(),wx.config({debug:!1,appId:a,timestamp:n,nonceStr:s,signature:i,jsApiList:["checkJsApi","onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ","onMenuShareWeibo","hideMenuItems","showMenuItems","hideAllNonBaseMenuItem","showAllNonBaseMenuItem","translateVoice","startRecord","stopRecord","onRecordEnd","playVoice","pauseVoice","stopVoice","uploadVoice","downloadVoice","chooseImage","previewImage","uploadImage","downloadImage","getNetworkType","openLocation","getLocation","hideOptionMenu","showOptionMenu","closeWindow","scanQRCode","chooseWXPay","openProductSpecificView","addCard","chooseCard","openCard"]}))}),wx.ready(function(){var e=s("#shareTitle").val(),a=s("#shareImg").val(),n=s("#shareDesc").val(),i=s("#shareLink").val(),t={title:e,desc:n,imgUrl:a,link:i};wx.onMenuShareAppMessage(t),wx.onMenuShareTimeline(t),wx.onMenuShareQQ(t),wx.onMenuShareWeibo(t)})}}),define("js/home/entry",["jquery","hammer","swiper","lazyload","index"],function(e,a,n){e("js/home/home"),e("js/home/maybe-like")}),define("js/home/home",["jquery","hammer","swiper","lazyload","index"],function(e,a,n){function s(){x+=10,k.css({transform:"rotateX("+x+"deg)","-webkit-transform":"rotateX("+x+"deg)","-moz-transform":"rotateX("+x+"deg)"}),x/90%2===1&&(q?(k.addClass("animate"),q=!1):(k.removeClass("animate"),q=!0)),x/90%2===0&&x%360!==0?window.setTimeout(s,3e3):x%360===0?window.setTimeout(s,6e4):d(function(){s()})}var i,t,o,r,l,d,c,u,p,h,f,g,m=e("jquery"),v=e("hammer"),w=e("swiper"),y=e("lazyload"),b=m(".mobile-wrap"),C=m(".overlay"),j=m(".side-nav"),x=0,k=m(".home-header .logo"),q=!0;e("js/home/maybe-like"),y(m("img.lazy")),f=new v(m(".nav-btn")[0]),f.on("tap",function(e){return b.addClass("menu-open"),C.show().css("opacity",.3),j.addClass("on"),m("body").css({height:m(window).height(),width:"100%",overflow:"hidden"}),e.srcEvent.stopPropagation(),!1}),g=new v(m(".mobile-wrap")[0]),g.on("tap",function(e){return b.hasClass("menu-open")?(b.removeClass("menu-open"),C.css("opacity",0),m(".sub-nav").removeClass("show"),j.removeClass("on"),m("body").css({height:"auto",overflow:"auto"}),setTimeout(function(){m(".overlay").hide()},300),e.srcEvent.stopPropagation(),!1):void 0}),j.on("touchend","li",function(){m(this).find(".sub-nav").size()>0&&(m(".sub-nav").removeClass("show"),m(this).find(".sub-nav").addClass("show"))}),m(".sub-nav").each(function(){m(this).find("li").eq(0).on("touchend",function(e){return m(".sub-nav").removeClass("show"),!1})}).on("touchend",function(){m(".sub-nav").find("li").removeClass("current")}),m(".banner-swiper").find("li").size()>1&&(i=new w(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".banner-top .pagination-inner"})),o=new w(".brands-swiper",{grabCursor:!0,slidesPerView:"auto",wrapperClass:"brands-list",slideElement:"li"}),t=new w(".recommend-swiper",{grabCursor:!0,slidesPerView:"auto",wrapperClass:"recommend-list",slideElement:"li"}),m(".trend-topic-swiper").find("li").size()>1&&(r=new w(".trend-topic-swiper",{loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".trend-topic-content .pagination-inner"})),m(".category-swiper").each(function(e,a){p="category-swiper"+e,m(this).addClass(p),m("."+p).find(".swiper-slide").size()>1&&(l=new w("."+p,{loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:"."+p+" .pagination-inner"}))}),d=function(){var e=null,a=["webkit","moz","ms"];for(u=0;u<a.length;u++)c=a[u]+"RequestAnimationFrame",window[c]&&(h=!0,e=c);return h?function(a){window[e](a)}:function(e){window.setTimeout(e,67)}}(),setTimeout(s,3e3)}),define("js/home/maybe-like",["jquery","hammer","lazyload"],function(e,a,n){function s(){m||(m=!0,d.ajax({type:"GET",url:o,data:{page:v+1},success:function(e){return" "===e?(m=!0,void(w&&(o="1,3"===w?"/boys/bottomBanner":"/girls/bottomBanner",d.ajax({type:"GET",url:o,success:function(e){e&&(d("#load-more-img").show(),d("#load-more-img a").attr("href",e.url),d("#load-more-img a > img").attr("src",e.img))},error:function(){}})))):(t=g.find(".good-info").length,g.append(e),p(0===t?g.find(".good-info").find("img.lazy"):g.find(".good-info:gt("+(t-1)+")").find("img.lazy")),m=!1,void v++)},error:function(){u.show("网络断开连接了~"),m=!1}}))}var i,t,o,r,l,d=e("jquery"),c=e("hammer"),u=e("js/plugin/tip"),p=e("lazyload"),h=d(window).height(),f=d("#load-more").height(),g=d("#goods-list"),m=!1,v=0,w=null,y=d(".mobile-wrap").hasClass("kids-wrap")?!0:!1,b=d(".mobile-wrap").hasClass("lifestyle-wrap")?!0:!1,C=d("#maybe-like-nav");y?o="/product/recom/maylikekids":b?o="/product/recom/maylikelife":(w=d(".mobile-wrap").hasClass("boys-wrap")?"1,3":"2,3",o="/product/recom/maylike?gender="+w),r=C.children(".focus"),b&&(i=new c(C[0]),i.on("tap",function(e){var a,n=d(e.target).closest("li"),s=d(".goods-list");n.hasClass("focus")||(l=n.index(),n.addClass("focus"),r.removeClass("focus"),s.not(".hide").addClass("hide"),a=s.eq(l),a.removeClass("hide"),r=n,d(document).trigger("scroll"))})),d(".maybe-like p").on("touchstart",function(e){s()}),d(window).scroll(function(){d(window).scrollTop()+h>=d(document).height()-f-50&&s()})}),define("js/index/entry",["jquery","hammer"],function(e,a,n){e("js/index/search"),e("js/index/footer"),e("js/index/channel")}),define("js/index/search",["jquery","hammer"],function(e,a,n){var s,i,t=e("jquery"),o=e("hammer"),r=t("#search-input input"),l=t("#search-input .clear-input"),d=t("#search-form"),c=t(".history"),u=t("#clear-history"),p=e("js/index/write-search"),h=p.getRanToken();s=new o(u[0]),s.on("tap",function(){localStorage.removeItem("historys"),c.html("")}),r.on("input",function(){""===r.val()?l.addClass("hide"):l.removeClass("hide")}),i=new o(l[0]),i.on("tap",function(){r.val("").trigger("input")}),function(){var e,a,n,s="";if(localStorage&&(a=localStorage.getItem("historys"),a&&a.length>0)){for(a=a.split(h),n=0;n<a.length;n++)e=a[n],""!==e&&(s+='<li><a href="/?query='+e+'">'+e+"</li>");c.html(s),u.removeClass("hide")}}(),p.bindWirteLocal(d)}),define("js/index/write-search",[],function(e,a,n){function s(){return t}function i(e){e.on("submit",function(){var e,a=this.query.value;if(localStorage){if(e=localStorage.getItem("historys"),e=e?e:"",e.indexOf(t+a+t)>-1)return;""===e&&(a=t+a),e+=a+t,localStorage.setItem("historys",e)}})}var t=" ??++ ";a.getRanToken=s,a.bindWirteLocal=i}),define("js/index/footer",["jquery","hammer"],function(e,a,n){function s(){var e="http://a.app.qq.com/o/simple.jsp?pkgname=com.yoho&g_f=995445",a=new Date;setTimeout(function(){new Date-a<2e3&&(window.location=e)},500)}var i,t,o=e("jquery"),r=e("hammer");o("#float-layer-close")&&o("#float-layer-close")[0]&&(i=new r(o("#float-layer-close")[0]),i.on("tap",function(e){o("#float-layer-app").hide(),window.setCookie("_float-layer-app","id490655927",{domain:".yohobuy.com"}),window.setCookie("_float-layer-app-close",1,{domain:".yohobuy.com",expires:1})})),o("#float-layer-btn")&&o("#float-layer-btn")[0]&&(t=new r(o("#float-layer-btn")[0]),t.on("tap",function(e){s("bottom")}),window.cookie("_float-layer-app")?o("#float-layer-app").hide():o("#float-layer-app").show())}),define("js/index/channel",["jquery"],function(e,a,n){var s=e("jquery"),i=s(".search-box"),t=s(".index-search"),o=s(".index-logo");i.find("input").on("focus",function(){o.css({width:0}),i.css({width:"12.8rem"}),t.css({width:"15.5rem"}),s(".clear-text, .no-search").show()}).on("blur",function(){o.css({width:"5.4rem"}),i.css({width:"8.8rem"}),t.css({width:"9.6rem"}),s(".clear-text, .no-search").hide()}),i.find(".clear-text").click(function(){i.find("input").val("").trigger("focus")}),i.find(".search-icon").click(function(){t.submit()})}),define("js/passport/entry",["jquery"],function(e,a,n){e("js/passport/register/register"),e("js/passport/register/code"),e("js/passport/register/password"),e("js/passport/login/login"),e("js/passport/login/international"),e("js/passport/back/mobile"),e("js/passport/back/code"),e("js/passport/back/email"),e("js/passport/back/email-success"),e("js/passport/back/new-password")}),define("js/passport/register/register",["jquery"],function(e,a,n){var s=e("jquery"),i=s("#phone-num"),t=s("#country-select"),o=s("#area-code"),r=s("#btn-next"),l=e("js/passport/api"),d=e("js/plugin/tip"),c=s.trim,u=d.show;l.selectCssHack(s("#country-select")),l.bindClearEvt(),i.bind("input",function(){""===c(i.val())?r.addClass("disable"):r.removeClass("disable")}),t.change(function(){o.text(t.val())}),r.on("touchstart",function(){var e=c(i.val()),a=t.val();r.hasClass("disable")||(l.phoneRegx[a].test(e)?s.ajax({url:"/passport/reg/verifymobile",type:"POST",data:{areaCode:a.replace("+",""),phoneNum:e},success:function(e){200===e.code?location.href=e.data:u(e.message)}}):u("手机号格式不正确,请重新输入"))})}),define("js/passport/api",["jquery"],function(e,a,n){function s(e){var a,n=r(".has-eye");e&&"open"===e.status?n.append('<div class="eye"></div>'):n.append('<div class="eye close"></div>'),a=n.children(".eye"),a.on("touchstart",function(e){var a=r(this),n=a.siblings(".pwd");e.preventDefault(),a.toggleClass("close"),a.hasClass("close")?n.attr("type","password"):n.attr("type","text"),n.focus()})}function i(){var e,a=r(".has-clear");a.append('<div class="clear-input"></div>'),e=a.children(".clear-input"),e.on("touchstart",function(a){var n=e.siblings(".input");n.val("").trigger("input").focus(),a.preventDefault()}),a.children(".input").bind("input",function(){var e=r(this),a=e.siblings(".clear-input"),n=l(e.val());""===n?a.hide():a.show()})}function t(e){return e.length>=6&&e.length<=20?!0:!1}function o(e){function a(){var a=e.find("option:selected").text().length;switch(a){case 2:e.outerWidth(90);break;case 3:e.outerWidth(110);break;default:e.outerWidth(130)}}var n=navigator.userAgent;n.match(/uc/i)&&n.match(/android/i)?e.change(function(){a()}):e.removeClass("in-android-uc")}var r=e("jquery"),l=r.trim,d=/^([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/,c={"+86":/^1[35847]{1}[0-9]{9}$/,"+852":/^[965]{1}[0-9]{7}$/,"+853":/^[0-9]{8}$/,"+886":/^[0-9]{10}$/,"+65":/^[98]{1}[0-9]{7}$/,"+60":/^1[1234679]{1}[0-9]{8}$/,"+1":/^[0-9]{10}$/,"+82":/^01[0-9]{9}$/,"+44":/^7[789][0-9]{8}$/,"+81":/^0[9|8|7][0-9]{9}$/,"+61":/^[0-9]{11}$/};n.exports={emailRegx:d,phoneRegx:c,bindEyesEvt:s,bindClearEvt:i,pwdValidate:t,selectCssHack:o}}),define("js/passport/register/code",["jquery"],function(e,a,n){e("js/passport/code")(!0)}),define("js/passport/code",["jquery"],function(e,a,n){var s=e("jquery");n.exports=function(a){function n(){var e,a=59;e=setInterval(function(){0===a?(o.text("重发验证码").removeClass("disable"),clearInterval(e)):o.text("重发验证码 ("+a--+"秒)")},1e3)}var i=s("#captcha"),t=s("#btn-next"),o=s("#captcha-tip"),r=s("#phone-num").val(),l=s("#area-code").val().replace("+",""),d=e("js/passport/api"),c=e("js/plugin/tip"),u=s.trim,p=c.show,h=a?"reg":"back";d.bindClearEvt(),i.bind("input",function(){""!==u(i.val())?t.removeClass("disable"):t.addClass("disable")}),o.on("touchstart",function(){o.hasClass("disable")||s.ajax({type:"POST",url:"/passport/"+h+"/sendcode",data:{phoneNum:r,areaCode:l},success:function(e){200===e.code?(o.text("重发验证码 (60秒)").addClass("disable"),n()):p(e.message)}})}),t.on("touchstart",function(){t.hasClass("disable")||s.ajax({type:"POST",url:"/passport/"+h+"/verifycode",data:{phoneNum:r,areaCode:l,code:u(i.val()),token:s("#token").val()},success:function(e){200===e.code?location.href=e.data:p(e.message)}})}),n()}}),define("js/passport/register/password",["jquery"],function(e,a,n){var s=e("jquery"),i=s("#pwd"),t=s("#btn-sure"),o=e("js/passport/api"),r=e("js/plugin/tip"),l=s.trim,d=r.show;o.bindEyesEvt({status:"open"}),i.bind("input",function(){""===l(i.val())?t.addClass("disable"):t.removeClass("disable")}),t.on("touchstart",function(){var e=l(i.val());t.hasClass("disable")||(o.pwdValidate(e)===!1?d("密码6-20位,请重新输入"):s.ajax({type:"POST",url:"/passport/reg/setpassword",data:{password:e,phoneNum:s("#phone-num").val(),areaCode:s("#area-code").val(),token:s("#token").val()},success:function(e){200===e.code?(d("注册成功"),setTimeout(function(){location.href=e.data},1e3)):401===e.code||404===e.code||505===e.code?d(e.message):(d(e.message),setTimeout(function(){location.href=e.data},1e3))}}))})}),define("js/passport/login/login",["jquery"],function(e,a,n){function s(){p&&h?d.removeClass("disable"):d.addClass("disable")}function i(){c.show(),u.show()}function t(){c.hide(),u.hide()}var o=e("jquery"),r=o("#account"),l=o("#pwd"),d=o("#btn-login"),c=o("#retrive-pwd-mask"),u=o("#retrive-pwd-ways"),p=!1,h=!1,f=e("js/passport/api"),g=e("js/plugin/tip"),m=o.trim,v=g.show;f.bindEyesEvt(),f.bindClearEvt(),r.bind("input",function(){p=""!==m(r.val())?!0:!1,s()}),l.bind("input",function(){h=""===m(l.val())?!1:!0,s()}),d.on("touchstart",function(){var e=m(r.val()),a=m(l.val());d.hasClass("disable")||((/^[0-9]+$/.test(e)||f.emailRegx.test(e))&&f.pwdValidate(a)?o.ajax({type:"POST",url:"/passport/login/auth",data:{account:e,password:a},success:function(e){200===e.code?(v("登录成功"),setTimeout(function(){location.href=e.data},1e3)):v(e.message)},error:function(){v("网络断开连接啦~")}}):v("账号或密码有错误,请重新输入"))}),o("#forget-pwd").on("touchstart",function(){i()}),c.on("touchstart",function(){t()}),o("#cancel-retrive").on("touchstart",function(e){e.preventDefault(),t()}),r.trigger("input"),l.trigger("input")}),define("js/passport/login/international",["jquery"],function(e,a,n){function s(){c&&u?d.removeClass("disable"):d.addClass("disable")}var i=e("jquery"),t=i("#phone-num"),o=i("#country-select"),r=i("#area-code"),l=i("#pwd"),d=i("#btn-login"),c=!1,u=!1,p=e("js/passport/api"),h=e("js/plugin/tip"),f=i.trim,g=h.show;p.selectCssHack(o),p.bindEyesEvt(),p.bindClearEvt(),t.bind("input",function(){c=""===f(t.val())?!1:!0,s()}),l.bind("input",function(){var e=f(l.val());u=""===e?!1:!0,s()}),o.change(function(){r.text(o.val())}),d.on("touchstart",function(){var e=f(t.val()),a=o.val(),n=f(l.val());d.hasClass("disable")||(p.phoneRegx[a].test(e)&&p.pwdValidate(n)?i.ajax({type:"POST",url:"/passport/login/auth",data:{areaCode:a.replace("+",""),account:e,password:n},success:function(e){200===e.code?(g("登录成功"),setTimeout(function(){location.href=e.data},1e3)):g(e.message)},error:function(){g("网络断开连接啦~")}}):g("账号或密码有错误,请重新输入"))}),t.trigger("input"),l.trigger("input")}),define("js/passport/back/mobile",["jquery"],function(e,a,n){var s=e("jquery"),i=s("#phone-num"),t=s("#country-select"),o=s("#area-code"),r=s("#btn-next"),l=e("js/passport/api"),d=e("js/plugin/tip"),c=s.trim,u=d.show;l.selectCssHack(s("#country-select")),l.bindClearEvt(),i.bind("input",function(){""===c(i.val())?r.addClass("disable"):r.removeClass("disable")}),t.change(function(){o.text(t.val())}),r.on("touchstart",function(){var e=c(i.val()),a=t.val();r.hasClass("disable")||(l.phoneRegx[a].test(e)?s.ajax({url:"/passport/back/sendcode",type:"POST",data:{areaCode:a.replace("+",""),phoneNum:e},success:function(e){200===e.code?location.href=e.data:u(e.message)}}):u("手机号格式不正确,请重新输入"))})}),define("js/passport/back/code",["jquery"],function(e,a,n){e("js/passport/code")(!1)}),define("js/passport/back/email",["jquery"],function(e,a,n){var s=e("jquery"),i=s("#email"),t=s("#btn-sure"),o=e("js/passport/api"),r=e("js/plugin/tip"),l=s.trim,d=r.show;o.bindClearEvt(),i.bind("input",function(){""===l(i.val())?t.addClass("disable"):t.removeClass("disable")}),t.on("touchstart",function(){var e=l(i.val());t.hasClass("disable")||(o.emailRegx.test(e)?s.ajax({url:"/passport/back/sendemail",type:"POST",data:{email:e},success:function(e){200===e.code?location.href=e.data:d(e.message)}}):d("邮箱格式不正确,请重新输入"))})}),define("js/passport/back/email-success",["jquery"],function(e,a,n){var s=e("jquery"),i=s("#resend"),t=e("js/plugin/tip"),o=t.show;i.on("touchstart",function(e){e.preventDefault(),s.ajax({url:i.data("url"),type:"GET",success:function(e){o(200===e.code?e.message:e.message)}})})}),define("js/passport/back/new-password",["jquery"],function(e,a,n){var s=e("jquery"),i=s("#pwd"),t=s("#btn-ok"),o=e("js/passport/api"),r=e("js/plugin/tip"),l=s.trim,d=r.show,c=s("#phone-num");o.bindEyesEvt(),i.bind("input",function(){""===l(i.val())?t.addClass("disable"):t.removeClass("disable")}),t.on("touchstart",function(){var e,a,n=l(i.val()),r=!0;t.hasClass("disable")||(e={password:n},0===c.length&&(r=!1),r?(s.extend(e,{phoneNum:c.val(),areaCode:s("#areaCode").val(),token:s("#token").val()}),a="/passport/back/passwordByMobile"):(s.extend(e,{code:s("#email-code").val()}),a="/passport/back/passwordByEmail"),o.pwdValidate(n)?s.ajax({type:"POST",url:a,data:e,success:function(e){200===e.code?(d("密码修改成功"),setTimeout(function(){location.href=e.data},1e3)):d(e.message)}}):d("密码6-20位,请重新输入"))})}),define("js/product/entry",["jquery","swiper","hammer","lazyload","index"],function(e,a,n){e("js/product/newsale/newarrival"),e("js/product/newsale/discount"),e("js/product/list"),e("js/product/detail/detail")}),define("js/product/newsale/newarrival",["jquery","swiper","hammer","lazyload","index"],function(e,a,n){function s(e){var a,n,s,i,l,u,p={};if(!d){if(e){for(n in z)z.hasOwnProperty(n)&&(z[n].reload=!0);switch(q.children(".active").removeClass("active"),T.addClass("active"),e.type){case"gender":a={gender:e.id};break;case"brand":a={brand:e.id};break;case"sort":a={sort:e.id};break;case"color":a={color:e.id};break;case"size":a={size:e.id};break;case"price":a={price:e.id};break;case"discount":a={discount:e.id};break;case"limit":a={limit:e.id};break;case"channel":a={channel:e.id};break;case"p_d":a={p_d:e.id}}c.extend(b,a)}if(T.hasClass("today")?(i="today",l=1):T.hasClass("week")?(i="week",l=2):T.hasClass("sale")&&(i="sale",l=3),s=z[i],u=s.page+1,s.reload)u=1;else if(s.end)return;c.extend(p,b,{dayLimit:l,page:u}),d=!0,g.showLoadingMask(),c.ajax({type:"GET",url:"/product/newsale/selectNewSale",data:p,success:function(e){var a,n;switch(i){case"today":a=t;break;case"week":a=o;break;case"sale":a=r}" "===e?(s.end=!0,s.reload&&a.html(y)):s.reload?(a.html(e),h(a.find(".lazy"))):(n=a.find(".good-info").length,a.append(e),h(a.find(".good-info:gt("+(n-1)+") .lazy"))),s.reload=!1,s.page=u,d=!1,g.hideLoadingMask(),window.rePosFooter()}})}}var i,t,o,r,l,d,c=e("jquery"),u=e("swiper"),p=e("hammer"),h=e("lazyload"),f=e("js/plugin/filter"),g=e("js/plugin/loading"),m=c("#goods-container"),v=m.children(),t=c(v.get(0)),o=c(v.get(1)).addClass("hide"),r=c(v.get(2)).addClass("hide"),w=c(window).height(),y='<p class="no-result">未找到相关搜索结果</p>',b={gender:c("#gender").val(),brand:c("#brand").val(),sort:c("#sort").val(),color:c("#color").val(),size:c("#size").val(),price:c("#price").val(),discount:c("#discount").val(),limit:c("#limit").val(),channel:c("#channel").val(),p_d:c("#p_d").val(),dayLimit:1},C=c.extend({},b),j=new Date,x=j.getMonth()+1,k=j.getDate(),q=c("#list-nav"),z={today:{reload:!0,page:0,end:!1},week:{reload:!0,page:0,end:!1},sale:{reload:!0,page:0,end:!1}},T=q.find(".active");c("#today a").text(x+"月"+k+"号"),
c(".swiper-container .swiper-slide").length>1&&(i=new u(".swiper-container",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,pagination:".swiper-pagination"})),c.ajax({type:"GET",url:"/product/newsale/filter",data:b,success:function(e){m.append(e),f.initFilter({fCbFn:s,hCbFn:function(){T.addClass("active"),T.siblings(".filter").removeClass("active")}})}}),h(c(".lazy")),l=new p(q[0]),l.on("tap",function(e){var a,n,i,l=c(e.target).closest("li");if(l.hasClass("filter"))l.hasClass("active")?(f.hideFilter(),T.addClass("active"),l.removeClass("active")):(T=l.siblings(".active"),T.removeClass("active"),l.addClass("active"),f.showFilter());else{if(l.hasClass("today")?n="today":l.hasClass("week")?n="week":l.hasClass("sale")&&(n="sale"),a=z[n],!l.hasClass("active")){if(i=l.siblings(".active"),T=l,i.hasClass("filter"))f.hideFilter();else{switch(m.children(".container:not(.hide)").addClass("hide"),n){case"today":t.removeClass("hide");break;case"week":o.removeClass("hide");break;case"sale":r.removeClass("hide")}f.resetFilter(),b=c.extend({},C)}i.removeClass("active"),l.addClass("active")}a.reload&&s()}}),c(window).scroll(function(){c(window).scrollTop()+w>c(document).height()-.25*m.height()-50&&void 0!==T&&s()}),s()}),define("js/plugin/filter",["jquery","hammer"],function(e,a,n){function s(){c.addClass("hide")}function i(){c.removeClass("hide")}function t(e){e.hasClass("active")||(e.siblings(".active").removeClass("active"),e.addClass("active"))}function o(e){var a,n,s=e.closest(".sub-classify"),i=s.siblings(".shower");return e.hasClass("chosed")?void 0:(s.children(".chosed").removeClass("chosed"),e.addClass("chosed"),a=f.trim(e.html()),n=f.trim(i.html()),i.html(n.substring(0,n.indexOf("</span>")+7)+a.substring(0,a.indexOf("<i"))),0===e.index()?i.addClass("default"):i.removeClass("default"),s)}function r(e){var a,n=e.data("id");a=o(e),u&&u({type:a.data("type"),id:n}),s()}function l(e){var a;u=e.fCbFn,p=e.hCbFn,h=e.missStatus,c=f(".filter-mask"),a=new g(c[0]),a.on("tap",function(e){var a,n=f(e.target);n.closest(".filter-body").length>0?(a=n.closest(".sub-item"),a.length>0?(a=n.closest("li"),r(a)):(a=n.closest(".classify-item"),e.srcEvent.stopPropagation(),t(a))):(s(),p&&p())})}function d(){"undefined"!=typeof c&&(f(".sub-classify").each(function(){o(f(this).children(":first-child"))}),t(f(".classify > :first-child")))}var c,u,p,h,f=e("jquery"),g=e("hammer");a.initFilter=l,a.showFilter=i,a.hideFilter=s,a.resetFilter=d}),define("js/product/newsale/discount",["jquery","swiper","hammer","lazyload","index"],function(e,a,n){function s(e){var a,n,s,i,t,l={};if(!o){if(e){for(n in j)j.hasOwnProperty(n)&&(j[n].reload=!0);switch(C.children(".active").removeClass("active"),x.addClass("active"),e.type){case"gender":a={gender:e.id};break;case"brand":a={brand:e.id};break;case"sort":a={sort:e.id};break;case"color":a={color:e.id};break;case"size":a={size:e.id};break;case"price":a={price:e.id};break;case"discount":a={discount:e.id}}r.extend(b,a)}if(x.hasClass("new")?i="newest":x.hasClass("price")?i="price":x.hasClass("discount")&&(i="discount"),s=j[i],t=s.page+1,s.reload)t=1;else if(s.end)return;r.extend(l,b,{type:i,order:s.order,page:t}),o=!0,p.showLoadingMask(),r.ajax({type:"GET",url:"/product/newsale/selectNewSale",data:l,success:function(e){var a,n;switch(i){case"newest":a=g;break;case"price":a=m;break;case"discount":a=v}" "===e?(s.end=!0,s.reload&&a.html(y)):s.reload?(a.html(e),c(a.find(".lazy"))):(n=a.find(".good-info").length,a.append(e),c(a.find(".good-info:gt("+(n-1)+") .lazy"))),s.reload=!1,s.page=t,o=!1,p.hideLoadingMask(),window.rePosFooter()}})}}var i,t,o,r=e("jquery"),l=e("swiper"),d=e("hammer"),c=e("lazyload"),u=e("js/plugin/filter"),p=e("js/plugin/loading"),h=r("#goods-container"),f=h.children(),g=r(f.get(0)),m=r(f.get(1)),v=r(f.get(2)),w=r(window).height(),y='<p class="no-result">未找到相关搜索结果</p>',b={gender:r("#gender").val(),brand:r("#brand").val(),sort:r("#sort").val(),color:r("#color").val(),size:r("#size").val(),price:r("#price").val(),discount:r("#discount").val()},C=r("#list-nav"),j={newest:{order:1,reload:!0,page:0,end:!1},price:{order:0,reload:!0,page:0,end:!1},discount:{order:0,reload:!0,page:0,end:!1}},x=C.find(".active");r(".swiper-container .swiper-slide").length>1&&(i=new l(".swiper-container",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,pagination:".swiper-pagination"})),r.ajax({type:"GET",url:"/product/newsale/filter",data:b,success:function(e){h.append(e),u.initFilter({fCbFn:s,hCbFn:function(){x.addClass("active"),x.siblings(".filter").removeClass("active")},missStatus:!0})}}),c(r(".lazy")),t=new d(C[0]),t.on("tap",function(e){var a,n,i,t=r(e.target).closest("li");if(t.hasClass("filter"))t.hasClass("active")?(u.hideFilter(),x.addClass("active"),t.removeClass("active")):(x=t.siblings(".active"),x.removeClass("active"),t.addClass("active"),u.showFilter());else{if(t.hasClass("new")?n="newest":t.hasClass("price")?n="price":t.hasClass("discount")&&(n="discount"),a=j[n],t.hasClass("active")){if(t.hasClass("new"))return;(t.hasClass("price")||t.hasClass("discount"))&&(t.find(".icon > .iconfont").toggleClass("cur"),x=t,a.reload=!0,a.order=0===a.order?1:0)}else{if(i=t.siblings(".active"),x=t,i.hasClass("filter"))u.hideFilter();else switch(h.children(".container:not(.hide)").addClass("hide"),n){case"newest":g.removeClass("hide");break;case"price":m.removeClass("hide");break;case"discount":v.removeClass("hide")}i.removeClass("active"),t.addClass("active")}a.reload&&s()}}),r(window).scroll(function(){r(window).scrollTop()+w>r(document).height()-.25*h.height()-50&&void 0!==x&&s()}),s()}),define("js/product/list",["jquery","hammer","lazyload"],function(e,a,n){function s(e){var a,n,s,t,o,r={};if(!i){if(e){for(n in q)q.hasOwnProperty(n)&&(q[n].reload=!0);switch(k.children(".active").removeClass("active"),z.addClass("active"),e.type){case"gender":a={gender:e.id};break;case"brand":a={brand:e.id};break;case"sort":a={sort:e.id};break;case"color":a={color:e.id};break;case"size":a={size:e.id};break;case"price":a={price:e.id};break;case"discount":a={discount:e.id}}d.extend(x,a)}if(z.hasClass("new")?t="newest":z.hasClass("price")?t="price":z.hasClass("discount")&&(t="discount"),s=q[t],o=s.page+1,s.reload)o=1;else if(s.end)return;d.extend(r,x,{type:t,order:s.order,page:o}),i=!0,v.showLoadingMask(),d.ajax({type:"GET",url:"/index/search/search",data:r,success:function(e){var a,n,r='<p class="no-result">未找到相关搜索结果</p>';switch(t){case"newest":n=y;break;case"price":n=b;break;case"discount":n=C}" "===e?(s.end=!0,s.reload&&n.html(r)):s.reload?(n.html(e),u(n.find(".lazy"))):(a=n.find(".good-info").length,n.append(e),u(n.find(".good-info:gt("+(a-1)+") .lazy"))),s.reload=!1,s.page=o,i=!1,v.hideLoadingMask(),window.rePosFooter()}})}}var i,t,o,r,l,d=e("jquery"),c=e("hammer"),u=e("lazyload"),p=d("#brand-header"),h=d("#intro-box"),f=e("js/plugin/filter"),g=e("js/index/write-search"),m=e("js/plugin/tip"),v=e("js/plugin/loading"),w=d("#goods-container"),y=w.children(".new-goods"),b=w.children(".price-goods"),C=w.children(".discount-goods"),j=d(window).height(),x={gender:d("#gender").val(),brand:d("#brand").val(),sort:d("#sort").val(),color:d("#color").val(),size:d("#size").val(),price:d("#price").val(),discount:d("#discount").val(),query:d("#query").val()},k=d("#list-nav"),q={newest:{order:1,reload:!0,page:0,end:!1},price:{order:0,reload:!0,page:0,end:!1},discount:{order:0,reload:!0,page:0,end:!1}},z=k.find(".active");d.ajax({type:"GET",url:"/search/filter",data:x,success:function(e){w.append(e),f.initFilter({fCbFn:s,hCbFn:function(){z.addClass("active"),z.siblings(".filter").removeClass("active")}})}}),u(d(".lazy")),g.bindWirteLocal(d("#search-form")),t=new c(k[0]),t.on("tap",function(e){var a,n,i,t=d(e.target).closest("li");if(t.hasClass("filter"))t.hasClass("active")?(f.hideFilter(),z.addClass("active"),t.removeClass("active")):(z=t.siblings(".active"),z.removeClass("active"),t.addClass("active"),f.showFilter());else{if(t.hasClass("new")?n="newest":t.hasClass("price")?n="price":t.hasClass("discount")&&(n="discount"),a=q[n],t.hasClass("active")){if(t.hasClass("new"))return;(t.hasClass("price")||t.hasClass("discount"))&&(t.find(".icon > .iconfont").toggleClass("cur"),z=t,a.reload=!0,a.order=0===a.order?1:0)}else{if(i=t.siblings(".active"),z=t,i.hasClass("filter"))f.hideFilter();else switch(w.children(".container:not(.hide)").addClass("hide"),n){case"newest":y.removeClass("hide");break;case"price":b.removeClass("hide");break;case"discount":C.removeClass("hide")}i.removeClass("active"),t.addClass("active")}a.reload&&s()}}),d(window).scroll(function(){d(window).scrollTop()+j>d(document).height()-.25*w.height()&&s()}),p.length>0&&(o=new c(p.children(".btn-intro")[0]),o.on("tap",function(){h.removeClass("hide"),d("body").addClass("overflow-hidden")}),r=new c(document.getElementById("intro-box")),r.on("tap",function(e){var a=d(e.target);e.srcEvent.preventDefault(),(0===a.closest("#brand-intro").length||a.hasClass("close-intro"))&&(h.addClass("hide"),d("body").removeClass("overflow-hidden"))}),l=new c(p.children(".btn-col")[0]),l.on("tap",function(){var e,a=d(this),n=p.data("id");e=a.hasClass("coled")?"cancel":"ok",d.ajax({type:"POST",url:"/product/opt/favoriteBrand",data:{id:n,opt:e},success:function(e){200===e.code?a.toggleClass("coled"):400===e.code||412===e.code?m.show("未登录"):m.show(e.message)},error:function(){m.show("网络断开连接了~")}})})),s()}),define("js/product/detail/detail",["jquery","swiper","lazyload","index"],function(e,a,n){var s,i=e("jquery"),t=e("swiper"),o=e("lazyload");o(i("img.lazy")),s=new t(".banner-swiper",{loop:!0,pagination:".banner-top .pagination-inner",slideElement:"div",nextButton:".swiper-button-next",prevButton:".swiper-button-prev"})});
\ No newline at end of file
... ...
... ... @@ -149,7 +149,7 @@ class SearchController extends AbstractAction
$this->setTitle('搜索');
$this->setNavHeader('搜索', true, SITE_MAIN);
}
// 右下角的购物车链接
$data['goodList']['cartUrl'] = Helpers::url('/cart/index/index', null);
... ... @@ -183,8 +183,13 @@ class SearchController extends AbstractAction
{
$data = array();
if ($this->isAjax()) {
// 过滤请求参数
do {
/* 判断是不是AJAX请求 */
if (!$this->isAjax()) {
break;
}
/* 过滤请求参数 */
$condition = filter_input_array(INPUT_GET, array(
'query' => FILTER_DEFAULT,
'brand' => FILTER_VALIDATE_INT,
... ... @@ -196,55 +201,45 @@ class SearchController extends AbstractAction
'price' => FILTER_VALIDATE_INT,
'discount' => FILTER_DEFAULT,
'gender' => FILTER_DEFAULT,
'p_d' => FILTER_DEFAULT,), false);
'p_d' => FILTER_DEFAULT,
'page' => FILTER_VALIDATE_INT, ), false);
// 转义分类
if (isset($condition['sort'])) {
$condition['sort'] = rawurldecode($condition['sort']);
}
// 转换折扣
if (isset($condition['discount'])) {
$condition['p_d'] = rawurldecode($condition['discount']);
unset($condition['discount']);
}
// 转义性别
if (isset($condition['gender'])) {
$condition['gender'] = rawurldecode($condition['gender']);
}
// 转换排序方式
$page = $this->get('page', 1);
$orderVal = $this->get('order', 0);
$type = $this->get('type', '');
$order = Helpers::transOrder($orderVal, $type);
// 查询品类或品牌数据
if (!isset($condition['query'])) {
$condition['order'] = $order;
$condition['page'] = $page;
// 搜索品类
if (!isset($condition['brand'])) {
$data += Product\ListModel::getClassData($condition);
}
// 搜索品牌
else {
$title = '';
$data += Product\ListModel::getBrandData($condition, $title);
}
if (isset($data['filter'])) {
unset($data['filter']);
}
}
// 查询数据
else {
$listData = SearchData::searchByCondition($condition, $order, $page);
// 处理返回的数据
if (isset($listData['data'])) {
if (isset($listData['data']['filter'])) {
unset($listData['data']['filter']);
}
$data = ListProcess::getListData($listData['data']);
}
$listData = array();
}
}
$order = $this->get('order', 0);
$condition['order'] = Helpers::transOrder($order, $type);
// /* 模糊搜索关键词 */
// if (isset($condition['query'])) {
// $data = Product\SearchModel::getSearchData($condition);
// break;
// }
//
// /* 精确搜索品牌 */
// if (isset($condition['brand'])) {
// $title = '';
// $data = Product\ListModel::getBrandData($condition, $title);
// break;
// }
//
// /* 精确搜索品类 */
// $data = Product\ListModel::getClassData($condition);
$data = Product\SearchModel::getSearchData($condition);
} while (false);
if (empty($data['new'])) {
echo ' ';
... ...
... ... @@ -3,7 +3,6 @@
namespace Category;
use LibModels\Wap\Category\BrandData;
use Configs\CacheConfig;
use Plugin\Helpers;
/**
... ...
... ... @@ -47,7 +47,7 @@ class ListModel
$listData = ClassData::filterClassData($condition);
// 处理返回的数据
if (isset($listData['code']) && $listData['code'] === 200) {
$result = ListProcess::getListData($listData['data']);
$result = ListProcess::getListData($listData['data'], false);
}
if (USE_CACHE) {
... ... @@ -81,6 +81,7 @@ class ListModel
if (isset($introData['data']['brand_intro'])) {
$result['id'] = $id;
$result['intro'] = $introData['data']['brand_intro'];
$result['collected'] = (isset($introData['data']['is_favorite']) && $introData['data']['is_favorite'] == 'Y') ? true : false;
// 顶部导航的标题
$title = isset($introData['data']['brand_name']) ? $introData['data']['brand_name'] : '';
}
... ... @@ -121,7 +122,7 @@ class ListModel
$listData = BrandData::filterBrandData($condition);
// 处理返回的数据
if (isset($listData['code']) && $listData['code'] === 200) {
$result = ListProcess::getListData($listData['data']);
$result = ListProcess::getListData($listData['data'], false);
if (!empty($listData['data']['brand'])) {
$result['brandWay'] = array(
'url' => 'http://' . $listData['data']['brand']['brand_domain'] . SUB_DOMAIN,
... ...
<?php
namespace Product;
use Configs\CacheConfig;
use LibModels\Wap\Product\SearchData;
use Plugin\DataProcess\ListProcess;
/**
* 搜索相关的模板数据模型
*
* @name Search
* @package Product
* @copyright yoho.inc
* @version 1.0 (2015-11-1 14:35:52)
*/
class SearchModel
{
/**
* 获取搜索的数据
*
* @param array $condition 查询条件
* @return array
*/
public static function getSearchData($condition)
{
$result = array();
if (USE_CACHE) {
$key = CacheConfig::KEY_ACTION_INDEX_SEARCH;
if (!empty($condition)) {
$key .= http_build_query($condition, null, '&');
}
// 先尝试获取一级缓存(master), 有数据则直接返回.
$result = Cache::get($key, 'master');
if (!empty($result)) {
return $result;
}
}
// 调用接口查询数据 (使用新的 Elastic Engine)
$listData = SearchData::searchElasticByCondition($condition);
// 调用接口查询数据 (使用老的 Sphinx Engine)
// $listData = SearchData::searchByCondition($condition);
// 处理返回的数据
if (isset($listData['code']) && $listData['code'] === 200) {
$result = ListProcess::getListData($listData['data'], false);
}
if (USE_CACHE) {
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
if (empty($result)) {
$result = Cache::get($key, 'slave');
}
// 接口调用正常,数据封装完成, 则设置一级(master)和二级(slave)数据缓存
else {
Cache::set($key, $result, 600); // 缓存10分钟
}
}
return $result;
}
}
... ...
... ... @@ -154,11 +154,11 @@ class IndexController extends AbstractAction
$data['guangList'] = true;
// 作者信息
$data['author'] = array();
$data['author']['avatar'] = Helpers::getImageUrl($author['avatar'], 100, 100);
$data['author']['name'] = $author['name'];
$data['author']['info'] = $author['author_desc'];
$data['author']['id'] = $id;
$data['authorInfo'] = array();
$data['authorInfo']['avatar'] = Helpers::getImageUrl($author['avatar'], 100, 100);
$data['authorInfo']['name'] = $author['name'];
$data['authorInfo']['info'] = $author['author_desc'];
$data['authorInfo']['id'] = $id;
// 标签聚合内容列表
$article = ListData::article($gender, 0, $uid, $udid, 1, null, $id);
... ... @@ -166,7 +166,7 @@ class IndexController extends AbstractAction
if (!empty($article['data']['list']['artList'])) {
$build = array();
foreach ($article['data']['list']['artList'] as $article) {
$build[] = Helpers::formatArticle($article, true, $isApp, false);
$build[] = Helpers::formatArticle($article, true, $isApp, false);
}
$data['guang']['infos'] = $build;
}
... ...
[common]
;;默认项目
application.directory = APPLICATION_PATH "/application"
;;website library
application.library = ROOT_PATH "/library"
;;默认模块
application.modules = "Index,Category,Channel,Guang,Passport,Product,Cart"
;;加载
application.bootstrap = APPLICATION_PATH "/application/Bootstrap.php"
;;view文件的扩展名
application.view.ext = "phtml"
;;默认layouts
application.layout.path = APPLICATION_PATH "/application/layouts"
;;layouts 默认文件
application.layout.default = "default"
;;默认Controller
application.dispatcher.defaultController = "index"
;;默认Action
application.dispatcher.defaultAction = "index"
;;初始化命名空间
application.namespaces = "Action,Api,Configs,LibModels,Plugin"
;;使用composer
composer.autoload = 0
composer.path = APPLICATION_PATH "/library/Package"
yaf.use_namespace = 1
;;调试模式
[preview : common]
application.debug = False
application.servers.config = APPLICATION_PATH "/configs/core"
;出错的时候是否抛出异常
application.dispatcher.throwException = False
;是否使用默认的异常 捕获Controller, 如果开启, 在有未捕获的异常的时候,
;控制权会交给ErrorController的errorAction 方法,
;可以通过$request->getException()获得此异常对象
application.dispatcher.catchException = False
;模板预编译目录,该目录需要有读写权限
application.template.compile = ROOT_PATH "/compile/m.yohobuy.com"
application.template.path = ROOT_PATH "/template/m.yohobuy.com/actions"
application.template.partials = ROOT_PATH "/template/m.yohobuy.com/partials"
application.template.ext = ".phtml"
;静态HTML页面的存放目录, 该目录需要有读写权限
application.assets.path = ROOT_PATH "/assets"
; 应用的版本号
application.version = "0.0.6"
; 网站SEO信息
application.seo.title = "Yoho!Buy有货"
application.seo.keywords = "Yoho! 有货官网,潮流志,潮流男装,潮牌,美国潮牌,日本潮牌,香港潮牌,潮牌店,新品首发,欧美潮流,全球购,代购,时尚,流行,特卖,B2C,正品,购物网站,网上购物,货到付款"
application.seo.description = "YOHO! 有货,年轻人潮流购物中心,中国最大的潮流商品购物网站。100%品牌正品保证,支持货到付款。作为YOHO!旗下的购物平台,汇集了全球潮流时尚商品和中国最流行的商品,也是国内最大的原创文化商品平台,也是香港,台湾地区流行商品的集中地。同时包含日本、韩国等众多国外潮流品牌,带给您全新潮流购物体验。"
... ...