Authored by 王水玲

帮助中心

Showing 51 changed files with 1513 additions and 542 deletions
'use strict';
const yohobuy = (req, res, next) => {
res.render('help/yohobuy');
};
const newpower = (req, res, next) => {
res.render('help/newpower');
};
const contact = (req, res, next) => {
res.render('help/contact');
};
const privacy = (req, res, next) => {
res.render('help/privacy');
};
const yoholink = (req, res, next) => {
res.render('help/link');
};
module.exports = {
yohobuy,
newpower,
contact,
privacy,
yoholink
};
/**
* 帮助中心
* @author: jiangmin
* @date: 2016/07/25
*/
'use strict';
const helpModel = require('../models/help');
const index = (req, res, next) => {
let siteUrl = global.yoho.config.siteUrl;
let channel = req.query.channel ? req.query.channel : 'boys';
helpModel.helpData(channel).then(result => {
res.render('help', Object.assign({
module: 'help',
page: 'help-index',
content: Object.assign({
siteUrl: siteUrl,
nav: [
{
link: siteUrl,
name: 'YOHO!BLK首页'
},
{
name: '帮助中心'
}
]
}, result.content)
}, result.headerData));
}).catch(next);
};
/**
* 详情
*/
const detail = (req, res, next) => {
let q = req.query;
let params = {
id: parseInt(q.id || 1, 10),
contId: +req.query.contId || 0,
keywords: req.query.helpQuery,
channel: req.query.channel ? req.query.channel : 'boys'
};
let nav = [
{
link: global.yoho.config.siteUrl,
name: 'YOHO!BLK首页'
},
{
name: '帮助中心',
link: '/help/index'
}
];
helpModel.detailData(params).then(result => {
let newData = result.newData;
let headerData = result.headerData;
if (!(typeof (newData.nav) === 'undefined')) {
nav = nav.concat(newData.nav);
}
res.render('detail', Object.assign({
module: 'help',
page: 'help',
content: Object.assign({nav}, newData.data),
qid: q.helpQuery ? false : params.id
}, headerData));
}).catch(next);
};
// 帮助搜索功能
const search = (req, res, next) => {
helpModel.searchData(req.query).then(result => {
res.json(result);
}).catch(next);
};
// 获取在线客服的链接
const onlineService = (req, res, next) => {
helpModel.onlineService().then(url => {
res.json(url);
}).catch(next);
};
module.exports = {
index,
detail,
search,
onlineService
};
... ...
'use strict';
const mRoot = '../models';
const index = (req, res, next) => {
res.render('help/index', {});
};
module.exports = {
index
};
/**
* sub app help
* @author: yyq<yanqing.yang@yoho.cn>
* @date: 2016/11/14
* help
* @author: lcy<chuanyang.liu@yoho.cn>
* @date: 2016/08/31
*/
'use strict';
var express = require('express'),
path = require('path');
var express = require('express'),
path = require('path');
var app = express();
var app = express();
// set view engin
var doraemon = path.join(__dirname, '../../doraemon/views'); // parent view root
app.on('mount', function(parent) {
delete parent.locals.settings; // 不继承父 App 的设置
Object.assign(app.locals, parent.locals);
});
app.use(global.yoho.hbs({
extname: '.hbs',
defaultLayout: 'layout',
layoutsDir: doraemon,
partialsDir: [path.join(__dirname, 'views/partial')],
views: path.join(__dirname, 'views/action'),
helpers: global.yoho.helpers
}));
var doraemon = path.join(__dirname, '../../doraemon/views'); // parent view root
app.on('mount', function(parent) {
delete parent.locals.settings; // 不继承父 App 的设置
Object.assign(app.locals, parent.locals);
});
app.use(global.yoho.hbs({
extname: '.hbs',
defaultLayout: 'layout',
layoutsDir: doraemon,
partialsDir: [path.join(__dirname, 'views/partial')],
views: path.join(__dirname, 'views/action'),
helpers: global.yoho.helpers
}));
// router
app.use(require('./router'));
app.use(require('./router'));
module.exports = app;
module.exports = app;
... ...
/**
* 帮助中心首页
* @author: wsl<shuiling.wang@yoho.cn>
* @date: 2016/12/13
*/
'use strict';
const api = global.yoho.API;
// 获取热词搜索
const getHotSearch = () => {
return api.get('', {
method: 'app.helper.hotSearch',
showPlatform: 'yohobuy_pc'
}, {
code: 200,
cache: true
});
};
// 获取首页帮助分类以及常见问题
const gethomeCategoryFaq = () => {
return api.get('', {
method: 'app.helper.homeCategoryFaq',
showPlatform: 'yohobuy_pc'
}, {
code: 200,
cache: true
});
};
// 获取自助服务
const getSelfService = () => {
return api.get('', {
method: 'app.helper.selfService',
showPlatform: 'yohobuy_pc'
}, {
code: 200
});
};
const helpSearch = (params) => {
return api.get('', {
method: 'app.helper.search',
showPlatform: 'yohobuy_pc',
keyword: params.keywords,
page: params.page,
viewNum: '15',
debug: 'XYZ'
}, {
code: 200
});
};
const allQA = () => {
return api.get('', {
method: 'app.helper.allQA',
showPlatform: 'yohobuy_pc'
}, {
code: 200
});
};
const onlineService = () => {
return api.get('', {
method: 'app.helper.getServiceOnline'
}, {
code: 200
});
};
module.exports = {
getHotSearch,
gethomeCategoryFaq,
getSelfService,
helpSearch,
allQA,
onlineService
};
... ...
/**
* 帮助中心
* @author: jiangmin
* @date: 2016/07/27
*/
'use strict';
const _ = require('lodash');
const helpApi = require('./help-api');
const headerModel = require('../../../doraemon/models/header');
/**
* 根据id获取当前所在位置,拼接面包屑
* @param id
* @param menuData
* @returns {*[]}
* @private
*/
const _getNav = (id, menuData)=> {
for (let i = 0; i < menuData.length; i++) {
if (menuData[i].subsets) {
for (let j = 0; j < menuData[i].subsets.length; j++) {
if (menuData[i].subsets[j].id === id) {
return [
{
link: ' ',
name: menuData[i].categoryName
}, {
name: menuData[i].subsets[j].categoryName
}
];
}
}
} else {
if (menuData[i].id === id) {
return [
{
name: menuData[i].categoryName
}
];
}
}
}
};
// 首页链接组装
const _processLink = (list, id) => {
let params = '';
list = list || [];
_.forEach(list, d => {
if (id) {
params = 'id=' + id + '&contId=' + d.id;
} else {
params = 'id=' + d.id;
}
d.jumpLink = global.yoho.config.siteUrl + '/help/detail?' + params;
});
return list;
};
// 首页模块内容处理
const _processHomeCategoryFaq = (list) => {
let result = {
other: [],
menuData: []
};
list = list || {};
// 常见问题
if (list.faqs) {
result.menuData.push({
id: 1,
categoryName: '常见问题'
});
}
_.forEach(list.categorys, (item) => {
let newCont = [];
result.menuData.push(_processMenuType(item));
if (item.categoryItems) {
item.categoryItems = _processLink(item.categoryItems);
} else {
item.contentItems = _processLink(item.contentItems, item.id);
}
switch (item.categoryName) {
case '新手指南':
result.newGuide = item;
break;
case '公告':
_.forEach(item.contentItems, c => {
c.caption = c.caption.substring(0, 9);
});
_.chunk(item.contentItems, 2).forEach(data => {
newCont.push({
row: data
});
});
result.notice = newCont;
break;
default:
break;
}
});
result.problem = {
categoryName: '常见问题',
list: list.faqs
};
return result;
};
// 处理分类
const _processMenuType = (item) => {
let curMenu = {
id: item.id,
categoryName: item.categoryName
};
let subsets = [];
if (item.categoryItems) {
_.forEach(item.categoryItems, c => {
subsets.push({
id: c.id,
parendId: item.id,
categoryName: c.categoryName
});
});
curMenu.subsets = subsets;
}
return curMenu;
};
// 统计当前分类下的内容是否大于1
const _processCountLength = (c) => {
if (!c.contentItems) {
return false;
} else {
return c.contentItems.length > 1;
}
};
const returnCont = (data, contId) => {
let curCont = {};
if (!data.contentItems) {
return;
}
_.forEach(data.contentItems, c => {
if (c.id === contId) {
curCont = c;
}
});
return {
isShowMenu: _processCountLength(data),
id: data.id,
title: data.categoryName,
list: data.contentItems,
contId: contId ? contId : data.contentItems[0].id,
cont: contId ? curCont : data.contentItems[0]
};
};
// 处理详情内容
const _processDetailCont = (item, params) => {
let cont = false;
if (item.contentItems && item.id === params.id) {
return returnCont(item, params.contId);
}
if (item.categoryItems) {
_.forEach(item.categoryItems, c => {
if (c.id === params.id) {
cont = returnCont(c, params.contId);
}
});
return cont;
}
return false;
};
// 处理搜索结果内容
const _processSearch = (list, params) => {
list = list || [];
if (list.total === 0) {
return {
error: true
};
} else {
list = _.assign({
paginationData: {
page: list.page,
limit: list.page_size || 10,
total: list.total,
pageTotal: list.page_total,
queryParams: {
page: params.page,
helpQuery: params.keywords
}
}
}, list);
}
return list;
};
// 详情内容及分类数据
const _processDetailData = (result, params) => {
let menuData = [];
let contData = false;
let data = result[2].data;
let nav = [];
// 常见问题
if (data.faqs) {
menuData.push({
id: 1,
categoryName: '常见问题'
});
if (params.id === 1 && !params.keywords) {
contData = {
isShowMenu: _processCountLength(data.faqs),
id: 1,
commonProblem: true,
faqs: data.faqs,
allQa: result[3].data
};
}
}
// 其它分类数据处理
_.forEach(data.categorys, item => {
let resCont;
menuData.push(_processMenuType(item));
if (contData || params.keywords) {
return;
}
resCont = _processDetailCont(item, params);
if (resCont) {
contData = _.assign({
helpDetail: true
}, resCont);
}
});
if (params.keywords) {
nav = [
{
name: '搜索结果'
}
];
} else {
nav = _getNav(params.id, menuData);
}
return {
nav: nav,
data: {
menuData: menuData,
contData: contData
}
};
};
// 首页
const helpData = (channel) => {
return Promise.all([
headerModel.requestHeaderData(channel),
helpApi.getHotSearch(),
helpApi.gethomeCategoryFaq(),
helpApi.getSelfService()
]).then(result => {
return {
headerData: result[0],
content: _.assign({
hotSearch: _.slice(result[1].data, 0, 5),
selfService: {
categoryName: '自助服务',
list: result[3].data
}
}, _processHomeCategoryFaq(result[2].data))
}
});
};
// 详情
const detailData = (params) => {
let promiseData = [
headerModel.requestHeaderData(params.channel),
helpApi.getHotSearch(),
helpApi.gethomeCategoryFaq()
];
if (params.id === 1 && !params.keywords) {
promiseData.push(helpApi.allQA());
}
return Promise.all(promiseData).then(result => {
let newData = _processDetailData(result, params);
_.set(newData, 'data.hotSearch', _.slice(_.get(result, '[1].data', {}), 0, 5));
return {
headerData: result[0],
newData: newData
};
});
};
// 搜索
const searchData = (params) => {
return helpApi.helpSearch(params).then(result => {
return _.assign({
keywords: params.keywords
}, _processSearch(_.get(result, 'data.data', []), params));
});
};
// 在线客服
const onlineService = () => {
return helpApi.onlineService().then(result => {
let url = '';
if (result.data) {
url = result.data.url;
}
return url;
});
};
module.exports = {
helpData,
detailData,
searchData,
onlineService
};
... ...
/**
* router of sub app help
* @author: yyq<yanqing.yang@yoho.cn>
* @date: 2016/11/14
* router of sub app me
* @author: xuqi<qi.xu@yoho.cn>
* @date: 2016/07/04
*/
'use strict';
... ... @@ -9,14 +9,14 @@
const router = require('express').Router(); // eslint-disable-line
const cRoot = './controllers';
const help = require(`${cRoot}/index`);
const about = require(`${cRoot}/about`);
router.get('/help', help.index);
// 帮助中心
const help = require(`${cRoot}/help`);
router.get('/yohobuy.html', about.yohobuy);
router.get('/newpower.html', about.newpower);
router.get('/contact.html', about.contact);
router.get('/privacy.html', about.privacy);
router.get('/link.html', about.yoholink);
// 帮助中心
router.get('/index', help.index);
router.get('/detail', help.detail);
router.get('/search', help.search);
router.get('/onlineService', help.onlineService);
module.exports = router;
... ...
<div class="help-page blk-page">
<div class="center-content clearfix">
{{# content}}
{{!-- 头部面包屑 --}}
{{> common/path-nav}}
{{!-- 左侧菜单导航 --}}
<div class="help-navigation left">
<p class="title bold">帮助中心</p>
{{>menu}}
</div>
{{!-- 右侧页面内容 --}}
<div class="help-main left">
<div class="detail-search">
{{> search-form}}
</div>
<div class="detail-cont">
{{#contData}}
{{#if commonProblem}}
{{> common-problem}}
{{/if}}
{{#if helpDetail}}
{{> help-detail}}
{{/if}}
{{/contData}}
</div>
</div>
{{/ content}}
</div>
</div>
... ...
<div class="help-page blk-page">
<div class="center-content clearfix">
{{# content}}
{{!-- 头部面包屑 --}}
{{> common/path-nav}}
{{!-- 左侧菜单导航 --}}
<div class="help-navigation left">
<p class="title bold">帮助中心</p>
{{>menu}}
</div>
{{!-- 右侧页面内容 --}}
<div class="help-main left">
<div class="nav-top">
<span class="title-img"></span>
<ul class="notice" id="notice">
{{#each notice}}
<li>
{{#each row}}
<a class="notice-cont" href="{{jumpLink}}" target="_blank"><i class="dot-icon"></i> {{caption}}</a>
{{/each}}
</li>
{{/each}}
</ul>
{{> search-form}}
</div>
{{#newGuide}}
{{> nav-title}}
<ul class="menu-common new-guide">
{{#each categoryItems}}
<li>
<a href="{{jumpLink}}"><img src="{{categoryIco}}" width="55" height="55"></a>
<p>{{categoryName}}</p>
</li>
{{/each}}
</ul>
{{/newGuide}}
{{#selfService}}
{{> nav-title}}
<ul class="menu-common self-service">
{{#each list}}
<li>
<a href="{{jumpUrl}}"><img src="{{categoryIco}}" width="55" height="55"></a>
<p>{{categoryName}}</p>
</li>
{{/each}}
</ul>
{{/selfService}}
{{#problem}}
{{> nav-title}}
<div class="problem">
{{#each list}}
<a href="javascript:void(0);" data-ask="{{caption}}" data-answer="{{content}}"><i class="dot-icon"></i>{{caption}}</a>
{{/each}}
</div>
{{/problem}}
<ul class="help-nav">
{{#other}}
<li>
<h2>{{categoryName}}</h2>
<div class="list-box">
<div class="nav-list">
{{#categoryItems}}
<a href="{{jumpLink}}">{{categoryName}}</a>
{{/categoryItems}}
</div>
</div>
</li>
{{/other}}
</ul>
</div>
{{/ content}}
</div>
</div>
\ No newline at end of file
... ...
<div class="contact-about-page about-page center-content yoho-page">
<div class="about-nav right">
<ul>
<li><a href="/yohobuy.html">关于YOHO!BUY 有货</a></li>
<li><a href="/newpower.html">关于新力传媒</a></li>
<li class="act"><a>联系我们</a></li>
<li><a href="/privacy.html">隐私条款</a></li>
<li><a href="/link.html">友情链接</a></li>
</ul>
</div>
<div class="main-container">
<div class="text-title">联系我们</div>
<div class="text-info">
<p>
<strong>客户服务:</strong><br/>
电话:4008899646(工作日9:00-22:30)<br/>
EMAIL:service#yoho.cn (发送邮件时请将#换成@)
</p><br/>
<p>
<strong>广告服务:</strong><br/>
北京:(+86)10 56312657<br/>
上海:(+86)21 51698833*8005<br/>
广州:(+86)83831060<br/>
EMAIL:advertising#yoho.cn (发送邮件时请将#换成@)
</p><br/>
<p>
<strong>市场合作:</strong><br/>
北京:(+86)10 56312548<br/>
上海:(+86)21 51698833*8013<br/>
EMAIL:marketing#yoho.cn (发送邮件时请将#换成@)
</p><br/>
<p>
<strong>网站合作:</strong><br/>
EMAIL:community#yoho.cn (发送邮件时请将#换成@)
</p><br/>
<p>
<strong>有货品牌合作:</strong><br/>
上海:(+86)21 51698833*8007<br/>
广州:(+86)83831060<br/>
EMAIL:brands#yoho.cn (发送邮件时请将#换成@)
</p><br/>
<p>
<strong>有货推广合作:</strong><br/>
EMAIL:haizheng.zhao#yoho.cn (发送邮件时请将#换成@)
</p><br/>
<p>
<strong>南京新与力文化传播有限公司:</strong><br/>
地址:南京市建邺区嘉陵江东街18号国家广告产业园5栋17,18楼<br/>
邮编:210017<br/>
电话:(+86)25 87781000<br/>
传真:(+86)25 87781155<br/>
</p><br/>
<p>
<strong>南京新与力文化传播有限公司北京分公司:</strong><br/>
地址:北京市朝阳区建国路81号华贸中心1号楼3层<br/>
邮编:100025<br/>
电话:(+86)10 56312400<br/>
</p><br/>
<p>
<strong>南京新与力文化传播有限公司上海分公司:</strong><br/>
地址:上海市徐汇区富民路291号悟锦世纪大厦801室<br/>
邮编:200040<br/>
电话:(+86)21 51698833
</p><br/>
<p>
<strong>南京新与力文化传播有限公司广州分公司:</strong><br/>
地址:广州市天河区林和西路157号保利中汇大厦A座602室<br/>
邮编:510610<br/>
电话:(+86)20 83777600
</p><br/>
<p>
<strong>南京新与力文化传播有限公司香港分公司:</strong><br/>
地址:香港鰂魚涌海澤街28號東港中心1505室<br/>
电话:(+852)34602671
</p><br/>
</div>
</div>
</div>
<div class="link-about-page about-page center-content yoho-page">
<div class="about-nav right">
<ul>
<li><a href="/yohobuy.html">关于YOHO!BUY 有货</a></li>
<li><a href="/newpower.html">关于新力传媒</a></li>
<li><a href="/contact.html">联系我们</a></li>
<li><a href="/privacy.html">隐私条款</a></li>
<li class="act"><a>友情链接</a></li>
</ul>
</div>
<div class="main-container">
<div class="text-title">友情链接</div>
<div class="text-info">
<br>
<br>
<h2>文字链接:</h2>
<ul>
<li><a href="//www.kuaidi100.com" target="_blank">快递查询</a></li>
</ul>
<h2>图片链接:</h2>
<ul class="linkpic">
<li><a href="//www.yoho.cn" target="_blank"><img alt="YOHO!" src="//static.yohobuy.com/images/links/yohocn.jpg"></a></li>
</ul>
</div>
</div>
</div>
<div class="newpower-about-page about-page center-content yoho-page">
<div class="about-nav right">
<ul>
<li><a href="/yohobuy.html">关于YOHO!BUY 有货</a></li>
<li class="act"><a>关于新力传媒</a></li>
<li><a href="/contact.html">联系我们</a></li>
<li><a href="/privacy.html">隐私条款</a></li>
<li><a href="/link.html">友情链接</a></li>
</ul>
</div>
<div class="main-container">
{{#if devEnv}}
<img src="//cdn.yoho.cn/yohobuy/assets/img/about/aboutnewpower.png?random=1466056691"/>
{{^}}
<img src="//cdn.yoho.cn/yohobuy/assets/img/about/aboutnewpower.png?random=1466056691"/>
{{/if}}
<div class="text-info">
<p style="font-family:微软雅黑; text-align:left;">
<span style="font-size:18px; line-height:68px;">一、公司概况:</span>
<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;南京新与力文化传播有限公司(简称新力传媒)——中国潮流文化生态圈的创造者和引领者。10年以来,YOHO!致力于中国潮流产业的发展,从一本《YOHO!潮流志》开始,延伸到网络社区、电子商务等等领域,成为中国最权威和最具影响力的潮流“营、销”平台。我们通过媒体+零售线上线下一体化布局,为中国数以亿计的潮流消费者提供潮流讯息、产品及服务,并传播积极健康、全球化的潮流生活方式,更为中国的年轻一代消费者带来了来自全球的潮流生活方式。公司总部位于南京建邺区国家广告产业园,并在北京、上海、广州、香港、东京设立了分(子)公司。公司已获得鼎晖投资、新加坡淡马锡祥峰基金、软银赛富基金、达晨创投、华人文化等数轮投资。公司致力于将“YOHO!”打造成为中国年轻人最喜爱和最值得信赖的品牌,引领中国潮流文化产业的发展。
<br/>
<br/>
<span style="font-size:18px; line-height:68px;">二、公司主要项目:</span>
<br/>
1、平面杂志及电子平台
<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;《YOHO!潮流志》、《YOHO!GIRL》为YOHO!旗下在国内潮流领域影响力的杂志媒体。《YOHO!潮流志》2005 年10月创刊。他是国内第一本完全原创版权的,提供潮流和 lifestyle 资讯,属于年轻人的潮流时尚半月刊,通过正规发行渠道(报刊亭、连锁商超等)发行至全国各大中城市,深受全国年轻人的喜爱。设计给国内年轻女性的中高端时装月刊《YOHO!GIRL》,2013年3月正式创刊,在香港、大陆以及日本东京茑屋地区同步发行。以大量独家资讯加上独特的编采手法,改变读者的阅读习惯,扩阔大家在时装、美容、设计、生活、次文化等各方面的视野。深入结构品牌背后的哲学和时装趋势,带领各读者一探最新时尚。
<br/>
<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;作为中国影响力最大、权威性最高、发行量最广的潮流杂志电子平台, “Yoho!Now”于 iOS 和 Android平台触亮全球潮流资讯,“Yoho!Now”7*24h 无休供应时装、运动、设计、科技、美容、家居、趣闻等严选潮流营养,并于每周发布特别线上专题,与读者Play and Learn。《YOHO!潮流志》和《YOHO!GIRL》亦于各自App內每周上架新鲜线上周刊,打包纸质版内容精华,汇通YOHO!潮流矩阵。
<br/>
<br/>
2、关于“Yoho!Buy有货”
<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;“Yoho!Buy有货”(www.yohobuy.com)——年轻人潮流购物中心,同样秉承YOHO!“年轻是种态度”的口号,Yoho!Buy有货专注于中国潮流趋势和受众的需要,凭借专业的买手团队和对中国潮流趋势敏锐的嗅觉,积极开拓符合中国年轻人喜爱的品牌和商品。销售包括国际知名、日韩港台流行、明星设计师、内地原创等等超过1000 个潮流品牌商品,满足18-35岁年轻群体的时尚个性化述求,涵盖男女服装、鞋帽、配件、童装及创意生活用品等。Yoho!Buy有货所销售的品牌均与品牌直接签订销售协议,保持货品与国际国内实体店铺同步,通过独家定制、限定发售、明星合作品牌等,并结合“逛”内容频道及社区互动引导消费。Yoho!Buy有货已成为中国年轻态群体最喜爱的潮流购物平台。
<br/>
<br/>
3、关于“mars - 新鲜好去处”
<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;“mars - 新鲜好去处”是一款由YOHO!出品的潮流生活应用,立志为百万年轻人打造最酷的“城市探索”线上枢纽。连续两周被 Apple 评选为App Store“最佳新应用”,并获得 2016 年“一月最佳 App”、“最佳生活 App”等推荐。mars深入探索全球热点城市潮流坐标,现已上线北京、上海、成都、台北、香港、东京、首尔、纽约、洛杉矶等城市,未来还将陆续上线更多城市。集优质潮流攻略、专属玩乐线路、每日热点话题等功能,邀集世界各地时髦生活方式达人与所有用户分享好去处,让潮流随时、随地、随享。我们的目标就是带你去那些“如果你不用 mars 可能一辈子都不知道”的潮流好去处。
</p>
</div>
</div>
</div>
<div class="privacy-about-page about-page center-content yoho-page">
<div class="about-nav right">
<ul>
<li><a href="/yohobuy.html">关于YOHO!BUY 有货</a></li>
<li><a href="/newpower.html">关于新力传媒</a></li>
<li><a href="/contact.html">联系我们</a></li>
<li class="act"><a>隐私条款</a></li>
<li><a href="/link.html">友情链接</a></li>
</ul>
</div>
<div class="main-container">
<div class="text-title">隐私条款</div>
<div class="text-info">
<p>
欢迎访问YOHO!BUY 有货!我们以本隐私申明声明对访问者隐私保护的许诺。<br>
<br>
<strong>YOHO!BUY</strong>
<strong>有货的信息收集与使用</strong><br>
YOHO!BUY 有货收集用户提交的个人识别信息(下称“个人识别信息”), 一旦注册,YOHO!BUY 有货用户即可以建立由一页或多页网页组成的含有用户信息的用户档案。YOHO!BUY 有货 将收集用户发布在其用户档案中的数据,包括但不限于: 会员信息,联系信息,购物&amp;着装习惯和喜爱品牌(合称为“用户档案信息”),我们使用这些信息来获得用户的统计资料。我们将会用这些统计数据来给我们的用户分类,以便有针对性地向我们的用户提供新的服务。我们会通过您的邮件地址来通知您这些新的服务。<br>
<br>
YOHO!BUY 有货同样从用户处收集其他非个人识别信息(下称“非个人识别信息”),包括IP地址、集合的用户数据和浏览器类型。该等数据会被用来管理YOHO!BUY 有货网站,跟踪使用记录,改进YOHO!BUY 有货网站的服务。该等非个人识别信息通常被用于下列目的:研究和分析站点的使用情况,订制您浏览的广告和内容,满足您对服务的要求,以及改进我们的服务。出于安全和监管的目的,用户的IP地址将会被记录。<br>
<br>
YOHO!BUY 有货或其商业伙伴可能在YOHO!BUY 有货上不时地进行促销或者抽奖。用户可能会被要求提供个人识别信息,包括姓名,电子邮件地址或家庭住址。因进行促销或者抽奖而收集个人识别信息时,您将清楚地被告知个人识别信息的收集方以及适用的隐私政策。<br>
<br>
<strong>YOHO!BUY</strong>
<strong>有货收集信息的共享与披露</strong><br>
除本隐私政策另有规定,YOHO!BUY 有货不会在未经您同意的情况下在YOHO!BUY 有货及其母公司、子公司或者关联公司(为本隐私政策之目的,包括遵守本隐私政策的技术提供者)之外泄露您的个人识别信息或者用户档案信息,除非我们认为这种披露是有必要的:(1)为遵守法律的要求或者回应YOHO!BUY 有货收到的传票、搜查令或者其他法律程序,而不论该等回应是否为适用法律所要求的;(2)为回应主管政府部门的要求;(3)为了保护公众和服务用户的安全;或者(4)为了维护YOHO!BUY 有货的法律权利和利益。<br>
当YOHO!BUY 有货出售YOHO!BUY 有货或其全部资产时,YOHO!BUY 有货保留向其继任者转让个人识别信息和用户档案信息的权利。<br>
YOHO!BUY 有货也可以向某些您明确同意接收其信息的广告合作伙伴转让您的个人识别信息和用户档案信息。因此进行个人识别信息的收集时,您将清楚地被告知适用的隐私政策。<br>
<br>
<br>
<br>
<strong>用户名和密码</strong><br>
YOHO!BUY 有货用户账号通过用户创设的密码确保其安全性。您应当对您密码的保密负全部责任。请不要和他人分享此信息。如果您泄漏了密码,您可能丢失了您的个人识别信息,并且有可能导致对您不利的司法行为。如果您和他人共享一台电脑,您应该在离开YOHO!服务时退出系统以保证您的信息不被后来使用该电脑者获取。<br>
因此不管任何原因使您的密码安全受到危及,您应该立即通过请与我们客服联系客服热线:400-889-9646和我们取得联系 。<br>
<br>
<strong>您的交易行为</strong><br>
我们跟踪IP地址仅仅只是为了安全的必要。如果我们没有发现任何安全问题,我们会及时删除我们收集到的IP地址。我们还跟踪全天的页面访问数据。全天页面访问数据被用来反映网站的流量,我们可以为未来的发展制定计划(例如,增加服务器)。<br>
<br>
<strong>邮件</strong>
<strong>/</strong>
<strong>短信</strong>
<strong>/</strong>
<strong>会刊服务</strong><br>
YOHO!BUY 有货保留通过邮件、短信、邮寄会刊的形式,对本网站注册、购物用户发送订单信息、促销活动等告知服务的权利。如果您在YOHO!BUY 有货注册、购物,表明您已默示同意接受此项服务。如果您不想接收来自YOHO!BUY 有货的邮件、短信或会刊,您可以向YOHO!BUY 有货客服提出退阅申请,并注明您的E-mail地址、手机号或相关地址信息,YOHO!BUY 有货会在收到申请后为您办理退阅。<br>
<br>
<strong>Cookies</strong>
<strong>的使用</strong><br>
YOHO!BUY 有货使用cookies来储存用户的喜好和记录活动信息以确保用户不会重复收到同样的广告和定制的时事通讯、广告以及基于浏览器类型和用户档案信息的网页内容。我们不会把在cookies中保存的信息与您在我们网站上提交的任何个人识别信息相连接。您可以通过设置您的浏览器以接受或者拒绝全部或部分的cookies,或要求在cookies被设置时通知您。由于每个浏览器是不同的,请查看浏览器的“帮助”菜单来了解如何更改您的cookies选择参数。但是,您应允许来自YOHO!BUY 有货的cookies以使您可以使用网站的更多的功能。<br>
<br>
<strong>外部链接</strong><br>
YOHO!BUY 有货包含其他网站的链接。YOHO!BUY 有货不对其他网站上的隐私政策和/或其执行承担责任。当链接到其他网站时,用户应该阅读该网站贴示的隐私政策。我们的隐私政策仅适用于YOHO!BUY 有货收集的信息。<br>
<br>
<strong>第三方广告</strong><br>
YOHO!BUY 有货可能会通过与第三方合作向用户提供YOHO!服务。因此,YOHO!BUY 有货可能向该第三方提供您提交给YOHO!BUY 有货的个人识别信息和用户档案信息;但该第三方应同意承担与YOHO!BUY 有货相同的责任以保护用户的隐私。另外,在不会披露用户的个人识别信息和用户档案信息的前提下,YOHO!BUY 有货可以对集合的用户个人识别信息和用户档案进行分析和商业性使用。<br>
<br>
<strong>安全</strong><br>
我们网站有相应的安全措施来确保我们掌握的信息不丢失,不被滥用和变造。这些安全措施包括向其它服务器备份数据和对用户密码。<br>
<br>
YOHO!BUY 有货会采取合理的防范措施以确保用户个人识别信息和用户档案信息的保密性。我们会采取合理措施保护存储在我们数据库中的用户个人识别信息和用户档案信息,并且对那些需要履行其工作职责的雇员,比如我们的客户服务人员和技术人员,获取用户个人识别信息和用户档案信息进行限制。请注意,我们无法保证用户个人识别信息和用户档案信息的安全性。未授权的登陆或使用、硬件或软件的故障、以及其他因素均可能在任何时候危及用户个人识别信息的安全性。<br>
<br>
<strong>隐私政策的变更</strong><br>
我们可能对本隐私政策不时进行修改。如果我们进行任何修改,我们将在YOHO!BUY 有货主页上发布为期30天的通知以使用户知道被修改内容的类型以及指示用户审阅更新的隐私政策。如果您在对本隐私政策任何细微修改发布后继续使用网站,则表示您同意遵守任何该等修改。<br>
<br>
<strong>联系我们</strong><br>
如果您就本隐私政策有任何疑问,请与我们客服联系客服热线:400-889-9646。<br>
</p>
</div>
</div>
</div>
<div class="yohobuy-about-page about-page center-content yoho-page">
<div class="about-nav right">
<ul>
<li class="act"><a>关于YOHO!BUY 有货</a></li>
<li><a href="/newpower.html">关于新力传媒</a></li>
<li><a href="/contact.html">联系我们</a></li>
<li><a href="/privacy.html">隐私条款</a></li>
<li><a href="/link.html">友情链接</a></li>
</ul>
</div>
<div class="main-container">
{{#if devEnv}}
<img src="//cdn.yoho.cn/yohobuy/assets/img/about/about.jpg?random=1466056691" />
{{^}}
<img src="//cdn.yoho.cn/yohobuy/assets/img/about/about.jpg?random=1466056691" />
{{/if}}
<div class="text-info">
<p style="font-family:微软雅黑; text-align:left;">关于“Yoho!Buy 有货”</p>
<p style="font-family:微软雅黑; text-align:left;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;“Yoho!Buy 有货”(
<a style=" font:#000;" href="//www.yohobuy.com" target="_blank">www.yohobuy.com</a>
)——年轻人潮流购物中心,同样秉承YOHO!“年轻是种态度”的口号,Yoho!Buy有货专注于中国潮流趋势和受众的需要,凭借专业的买手团队和对中国潮流趋势敏锐的嗅觉,积极开拓符合中国年轻人喜爱的品牌和商品。销售包括国际知名、日韩港台流行、明星设计师、内地原创等等超过1000 个潮流品牌商品,满足18-35岁年轻群体的时尚个性化述求,涵盖男女服装、鞋帽、配件、童装及创意生活用品等。Yoho!Buy有货所销售的品牌均与品牌直接签订销售协议,保持货品与国际国内实体店铺同步,通过独家定制、限定发售、明星合作品牌等,并结合“逛”内容频道及社区互动引导消费。Yoho!Buy有货已成为中国年轻态群体最喜爱的潮流购物平台。<br>
</p>
<p>
{{#if devEnv}}
<img src="//cdn.yoho.cn/yohobuy/assets/img/about/about_yohobuy.jpg?random=1466056691" />
{{^}}
<img src="//cdn.yoho.cn/yohobuy/assets/img/about/about_yohobuy.jpg?random=1466056691" />
{{/if}}
</p>
</div>
</div>
</div>
<div class="common-problem">
<h2>常见问题</h2>
<div class="problem">
{{#faqs}}
<a href="javascript:void(0);" data-ask="{{caption}}" data-answer="{{content}}"><i class="dot-icon"></i>{{caption}}</a>
{{/faqs}}
</div>
<h2 class="all-problem-title">所有问题</h2>
<ul class="all-problem">
{{#allQa}}
<li class="problem-li">
<p class="title">{{caption}}</p>
<p class="cont">{{{content}}}</p>
</li>
{{/allQa}}
</ul>
</div>
... ...
<div class="help-detail">
{{#if isShowMenu}}
<h2 class="nav-title">{{title}}</h2>
<div class="help-problem">
{{#list}}
<a href="/help/detail?id={{../id}}&contId={{id}}" class="{{#isEqual id ../contId}}active{{/isEqual}}"><i class="dot-icon"></i>{{caption}}</a>
{{/list}}
</div>
{{/if}}
<div class="help-cont">
{{#cont}}
<h2 class="nav-title">{{caption}}</h2>
<div class="cont">{{{content}}}</div>
{{/cont}}
</div>
</div>
... ...
<ul class="nav">
{{#each menuData}}
{{#if subsets}}
<li class="big-category cateId-{{id}} subsets {{#isEqual id @root.qid}}selected{{/isEqual}}">
<div class="plus inline-block"></div>{{categoryName}}</li>
{{#each subsets}}
<li class="smll-category cateId-{{id}} parentId-{{parendId}} {{#isEqual id @root.qid}}selected{{/isEqual}}" data-parent-id="{{parendId}}">
<span class="mult"></span>
<a href="/help/detail?id={{id}}">{{categoryName}}</a>
</li>
{{/each}}
{{else}}
<li class="big-category cateId-{{id}} {{#isEqual id @root.qid}}selected{{/isEqual}}">
<span class="mult"></span>
<a href="/help/detail?id={{id}}">{{categoryName}}</a>
</li>
{{/if}}
{{/each}}
</ul>
... ...
<div class="nav-title">
<div class="center-area">
<span class="title">{{categoryName}}</span>
</div>
</div>
... ...
<div class="search-box">
<div class="search-area">
<form id="help-search-form" action="{{siteUrl}}/help/detail">
<input type="text" class="help-search" autocomplete="off" name="helpQuery">
<span class="iconfont search-btn">&#xe640;</span>
</form>
</div>
<div class="keyword">
{{#each hotSearch}}
<a href="{{link}}">{{keyword}}</a>
{{/each}}
</div>
</div>
... ...
... ... @@ -16,21 +16,26 @@ module.exports = {
siteUrl: 'http://www.yohobuy.com',
cookieDomain: '.yohobuy.com',
domains: {
favApi: 'http://192.168.102.31:8092/brower',
// favApi: 'http://192.168.102.31:8092/brower',
// api: 'http://api-test3.yohops.com:9999/',
// service: 'http://service-test3.yohops.com:9999/',
//
api: 'http://api.yoho.cn/',
service: 'http://service.yoho.cn/',
// api: 'http://api.yoho.cn/',
// service: 'http://service.yoho.cn/',
// api: 'http://192.168.102.205:8080/gateway/',
// service: 'http://dev-service.yohops.com:9999/',
search: 'http://192.168.102.216:8080/yohosearch/',
// search: 'http://192.168.102.216:8080/yohosearch/',
imSocket: 'wss://imsocket.yohobuy.com:443',
imCs: 'https://imhttp.yohobuy.com/api',
imServer: 'https://imhttp.yohobuy.com/server'
imServer: 'https://imhttp.yohobuy.com/server',
api: 'http://dev-api.yohops.com:9999/',
service: 'http://dev-service.yohops.com:9999/',
liveApi: 'http://testapi.live.yohops.com:9999/',
singleApi: 'http://api-test1.yohops.com:9999/'
},
subDomains: {
host: '.yohobuy.com',
... ... @@ -76,7 +81,7 @@ module.exports = {
port: '4444' // influxdb port
},
console: {
level: 'info',
level: 'debug',
colorize: 'all',
prettyPrint: true
}
... ...
... ... @@ -12,13 +12,13 @@ module.exports = app => {
// 业务模块
app.use(require('./apps/channel')); // 频道页
app.use(require('./apps/activity')); // 专题活动等活动页面
app.use(require('./apps/help')); // 帮助中心
app.use('/product', require('./apps/product')); // 商品相关页面
app.use(require('./apps/passport')); // 登录注册
app.use('/home', require('./apps/home')); // 会员中心
app.use('/brands', require('./apps/brands')); // 品牌一览
app.use('/guang', require('./apps/guang')); // 逛
app.use('/cart', require('./apps/cart'));// 购物车
app.use('/help', require('./apps/help'));// 帮助中心
// 第三方,如广告联盟
app.use('/3party', require('./apps/3party'));
... ...
No preview for this file type
... ... @@ -2,7 +2,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
Created by FontForge 20120731 at Thu Dec 15 10:53:04 2016
Created by FontForge 20120731 at Fri Dec 23 16:06:43 2016
By admin
</metadata>
<defs>
... ... @@ -103,6 +103,9 @@ q5 37 20 66t39 49t55 31q31 10 66 10q33 0 63 -9.5t53 -28.5t36 -46.5t13 -64.5q0 -2
q-12 0 -23.5 4.5t-20.5 12.5q-8 7 -13 18t-5 23z" />
<glyph glyph-name="add" unicode="&#xe644;"
d="M960 262h-410v-410h-76v410h-410v76h410v410h76v-410h410v-76z" />
<glyph glyph-name="search1" unicode="&#xe640;"
d="M968 47l-163 164q69 108 69 234q0 119 -57.5 219t-157 158.5t-216 58.5t-216 -58.5t-157 -158.5t-57.5 -218.5t57.5 -219t157 -158.5t216.5 -58q124 0 231 69l163 -164q27 -28 65 -28t65 27.5t27 66t-27 66.5zM443.5 134q-127.5 0 -217.5 91.5t-90 220t90 219.5t217.5 91
t217.5 -91t90 -219.5t-90 -220t-217.5 -91.5z" />
<glyph glyph-name="xiangxia" unicode="&#xe61d;"
d="M888 620q12 12 28.5 12t28.5 -12v0q12 -12 12 -28.5t-12 -28.5l-406 -405q-12 -12 -28.5 -12t-27.5 12v0q-12 11 -12 27.5t12 28.5zM539 214q11 -12 11 -28.5t-11 -27.5v0q-12 -12 -28.5 -12t-28.5 12l-406 405q-11 12 -11 28.5t11 28.5v0q12 12 28.5 12t28.5 -12z
M539 214z" />
... ...
No preview for this file type
No preview for this file type
<div class="problem-box">
<div class="mark"></div>
<div class="problem-area">
<i class="iconfont close">&#xe608;</i>
<div class="a-area"></div>
<div class="q-area"></div>
</div>
</div>
... ...
{{#if error}}
<div class="search-result">很抱歉,关于“<span class="blue">{{keywords}}</span></div>
<p class="result-error mt30">建议您:看看输入的文字是否有误/减少分类条件的限制/重新检索</p>
<p class="result-error">或 者:使用<a href="{{jumpUrl}}">在线客服</a>试试</p>
{{else}}
<div class="search-result">关于“<span class="blue">{{keywords}}</span>”,共为您查询到<span class="blue">{{total}}</span>个答案</div>
<ul class="search-list">
{{#helper_list}}
<li class="{{#if problem}}problem-li{{else}}article-li{{/if}}">
<p class="title">{{caption}}</p>
{{#if problem}}
<p class="cont">{{{allCont}}}</p>
{{else}}
<p class="cont">{{{content}}}</p>
{{/if}}
</li>
{{/helper_list}}
</ul>
{{!-- 分页 --}}
{{{ pagination paginationData }}}
{{/if}}
... ...
/**
* [帮助中心 常见问题弹框]
* @author: wsl(shuiling.wang@yoho.cn)
* @date: 2016/12/02
*/
var problemTpl = require('../../hbs/help/problem-box.hbs');
// 问题弹窗操作
var problemBox = function() {
var $problemBox;
$('.help-page').append(problemTpl());
$problemBox = $('.problem-box');
$problemBox.css({lineHeight: $(window).height() + 'px'});
$('.problem a').on('click', function() {
var ask = $(this).data('ask') || '';
var answer = $(this).data('answer') || '';
$problemBox.find('.a-area').html(ask);
$problemBox.find('.q-area').html(answer);
$problemBox.show();
});
$('.problem-box .close, .problem-box .mark').on('click', function() {
$problemBox.hide();
});
};
var $subsets = $('.subsets');
/**
* 目录切换
*/
$subsets.click(function() {
var $this = $(this);
var className = $this.attr('class').split(' ')[1];
var parentId = 'parentId-' + className.split('-')[1];
var $child = $this.parent().find('.' + parentId);// 当前子分类
if ($this.hasClass('open')) {
$child.hide();
$this.removeClass('open').children('.plus').css('background-image', 'url(\'../img/help/plus.png\')');
} else {
$('.smll-category').hide();
$('.subsets').children('.plus').css('background-image', 'url(\'../img/help/plus.png\')');
$child.show();
$subsets.removeClass('open');
$this.addClass('open').children('.plus').css('background-image', 'url(\'../img/help/minus.png\')');
}
});
module.exports = problemBox;
... ...
/**
* [帮助中心 字符串截取]
* @author: wsl(shuiling.wang@yoho.cn)
* @date: 2016/12/02
*/
// 字符串截取
var cutStr = function(params) {
var strLength = 0;
var strCut = '';
var strLen = params.str.length || 0;
var i, curStr, addTxt;
params.str = params.str.replace(/<[^>]*>/g, '');
if (params.type === '2') {
addTxt = '';
} else {
addTxt = '<a href="' + params.url + '" class="show-all" target="_blank">查看详情&gt;</a>';
}
for (i = 0; i < strLen; i++) {
curStr = params.str.charAt(i);
strLength++;
if (escape(curStr).length > 4) {
// 中文字符的长度经编码之后大于4
strLength++;
}
strCut = strCut.concat(curStr);
if (strLength >= params.len) {
strCut = strCut.slice(0, strCut.length - 10);
strCut = strCut.concat('...' + addTxt);
return strCut;
}
}
// 如果给定字符串小于指定长度,则返回源字符串;
if (strLength < params.len) {
return params.str;
}
};
// 搜索关键词标蓝显示
var keywordLabel = function(str, key) {
str = str.replace(key, '<i class="keyword">' + key + '</i>');
return str.replace('www.yohobuy.com', '<a href="http://www.yohobuy.com" class="keyword">www.yohobuy.com</a>');
};
exports.cutStr = cutStr;
exports.keywordLabel = keywordLabel;
... ...
/**
* [帮助中心首页]
* @author: wsl(shuiling.wang@yoho.cn)
* @date: 2016/12/01
*/
var helpSearch = require('./help-search');
var problemBox = require('./help-common');
var Scroller = require('./scroller');
require('../common');
$(function() {
helpSearch.init();
problemBox();
$('.new-guide li').each(function(key, item) {
if (key % 5 === 0) {
$(item).css({
marginLeft: 0
});
}
});
$('.self-service li').each(function(key, item) {
if (key % 4 === 0) {
$(item).css({
marginLeft: 0
});
}
});
setTimeout(function() {
new Scroller('notice', 30, 5);
}, 5000);
});
... ...
/**
* [帮助中心 搜索]
* @author: wsl(shuiling.wang@yoho.cn)
* @date: 2016/12/02
*/
var helpSearch = {
$search: $('.help-search'),
init: function() {
var _this = this;
var $helpSearchForm = $('#help-search-form');
var $searchBtn = $('.search-btn');
_this.searchDefaultVal();
$searchBtn.click(function() {
if (_this.$search.val() === '请输入您想知道的帮助信息') {
_this.$search.val('');
}
$helpSearchForm.submit();
});
_this.$search.keyup(function(e) {
var key = $(this).val();
if (key === '请输入您想知道的帮助信息') {
$(this).val('');
}
if (e.which === 13) {
if (key) {
$helpSearchForm.submit();
}
}
});
},
searchDefaultVal: function() {
var _this = this;
var defaultVal = '请输入您想知道的帮助信息';
_this.$search.focus(function() {
var key = _this.$search.val();
if (key === defaultVal) {
_this.$search.val('').css('color', '#1b1b1b');
}
}).blur(function() {
var key = _this.$search.val();
if ($.trim(key) === '') {
_this.$search.val(defaultVal).css('color', '#989898');
}
}).val(defaultVal).css('color', '#989898');
}
};
module.exports = helpSearch;
... ...
/**
* [帮助中心]
* @author: wsl(shuiling.wang@yoho.cn)
* @date: 2016/07/25
*/
var helpSearch = require('./help-search');
var problemBox = require('./help-common');
var helper = require('./help-helper');
var searchTemplet = require('../../hbs/help/search-cont.hbs');
var parentID, qs, queryId, page, keywords, $cate;
require('../common');
qs = window.queryString();
queryId = qs.id;
page = qs.page || 1;
keywords = qs.helpQuery;
$cate = $('.cateId-' + queryId);// 当前分类
helpSearch.init();
problemBox();
// 获取搜索的结果
if (keywords) {
$.get('/help/search', {
page: page,
keywords: keywords
}, function(result) {
var id,
$detailCont = $('.detail-cont');
if (result.helper_list) {
result.helper_list.forEach(function(s) {
if (s.helperType === '2') {
s.problem = true;
s.allCont = s.content;
}
if (s.secendCategoryId === 0) {
id = s.firstCategoryId;
} else {
id = s.secendCategoryId;
}
s.content = helper.cutStr({
str: s.content,
len: 380,
type: s.helperType,
url: '/help/detail?id=' + id + '&contId=' + s.id
});
s.content = helper.keywordLabel(s.content, keywords);
s.caption = helper.keywordLabel(s.caption, keywords);
});
$detailCont.html(searchTemplet(result));
} else {
$.get('/help/onlineService', {}, function(url) {
result.jumpUrl = url;
$detailCont.html(searchTemplet(result));
});
}
});
}
if (!$cate.hasClass('big-category')) {
parentID = $cate.data('parentId');
$('.parentId-' + parentID).show();
$('.cateId-' + parentID).find('.plus').css('background-image', 'url(\'../img/help/minus.png\')');
}
$('.center-content').css('border-top-color', '#fff');
... ...
/**
* [上下滚动]
* @author: wsl(shuiling.wang@yoho.cn)
* @date: 2016/12/13
*/
// 类创建函数
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
};
}
};
var Scroller = Class.create();
function $(element) {
var i, length, elements;
if (arguments.length > 1) {
for (i = 0, length = arguments.length, elements = []; i < length; i++) {
elements.push($(arguments[i]));
}
return elements;
}
if (typeof element === 'string') {
return document.getElementById(element);
} else {
return element;
}
}
// 对象属性方法扩展
Function.prototype.bind = function(object) { // eslint-disable-line
var method = this;
return function() {
method.apply(object, arguments);
};
};
Scroller.prototype = {
// 第一个参数定义要滚动的区域,第二个参数定义每次滚动的高度
initialize: function(element, height, delay) {
this.element = $(element);
this.element.innerHTML += this.element.innerHTML;
this.height = height;
this.delay = delay * 1000;
this.maxHeight = this.element.scrollHeight / 2;
this.counter = 0;
this.scroll();
this.timer = '';
this.element.onmouseover = this.stop.bind(this);
this.element.onmouseout = function() {
this.timer = setTimeout(this.scroll.bind(this), 1000);
}.bind(this);
},
scroll: function() {
if (this.element.scrollTop < this.maxHeight) {
this.element.scrollTop ++;
this.counter ++;
} else {
this.element.scrollTop = 0;
this.counter = 0;
}
if (this.counter < this.height) {
this.timer = setTimeout(this.scroll.bind(this), 10);
} else {
this.counter = 0;
this.timer = setTimeout(this.scroll.bind(this), this.delay);
}
},
stop: function() {
clearTimeout(this.timer);
}
};
module.exports = Scroller;
... ...
.contact-about-page {
.main-container {
width: 720px;
border: 1px solid #d7d7d7;
border-radius: 5px;
overflow: hidden;
.text-title {
border-bottom: #ff0000 4px solid;
font-family: 微软雅黑;
font-weight: bold;
height: 100px;
line-height: 100px;
font-weight: bold;
font-size: 36px;
color: #333;
text-align: center;
}
.text-info {
padding: 20px;
color: #333;
overflow: hidden;
font-size: 12px;
font-weight: normal;
line-height: 24px;
}
strong {
font-weight: bold;
}
}
}
.help-page {
.detail-search {
height: 116px;
background: #f5f5f5;
padding-top: 30px;
border-bottom: 1px solid #dfdfdf;
}
.detail-cont {
padding-top: 20px;
}
.help-problem {
width: 740px;
margin: 0 auto;
padding: 15px 0;
a {
width: 48%;
text-align: left;
line-height: 30px;
display: inline-block;
height: 30px;
overflow: hidden;
padding-left: 3px;
text-overflow: ellipsis;
white-space: nowrap;
box-sizing: border-box;
font-size: 14px;
margin: 8px 0 8px 10px;
}
a:hover {
color: #d2021c;
.dot-icon {
background: url("/help/dot-red.png") no-repeat;
}
}
}
.help-cont {
.cont {
padding: 15px 0;
width: 740px;
margin: 0 auto;
font-size: 14px;
}
}
}
\ No newline at end of file
... ...
.help-page {
.search-box {
width: 308px;
margin: 0 auto;
.search-area {
width: 308px;
height: 33px;
border: 1px solid #3a3a3a;
background: #fff;
input {
width: 250px;
border: none;
padding: 5px 0 5px 20px;
line-height: 20px;
display: inline-block;
}
.iconfont {
font-size: 18px;
color: #3a3a3a;
padding: 0 5px;
cursor: pointer;
position: relative;
top: 3px;
}
}
.keyword {
margin: 10px 0 45px;
font-size: 14px;
color: #000;
text-align: left;
a {
margin: 0 8px;
display: inline-block;
}
a:hover {
color: #d2021c;
}
}
}
.dot-icon {
background: url("/help/dot.png") no-repeat;
position: relative;
left: -3px;
top: -2px;
width: 4px;
height: 4px;
display: inline-block;
}
.nav-top {
height: 220px;
background: #f5f5f5;
padding-top: 25px;
border-bottom: 1px solid #e0e0e0;
margin-bottom: 25px;
.title-img {
width: 229px;
height: 68px;
display: block;
background: url("/help/help-title.jpg") no-repeat;
margin: 0 auto;
}
}
.notice {
margin-top: 5px;
height: 30px;
overflow: hidden;
li {
text-align: center;
line-height: 30px;
height: 30px;
}
.notice-cont {
display: inline-block;
overflow: hidden;
height: 30px;
font-size: 14px;
margin: 0 5px;
padding-left: 3px;
}
.notice-cont:hover {
color: #d2021c;
.dot-icon {
background: url("/help/dot-red.png") no-repeat;
}
}
}
.nav-title {
width: 740px;
height: 30px;
line-height: 30px;
font-size: 14px;
background: #f0f0f0;
margin: 0 auto;
padding-left: 15px;
box-sizing: border-box;
}
.menu-common {
width: 740px;
margin: 10px auto 30px;
height: auto;
overflow: hidden;
padding: 0 15px;
box-sizing: border-box;
li {
float: left;
margin: 20px 0 0 70px;
}
a {
width: 55px;
height: 55px;
text-align: center;
line-height: 55px;
display: block;
}
p {
width: 100%;
font-size: 14px;
color: #1b1b1b;
line-height: 30px;
text-align: center;
}
}
.self-service {
padding: 0 20px;
li {
margin-left: 159px;
}
}
.problem {
width: 700px;
margin: 0 auto;
padding-top: 25px;
a {
width: 48%;
text-align: left;
line-height: 30px;
margin-left: 10px;
display: inline-block;
height: 30px;
overflow: hidden;
padding-left: 3px;
text-overflow: ellipsis;
white-space: nowrap;
box-sizing: border-box;
font-size: 14px;
}
a:hover {
color: #d2021c;
.dot-icon {
background: url("/help/dot-red.png") no-repeat;
}
}
}
}
\ No newline at end of file
... ...
.about-page {
width: 990px;
padding: 10px 0 20px;
.about-nav {
width: 210px;
padding: 10px 20px;
background-color: #EBE9EA;
border: 1px solid #d7d7d7;
border-radius: 5px;
li {
line-height: 30px;
font-size: 12px;
text-align: center;
border-bottom: #ddd 1px solid;
border-top: #fff 1px solid;
a {
color: #333;
font-weight: bold;
}
.help-page {
.center-content {
width: 990px;
}
a:hover {
color: #f60;
}
}
.help-navigation {
width: 163px;
background: #fff;
li:first-child {
border-top: 0px;
.title {
width: 100%;
height: 54px;
background: #eaeaea;
padding-left: 20px;
line-height: 54px;
font-size: 18px;
box-sizing: border-box;
}
.act {
a {
color: #ed004c;
.nav {
li {
cursor: pointer;
height: 59px;
line-height: 59px;
padding-left: 20px;
width: 100%;
font-size: 16px;
border-bottom: 1px solid #e8e8e8;
background: #fbfbfb;
box-sizing: border-box;
.plus {
cursor: pointer;
margin-right: 10px;
height: 14px;
width: 14px;
background-repeat: no-repeat;
background-image: resolve("help/plus.png");
background-size: 14px 14px;
display: inline-block;
position: relative;
top: 1px;
}
.mult {
margin-right: 26px;
height: 14px;
width: 14px;
}
}
li.selected > a {
color: #379ed6;
}
a:hover {
color: #ed004c;
.smll-category {
display: none;
}
}
}
}
.help-main {
width: 785px;
margin: 0 0 60px 40px;
min-height: 600px;
border: 1px solid #e0e0e0;
padding-bottom: 20px;
}
.problem-box {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
line-height: calc(100vh);
text-align: center;
display: none;
.mark {
background: #000;
opacity: 0.5;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 1;
cursor: pointer;
}
.problem-area {
width: 520px;
min-height: 260px;
background: #fff;
position: relative;
z-index: 2;
vertical-align: middle;
display: inline-block;
line-height: 24px;
text-align: left;
padding: 60px 0;
box-sizing: border-box;
}
.a-area,
.q-area {
width: 416px;
margin: 15px auto 0;
position: relative;
font-size: 14px;
color: #1b1b1b;
min-height: 20px;
&:before {
content: "";
width: 18px;
height: 18px;
display: block;
position: absolute;
left: -36px;
}
}
.a-area {
margin-top: 10px;
}
.a-area:before {
background: url("/help/a.png") no-repeat;
}
.q-area:before {
background: url("/help/q.png") no-repeat;
}
.iconfont {
position: absolute;
right: 20px;
top: 20px;
cursor: pointer;
font-size: 18px;
}
}
}
@import "_yohobuy.css";
@import "_newpower.css";
@import "_contact.css";
@import "_privacy.css";
@import "_link.css";
@import "help";
@import "detail";
\ No newline at end of file
... ...
.link-about-page {
.main-container {
width: 720px;
border: 1px solid #d7d7d7;
border-radius: 5px;
overflow: hidden;
.text-title {
border-bottom: #ff0000 4px solid;
font-family: 微软雅黑;
font-weight: bold;
height: 100px;
line-height: 100px;
font-weight: bold;
font-size: 36px;
color: #333;
text-align: center;
}
.text-info {
padding: 20px;
color: #333;
overflow: hidden;
font-size: 12px;
font-weight: normal;
line-height: 24px;
}
h2 {
font-size: 14px;
line-height: 30px;
border-bottom: 1px dashed #ccc;
}
ul {
padding: 10px 0px;
list-style: none;
}
strong {
font-weight: bold;
}
}
}
.newpower-about-page {
.main-container {
width: 720px;
border: 1px solid #d7d7d7;
border-radius: 5px;
overflow: hidden;
.text-info {
line-height: 30px;
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 20px;
overflow: hidden;
}
}
}
.privacy-about-page {
.main-container {
width: 720px;
border: 1px solid #d7d7d7;
border-radius: 5px;
overflow: hidden;
.text-title {
border-bottom: #ff0000 4px solid;
font-family: 微软雅黑;
font-weight: bold;
height: 100px;
line-height: 100px;
font-weight: bold;
font-size: 36px;
color: #333;
text-align: center;
}
.text-info {
padding: 20px;
color: #333;
overflow: hidden;
font-size: 12px;
font-weight: normal;
line-height: 24px;
}
strong {
font-weight: bold;
}
}
}
.yohobuy-about-page {
.main-container {
width: 720px;
border: 1px solid #d7d7d7;
border-radius: 5px;
overflow: hidden;
.text-title {
border-bottom: #ff0000 4px solid;
font-family: 微软雅黑;
font-weight: bold;
height: 100px;
line-height: 100px;
font-weight: bold;
font-size: 36px;
color: #333;
text-align: center;
}
.text-info {
padding: 20px;
color: #333;
overflow: hidden;
font-size: 12px;
font-weight: normal;
line-height: 24px;
}
}
}