web-data-structure.md 18.2 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: ''
        }
    ]
}

男首

{
    boys: [
        //banner
        {
            slide: {
                //大图列表
                bigSlide: [
                    {
                        'href': '',
                        'img': ''
                    },
                    ...
                ],
                //小图列表
                smallSlide: [
                    {
                        '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数据

{
    logoBrand: [
        {
            'href': '',
            'img': ''
        },
        ...
    ]
}

搜索、列表、NEW/SALE共用

左侧导航相关

{
    leftContent: [
        {
             allSort: {
                //全部品类
                updateNum: 2, //更新总数
                list: [
                    {
                        name: 'AA', //一级分类
                        num: 12 //一级分类更新数目
                        childList: [
                            {
                                name: 'AAA', //二级分类
                                href: '##', //二级分类跳转链接
                                num: 12 //二级分类更新数目
                            }
                        ]
                    }
                ]
            }
        },
        {
            picLink: {
                //图片导航
                title: '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'
                },
                ...
            ],
            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: [...],

        ..//标准页面内容,见上
    }
}

商品列表页

{
    list: {
        //若为品牌首页则需要
        brandBanner: {
            bannerHeight: 100, //banner高度
            banner: '',
            bannerHome: '',
            bannerIntro: '', //品牌介绍页
            coled: true //品牌是否收藏
        },
        pathNav: [],
        brandAbout: '', //品牌介绍页传HTML文本,非品牌介绍页则不传
        leftContent: [], //...

        //品牌入口
        shopEntry: {
            home: '',
            logo: '',
            shopName: '',
            sort: [
                {
                    href: '',
                    name: '上衣'
                },
                ...
            ]
        },

        ...,//标准页面内容,见上
    }
}

new/sale

{
    newSale: {
        banner: {
            bannerHeight: 222,
            img: ''
        },

        title: {
            name: '全部商品',
            count: 2555
        },

        leftContent: [],

        ..//标准页面内容,见上
    }
}

站点头部

{
    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&amp;gender=1,3',
            name: '衬衫'
        }
    }]
}