web-data-structure.md
33 KB
WEB数据结构定义
公共定义
公共底部
{
footerTop: true //是否显示足部有货services,意见反馈和更多YOHO产品等模块
}
商品
{
skn: 1,
thumb: 'path/to/goods/img',
url: '',
name: '',
salePrice: 500, //售价
marketPrice: 1000, //市场价
tags: [
{
isNew: true //NEW
},
{
isSale: true //SALE
},
{
isLimit: false //限量商品
},
{
isNewFestival: true //新品节
},
{
isReNew: true //再到着
},
{
isYearEndPromotion: true //年终大促
},
{
isYearMidPromotion: true // 年中大促
}
],
isFew: true, //即将售罄
showColBtn: true, //是否显示收藏按钮
coled: true //已收藏
}
路径导航
{
pathNav: [
//链接类型
{
href: '',
name: ''
},
//文字类型
{
name: ''
}
]
}
站点头部
{
gobuytype: 'gobuyboys',//购物车样式
searchcate: 'searchcateboys', //搜索栏样式
navbars: [{//一级导航
name_cn: '男生',
name_en: 'BOYS',
link: '',
classname: 'boys',
index_main: 0,
subnav: [{
name: '新品到着',
link: '',
index_sub:0,
thirdnav: [
{
title: '上装',
branditems: [
{
brandname: '背心',
link: ''
},
{
brandname: 'T恤',
link: ''
},
{
brandname: '衬衫',
link: ''
},
{
brandname: 'POLO',
link: ''
},
{
brandname: '毛衣/针织',
link: ''
}]
}
]
}, {
name: '品牌一览',
link: '',
thirdnav: []
}]
}],
myyoho: {
email: 'caomei@163.com',
viptype: '普通会员',
currentscore: 495,
totalscore: 600,
cardtype: '银卡',
infolist: [{
name: '待处理的订单',
link: '',
num: '0'
}, {
name: '我的收藏',
link: '',
num: '1'
}, {
name: '我的优惠券',
link: '',
num: '2'
}, {
name: '我的YOHO币',
link: '',
num: '1'
}, {
name: '我的退货换货',
link: '',
num: '1'
}],
updlink: ''
},
gobuy: {
gobuynum: 3
},
breadcrumbnav: [{
notend: {
link: 'http://www.yohobuy.com',
name: 'BOYS首页'
}
}, {
notend: {
link: 'http://www.yohobuy.com',
name: '上衣'
}
}, {
isend: {
link: 'http://list.yohobuy.com/?msort=1&gender=1,3',
name: '衬衫'
}
}]
}
男首
{
boys: [
//banner
{
slide: {
//大图列表
list: [
{
'href': '',
'img': ''
},
...
],
//小图列表
pagination: [
{
'href': '',
'img': ''
},
...
]
}
},
{
//最新速报
newReport: {
name: '最新速报 NEW!', //楼层标题
list: [
{
'href': '',
'img': ''
},
...
]
},
},
{
//优选品牌
preferenceBrand: {
name: '优选品牌 BRAND', //楼层标题
imgBrand: [ //有图片及logo的品牌
{
'href': '',
'img': ''
},
...
]
}
},
{
//单品 HOT
singlehot:{
name:'单品 HOT', //楼层标题
imgHot:[//有图片及logo的品牌
{
'href': '',
'img': ''
},
...
]
}
},
{
//广告
adbanner:{
'href':'',
'img':''
}
},
{
//潮人适配等楼层
recommend:{
name:'潮人配饰 ORNAMENT',
navs:[
{
'id':'',
'href':'',
'name':'MORE'
}
],
tplrecommend:{
//左上角两张图片
keyword:[
{
name:'',
img:'',
url:''
},
...
],
//左下角类别文案
category:[
{
name:'',
url:''
},
...
],
//中间两张图片
brands:[
{
name:'',
img:'',
url:''
},
...
],
//右边六张图片
types:[
{
name:'',
img:'',
url:''
},
...
],
//下面五张图片
products:[
{
name:'',
img:'',
url:''
},
...
]
}
}
},
{
//最新上架
newArrivls:{
name:'最新上架 NEW ARRIVALS',
navs:[
{
'id':'',
'href':'',
'name':'MORE'
}
]
}
}
]
}
男首新品上架 ajax数据
{
code:200, //返回状态
commodity:[
{
'url':'',
'img':'',
'name':'',
'price':'',
'state':'' //表示商品某种状态,用于显示商品左上角,比如已将售清等
},
...
]
}
logo品牌,ajax数据
{
moreBrand: '', //更多商品链接
logoBrand: [
{
'href': '',
'img': ''
},
...
]
}
搜索、列表、NEW/SALE共用
左侧导航相关
{
leftContent: [
{
allSort: {
//全部品类
updateNum: 2, //更新总数
list: [
{
name: 'AA', //一级分类
num: 12 //一级分类更新数目
childList: [
{
name: 'AAA', //二级分类
href: '##', //二级分类跳转链接
num: 12 //二级分类更新数目
}
]
}
]
}
},
{
picLink: {
//图片导航
picTitle: 'AA', //图片导航标题
list: [
{
href: '',
src: '' // 图片地址
}
]
}
},
{
newSales: {
//一周新品上架
updateNum: 123,
list: [
{
name: 'AAA',
href: '',
num: 12,
}
]
}
},
{
allDiscount: {
//全部折扣
updateNum: 111,
list: [
{
name: 'VVV',
href: '##',
num: 11
}
]
}
}
]
}
无搜索/筛选结果提示
通过goods字段控制页面相关元素的渲染与否,若无结果,不要传goods字段 无搜索结果必须传递搜索的searchActionUrl,比如:search.yohobuy.com;可选字段为keyWord
标准页面内容
{
//筛选相关
filters: {
checkedConditions: {
clearUrl: '', //清空筛选链接
conditions: [
//正常情况下文字显示
{
href: '',
name: '暗黑'
},
//特殊情况下颜色显示
{
href: '',
'color': '#f00'
},
...
]
},
//-- 筛选项数据Start(需要显示就传,不显示不传) --
channel: [
{
href: '',
name: 'Boys'
},
...
],
sort: [
{
name: '上衣',
sub: [
{
href: '',
name: 'T恤'
},
...
]
},
...
],
brand: {
default: [
{
href: '',
name: ''
},
...
],
//索引:index为索引键值(字母转化为小写)
brandIndex: [
{
index: 'all',
name: '全部'
},
{
index: '0-9',
name: '0 ~ 9'
},
{
index: 'a',
name: 'A'
},
...
],
brandShow: [
{
id: 1,
href: '',
index:'0-9', //与brandIndex中索引一致
name: '5cm',
key: '5cm' //key为品牌关键字,用于搜索和索引,保持小写
},
{
id: 2,
href: '',
index: 'k',
name: 'KTZ',
key: 'ktz'
},
...
],
price: [
{
href: '',
name: '0-239'
},
...
],
customPrice: {
min: 1,
max: 99
},
color: [
{
href: '',
name: '黑色',
rgb: '#000' //此处若为彩色和银色,需要传图片路径字符串:url('path/to/img')
},
...
],
size: [
{
href: '',
name: ''
},
...
],
seniorChose: [
{
attr: 'style', //查找的键值
name: '风格',
showMulti: true, //是否显示多选按钮
sub: [
{
id: '',
href: '',
name: ''
},
...
]
},
...
]
}
},
//操作Banner相关
opts: {
sortType: [
{
href: '',
name: '默认'
},
{
active: true, //当前选中
href: '',
name: '最新',
hasSortOrient: true, //是否有正逆序
desc: true //逆序排序(默认不传为正序)
},
{
href: '',
name: '价格',
hasSortOrient: true
},
{
href: '',
name: '折扣',
hasSortOrient: true
}
],
checks: [
{
name: '新品',
checked: true,
href: ''
},
{
name: '打折',
href: ''
},
{
name: '限量',
href: ''
}
],
//重要提示:页面筛选无结果时,接下来的参数不用传;
countPerPage => 120,
pageCounts => [
{
href: '',
count: 60
},
...
],
curPage: 1,
pageCount: 30,
preHref: '', //若当前为第一页,不传此参数
nexHref: '' //若当前为最后一页,不传此参数
//重要提示END
},
//重要提示:若无搜索或者筛选结果,则不传goods,totalCount和pager也都不传字段
goods: [
{
...//good
}
],
totalCount: 333, //共多少件商品
pager: '', //右下角分页HTML
//若为搜索导致的无结果,则传递关键词字段;筛选导致的不传
keyWord: '...',
searchActionUrl: ''
//重要提示END
//最近浏览<搜索无此内容>
latestWalk: [
{
href: '',
img: '',
salePrice: '',
marketPrice: ''
},
...
]
}
搜索页
{
search: {
//路径导航
pathNav: [...],
//品牌入口
shopEntry: {
home: '',
logo: '',
shopName: '',
sort: [
{
href: '',
name: '上衣'
},
...
]
},
..//标准页面内容,见上
}
}
商品列表页
{
list: {
//若为品牌首页则需要
brandBanner: {
bannerHeight: 100, //banner高度
banner: '',
bannerHome: '',
bannerIntro: '', //品牌介绍页
coled: true //品牌是否收藏
},
pathNav: [],
brandAbout: '', //品牌介绍页传HTML文本,非品牌介绍页则不传
leftContent: [], //...
//分类介绍
sortIntro: {
name: '',
enName: '',
desc: '',
keyEntry: [
{
name: '',
link: ''
},
...
],
img: ''
},
...,//标准页面内容,见上
}
}
new/sale
{
newSale: {
banner: {
bannerHeight: 222,
img: ''
},
title: {
name: '全部商品',
count: 2555
},
leftContent: [],
..//标准页面内容,见上
}
}
热销排行
{
hotrankPage: true, //引用hotrank.js
hotrank: [
{
slide: {
//大图列表
list: [
{
'href': '',
'img': ''
},
...
]
}
},
{
popular: { //人气单品
name: '', //楼层标题
list: [
{
href: '', //链接
img: '', //图片
title: '', //商品名称
price: '', //商品原价
sPrice: '', //商品现价
rank: '' //排行
}
...
]
}
}
{
hotBrands: { //同上logo品牌 ajax数据
name: '' //楼层标题
}
},
{
hotWeek: { //一周热卖
name: '' //楼层标题
nav: [ //一周热卖导航
{
textCn' => 'TOP100', //导航名称
'url' => '',
'sid' => 1 //对应ajax发送id
}
],
list: [ //同上面商品数据
{
...
}
...
]
}
}
]
}
商品详情页
{
detail: {
banner: {
bgColor: '',
bgImg: '',
homeUrl: '',
logo: '',
coled: true
},
pathNav: [...],
goodInfo: {
skn: '',
tags: [
{
isNew: true
},
{
isReNew: true
},
{
isSale: true
},
{
isNewFestival: true
},
{
isLimit: true
},
{
isYearEndPromotion: true
},
{
isYearMidPromotion: true
},
{
isFew: true
}
],
img: '',
name: '',
brandUrl: '',
brandName: '',
marketPrice: 999,
salePrice: 777,
activity: [
{
url: '',
activityImg: ''
},
{
type: '加价购',
des: ''
},
...
],
colors: [
{
focus: true,
disable: true,
title: '',
src: '',
thumbs: [
{
url: '',
img: '', //左侧缩略图
shower: '' //缩略图的大图显示
},
...
],
size: [
{
skn: '',
title: '',
name: ''
num: 20
}
]
}
],
coled: true,
goCartUrl: '' //去购物车结算
},
description: {
basic: [
{
key: '材质',
value: 'xxx'
},
...
],
comfort: [
{
name: '硬度',
minDes: '软',
blocks: [
{
cur: true
},
//n个等级
...
],
maxDes: ''
},
...
]
},
material: {
detail: [
{
img: '',
name: '',
enName: '',
text: ''
},
...
],
wash: [
{
img: '',
name: ''
},
...
]
},
size: {
thead: [
{
width: '130',
name: ''
},
...
],
tbody: [
[
... //每行数据
],
...
],
sizeImg: ''
},
reference: [
thead: [
{
width: '',
name: ''
},
...
],
tbody: [
[
'header-img-url', .., ..
],
...
]
],
details: '', //html
consultComment: {
consultNum: 0,
commentNum: 2,
comments: [
{
avatar: '',
userName: '',
color: '',
size: '',
date: '',
comment: ''
},
...
],
hasMoreComments: true,
commentUrl: '',
consults: [
{
avatar: '',
question: '',
date: '',
answer: ''
}
],
hasMoreConsults: true
},
recentView: [
{
url: '',
img: '',
name: '',
marketPrice: '',
salePrice: ''
},
...
]
}
}
逛
【公用】资讯
{
id: '',
classification: '最新',
isReco: true, //是否推荐
url: '',
isSquareImg: true, //是否是正方形图
img: '',
title: '',
editorUrl: '',
author: '',
pTime: '',
pView: '',
content: '',
tags: [
{
url: '',
tag: ''
},
...
],
liked: true,
like: 10,
comment: 10
}
【共用】右侧栏
{
exRecos: [
{
url: '',
img: '',
title: ''
},
..
],
hotTags: [
{
url: '',
tagName: ''
},
...
],
ads: [
{
url: '',
img: ''
},
...
]
}
首页
{
guang: {
slider: [
{
url: '',
img: ''
},
...
],
msgTypes: [
{
typeId: '',
isActive: true,
navUrl: '',
type: '最新'
},
...
],
msgs: [
{
...//资讯
}
],
msgPager: ''//HTML
}
}
列表页
{
guang: {
tag: '户外', //XX关联的文章
msgs: [
{
..//资讯
},
...
],
msgPager: ''
}
}
编辑页
{
guang: {
editor: {
avatar: '',
name: '',
intro: ''
},
msgs: [],
msgPager: ''
}
}
逛详情页
{
guang:{
id: 1, //详情页id
header: {
title: '', //大标题
avatar: '', //作者头像
name: '' , //作者名字
authorUrl: '', //作者主页url
intro: '', //作者简介
time: '', //时间
click: '', //点击数
commentNum: '' //评论数
},
content: [
{
pic: '' //内容大图
},
{
text: '' //内容文字
},
{
smallPic: [ //内容两张并列小图
'http://img02.static.yohobuy.com/cms/2015/06/26/12/027eb72bc880b4fe1aad361296c871c2ea.jpg',
'http://img02.static.yohobuy.com/cms/2015/06/26/12/027eb72bc880b4fe1aad361296c871c2ea.jpg'
]
},
{
relatedReco: { //相关推荐
recos: [
{
..//通用商品信息
}
...
],
moreReco: '', //标题是否有more,有传url,没有不传
}
}
],
brands: [ //相关品牌
{
'thumb' => '', //品牌图片
'name' => '004', //品牌名称
'url' => '' //品牌url
}
...
],
userInfo: { //用户点赞收藏
isLike: true, //当前用户是否点赞
likeNum: 84, //点赞次数
isCollected: true //当前用户是否收藏
},
tag: [ //内容标签
{
name: LEE, //标签内容
url: www.baidu.com //标签链接
}
...
],
relatedPost:[ //相关文章
{
url => '', //链接
thumb => '', //图片
title => '' //标题
}
...
],
commentInfo: '', //初始内容,用于登陆页跳转回来后的内容不丢失
comment: {
commentNum: 4, //如果没有评论,数字为0,list和commentPager可以不传
list: [ //评论列表
{
avatar: '', //评论用户头像
name: '', //用户名字
content: '', //评论内容
time: '' //发表时间
}
...
]
}
}
}
Passport
【公用】左侧YohoFamily LOGO
{
coverHref: '', //跳转链接,需要有跳转就传,不需要就不传
coverImg: '' //图片地址
}
登录页
{
passport: {
coverHref: '', //跳转链接,需要有跳转就传,不需要就不传
coverImg: '' //图片地址
countryCode: '86', //无+
countryName: '中国',
countryList: [
{
code: '',
name: ''
},
...
]
}
}
第三方登录欢迎页
{
passport: {
//左侧logo
goShoppingUrl: '',
completeInfoUrl: ''
}
}
注册页
站点头部
{
registerPage: true, //用于加载js
passport: {
actionUrl: '/passport/register/mobileregister', //action
region: [
{
id: 86, //国家地区码
name: '中国',
selected: true
}
],
location: '+86', //默认在哪个地区
captchaUrl: 'http://www.yohobuy.com/passport/images?t=1449799445', //验证码请求地址
itemUrl' => '##', //服务条款地址
referUrl' => 'http://www.yohobuy.com/', //注册后跳转链接
loginUrl' => '/signin.html?refer=http://www.yohobuy.com/', //登录链接
coverHref' => '/passport', //右侧封面跳转链接
coverImg' => '##', //右侧封面地址
}
}
登录注册页公用简化头部
{
simpleHeader: {
logo: {
img:'', //头部logo图片
url:''
},
tool: {
user: '', //用户名字
userCenter: '', //用户中心链接
loginHref: '', //登录链接,已登录不传
registerHref: '', //注册链接,已登录不传
logoutHref: '', //登出链接,未登录不传
favoriteHref: '', //我的收藏链接
couponHref: '', //我的优惠券链接
orderHref: '', //订单中心连接
helpHref: '' //帮助中心连接
}
}
}