Authored by liuyue

Merge branch 'feature/supplement' into 'web'

Feature/supplement

数据结构文档补充;回到顶部按钮逻辑;页面公共底部字体
Review by:@刘玥

See merge request !85
@@ -683,6 +683,265 @@ @@ -683,6 +683,265 @@
683 } 683 }
684 } 684 }
685 685
  686 +### 热销排行
  687 +
  688 + {
  689 + hotrankPage: true, //引用hotrank.js
  690 + hotrank: [
  691 + {
  692 + slide: {
  693 + //大图列表
  694 + list: [
  695 + {
  696 + 'href': '',
  697 + 'img': ''
  698 + },
  699 + ...
  700 + ]
  701 + }
  702 + },
  703 + {
  704 + popular: { //人气单品
  705 + name: '', //楼层标题
  706 + list: [
  707 + {
  708 + href: '', //链接
  709 + img: '', //图片
  710 + title: '', //商品名称
  711 + price: '', //商品原价
  712 + sPrice: '', //商品现价
  713 + rank: '' //排行
  714 + }
  715 + ...
  716 + ]
  717 + }
  718 + }
  719 + {
  720 + hotBrands: { //同上logo品牌 ajax数据
  721 + name: '' //楼层标题
  722 + }
  723 + },
  724 + {
  725 + hotWeek: { //一周热卖
  726 + name: '' //楼层标题
  727 + nav: [ //一周热卖导航
  728 + {
  729 + textCn' => 'TOP100', //导航名称
  730 + 'url' => '',
  731 + 'sid' => 1 //对应ajax发送id
  732 + }
  733 + ],
  734 + list: [ //同上面商品数据
  735 + {
  736 + ...
  737 + }
  738 + ...
  739 + ]
  740 + }
  741 + }
  742 + ]
  743 + }
  744 +
  745 +### 商品详情页
  746 +
  747 + {
  748 + detail: {
  749 + banner: {
  750 + bgColor: '',
  751 + bgImg: '',
  752 + homeUrl: '',
  753 + logo: '',
  754 + coled: true
  755 + },
  756 +
  757 + pathNav: [...],
  758 +
  759 + goodInfo: {
  760 + skn: '',
  761 + tags: [
  762 + {
  763 + isNew: true
  764 + },
  765 + {
  766 + isReNew: true
  767 + },
  768 + {
  769 + isSale: true
  770 + },
  771 + {
  772 + isNewFestival: true
  773 + },
  774 + {
  775 + isLimit: true
  776 + },
  777 + {
  778 + isYearEndPromotion: true
  779 + },
  780 + {
  781 + isYearMidPromotion: true
  782 + },
  783 + {
  784 + isFew: true
  785 + }
  786 + ],
  787 + img: '',
  788 + name: '',
  789 + brandUrl: '',
  790 + brandName: '',
  791 + marketPrice: 999,
  792 + salePrice: 777,
  793 + activity: [
  794 + {
  795 + url: '',
  796 + activityImg: ''
  797 + },
  798 + {
  799 + type: '加价购',
  800 + des: ''
  801 + },
  802 + ...
  803 + ],
  804 + colors: [
  805 + {
  806 + focus: true,
  807 + disable: true,
  808 + title: '',
  809 + src: '',
  810 + thumbs: [
  811 + {
  812 + url: '',
  813 + img: '', //左侧缩略图
  814 + shower: '' //缩略图的大图显示
  815 + },
  816 + ...
  817 + ],
  818 + size: [
  819 + {
  820 + skn: '',
  821 + title: '',
  822 + name: ''
  823 + num: 20
  824 + }
  825 + ]
  826 + }
  827 + ],
  828 + coled: true,
  829 + goCartUrl: '' //去购物车结算
  830 + },
  831 +
  832 + description: {
  833 + basic: [
  834 + {
  835 + key: '材质',
  836 + value: 'xxx'
  837 + },
  838 + ...
  839 + ],
  840 + comfort: [
  841 + {
  842 + name: '硬度',
  843 + minDes: '软',
  844 + blocks: [
  845 + {
  846 + cur: true
  847 + },
  848 + //n个等级
  849 + ...
  850 + ],
  851 + maxDes: ''
  852 + },
  853 + ...
  854 + ]
  855 + },
  856 + material: {
  857 + detail: [
  858 + {
  859 + img: '',
  860 + name: '',
  861 + enName: '',
  862 + text: ''
  863 + },
  864 + ...
  865 + ],
  866 + wash: [
  867 + {
  868 + img: '',
  869 + name: ''
  870 + },
  871 + ...
  872 + ]
  873 + },
  874 + size: {
  875 + thead: [
  876 + {
  877 + width: '130',
  878 + name: ''
  879 + },
  880 + ...
  881 + ],
  882 + tbody: [
  883 + [
  884 + ... //每行数据
  885 + ],
  886 + ...
  887 + ],
  888 + sizeImg: ''
  889 + },
  890 + reference: [
  891 + thead: [
  892 + {
  893 + width: '',
  894 + name: ''
  895 + },
  896 + ...
  897 + ],
  898 + tbody: [
  899 + [
  900 + 'header-img-url', .., ..
  901 + ],
  902 + ...
  903 + ]
  904 + ],
  905 + details: '', //html
  906 + consultComment: {
  907 + consultNum: 0,
  908 + commentNum: 2,
  909 + comments: [
  910 + {
  911 + avatar: '',
  912 + userName: '',
  913 + color: '',
  914 + size: '',
  915 + date: '',
  916 + comment: ''
  917 + },
  918 + ...
  919 + ],
  920 + hasMoreComments: true,
  921 + commentUrl: '',
  922 + consults: [
  923 + {
  924 + avatar: '',
  925 + question: '',
  926 + date: '',
  927 + answer: ''
  928 + }
  929 + ],
  930 + hasMoreConsults: true
  931 + },
  932 + recentView: [
  933 + {
  934 + url: '',
  935 + img: '',
  936 + name: '',
  937 + marketPrice: '',
  938 + salePrice: ''
  939 + },
  940 + ...
  941 + ]
  942 + }
  943 + }
  944 +
686 ## 逛 945 ## 逛
687 946
688 ### 【公用】资讯 947 ### 【公用】资讯
@@ -930,64 +1189,4 @@ @@ -930,64 +1189,4 @@
930 coverHref' => '/passport', //右侧封面跳转链接 1189 coverHref' => '/passport', //右侧封面跳转链接
931 coverImg' => '##', //右侧封面地址 1190 coverImg' => '##', //右侧封面地址
932 } 1191 }
933 - }  
934 -  
935 -## Product  
936 -  
937 -### 热销排行  
938 -{  
939 - hotrankPage: true, //引用hotrank.js  
940 - hotrank: [  
941 - {  
942 - slide: {  
943 - //大图列表  
944 - list: [  
945 - {  
946 - 'href': '',  
947 - 'img': ''  
948 - },  
949 - ...  
950 - ]  
951 - }  
952 - },  
953 - {  
954 - popular: { //人气单品  
955 - name: '', //楼层标题  
956 - list: [  
957 - {  
958 - href: '', //链接  
959 - img: '', //图片  
960 - title: '', //商品名称  
961 - price: '', //商品原价  
962 - sPrice: '', //商品现价  
963 - rank: '' //排行  
964 - }  
965 - ...  
966 - ]  
967 - }  
968 - }  
969 - {  
970 - hotBrands: { //同上logo品牌 ajax数据  
971 - name: '' //楼层标题  
972 - }  
973 - },  
974 - {  
975 - hotWeek: { //一周热卖  
976 - name: '' //楼层标题  
977 - nav: [ //一周热卖导航  
978 - {  
979 - textCn' => 'TOP100', //导航名称  
980 - 'url' => '',  
981 - 'sid' => 1 //对应ajax发送id  
982 - }  
983 - ],  
984 - list: [ //同上面商品数据  
985 - {  
986 - ...  
987 - }  
988 - ...  
989 - ]  
990 - }  
991 - }  
992 - ]  
993 -}  
  1192 + }
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 <div class="brand-banner" style="background:{{bgColor}}{{#if bgImg}} url({{bgImg}}){{/if}}"> 5 <div class="brand-banner" style="background:{{bgColor}}{{#if bgImg}} url({{bgImg}}){{/if}}">
6 <div class="center-content clearfix"> 6 <div class="center-content clearfix">
7 <a class="pull-left" href="{{homeUrl}}"> 7 <a class="pull-left" href="{{homeUrl}}">
8 - <img src="{{logo}}" alt="{{alt}}"> 8 + <img src="{{logo}}">
9 </a> 9 </a>
10 10
11 <div class="opt pull-right"> 11 <div class="opt pull-right">
@@ -97,9 +97,9 @@ @@ -97,9 +97,9 @@
97 <ul class="activity"> 97 <ul class="activity">
98 {{#each activity}} 98 {{#each activity}}
99 <li> 99 <li>
100 - {{#if sizeImg}} 100 + {{#if activityImg}}
101 <a class="img-link" href="{{url}}"> 101 <a class="img-link" href="{{url}}">
102 - <img src="{{sizeImg}}"> 102 + <img src="{{activityImg}}">
103 </a> 103 </a>
104 {{^}} 104 {{^}}
105 <span class="ac-type">{{type}}</span> 105 <span class="ac-type">{{type}}</span>
@@ -154,17 +154,17 @@ @@ -154,17 +154,17 @@
154 <div class="promise"> 154 <div class="promise">
155 <div class="center-content clearfix"> 155 <div class="center-content clearfix">
156 <div class="left"> 156 <div class="left">
157 - <span class="iconfont rgbf">g</span> 157 + <span class="iconfont rgbf">&#xe62f;</span>
158 <span class="red">100%</span> 158 <span class="red">100%</span>
159 <span class="rgbf">品牌授权正品</span> 159 <span class="rgbf">品牌授权正品</span>
160 </div> 160 </div>
161 <div class="left"> 161 <div class="left">
162 - <span class="iconfont rgbf">L</span> 162 + <span class="iconfont rgbf">&#xe630;</span>
163 <span class="red">7天</span> 163 <span class="red">7天</span>
164 <span class="rgbf">无理由退换货</span> 164 <span class="rgbf">无理由退换货</span>
165 </div> 165 </div>
166 <div class="left"> 166 <div class="left">
167 - <span class="iconfont rgbf">p</span> 167 + <span class="iconfont rgbf">&#xe61c;</span>
168 <span class="rgbf">客服电话:</span> 168 <span class="rgbf">客服电话:</span>
169 <span class="red">400-889-9646</span> 169 <span class="red">400-889-9646</span>
170 &nbsp;&nbsp; 170 &nbsp;&nbsp;
@@ -176,7 +176,7 @@ @@ -176,7 +176,7 @@
176 </div> 176 </div>
177 <div class="right subscribe footer-right"> 177 <div class="right subscribe footer-right">
178 <input id="subscriber-box" class="rgb6 top" name="subscriberBox"value="订阅我们的邮件"> 178 <input id="subscriber-box" class="rgb6 top" name="subscriberBox"value="订阅我们的邮件">
179 - <a id="subscriber-btn" href="javascript:void(0);" class="ifont rgbf">m</a> 179 + <a id="subscriber-btn" href="javascript:void(0);" class="iconfont rgbf">&#xe61b;</a>
180 </div> 180 </div>
181 </div> 181 </div>
182 </div> 182 </div>
@@ -343,7 +343,7 @@ @@ -343,7 +343,7 @@
343 </div> 343 </div>
344 </div> 344 </div>
345 </div> 345 </div>
346 - <div class="return-top"> 346 + <div class="return-top hide">
347 <span class="iconfont">&#xe610;</span> 347 <span class="iconfont">&#xe610;</span>
348 </div> 348 </div>
349 </div> 349 </div>
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > 2 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3 <svg xmlns="http://www.w3.org/2000/svg"> 3 <svg xmlns="http://www.w3.org/2000/svg">
4 <metadata> 4 <metadata>
5 -Created by FontForge 20120731 at Wed Dec 23 15:19:53 2015 5 +Created by FontForge 20120731 at Fri Dec 25 14:41:29 2015
6 By Ads 6 By Ads
7 </metadata> 7 </metadata>
8 <defs> 8 <defs>
@@ -16,10 +16,10 @@ Created by FontForge 20120731 at Wed Dec 23 15:19:53 2015 @@ -16,10 +16,10 @@ Created by FontForge 20120731 at Wed Dec 23 15:19:53 2015
16 ascent="896" 16 ascent="896"
17 descent="-128" 17 descent="-128"
18 x-height="792" 18 x-height="792"
19 - bbox="0 -214 1172.1 864" 19 + bbox="0 -214 1172.1 894"
20 underline-thickness="50" 20 underline-thickness="50"
21 underline-position="-100" 21 underline-position="-100"
22 - unicode-range="U+0078-E62E" 22 + unicode-range="U+0078-E630"
23 /> 23 />
24 <missing-glyph horiz-adv-x="374" 24 <missing-glyph horiz-adv-x="374"
25 d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" /> 25 d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" />
@@ -159,5 +159,13 @@ t28.5 -4.5t28.5 -6.5t27.5 -8.5t27.5 -9.5q83 -33 149 -99v0zM258 49q53 -53 118.5 - @@ -159,5 +159,13 @@ t28.5 -4.5t28.5 -6.5t27.5 -8.5t27.5 -9.5q83 -33 149 -99v0zM258 49q53 -53 118.5 -
159 q-66 -26 -118 -78.5t-78.5 -118t-26.5 -134.5t26.5 -134.5t78.5 -118.5v0zM748 602l69 -72l-531 -530l-70 70zM748 602z" /> 159 q-66 -26 -118 -78.5t-78.5 -118t-26.5 -134.5t26.5 -134.5t78.5 -118.5v0zM748 602l69 -72l-531 -530l-70 70zM748 602z" />
160 <glyph glyph-name="uniE62E" unicode="&#xe62e;" horiz-adv-x="1025" 160 <glyph glyph-name="uniE62E" unicode="&#xe62e;" horiz-adv-x="1025"
161 d="M491 6q9 -10 21.5 -10t21.5 10l357 407q4 5 5.5 9.5t0 8t-6 5.5t-11.5 2h-133q-14 0 -23.5 9.5t-9.5 22.5v261q0 9 -4.5 16.5t-12.5 11.5t-17 4h-333q-14 0 -24 -9.5t-10 -22.5v-261q0 -13 -9.5 -22.5t-23.5 -9.5h-133q-14 0 -17.5 -7.5t5.5 -17.5z" /> 161 d="M491 6q9 -10 21.5 -10t21.5 10l357 407q4 5 5.5 9.5t0 8t-6 5.5t-11.5 2h-133q-14 0 -23.5 9.5t-9.5 22.5v261q0 9 -4.5 16.5t-12.5 11.5t-17 4h-333q-14 0 -24 -9.5t-10 -22.5v-261q0 -13 -9.5 -22.5t-23.5 -9.5h-133q-14 0 -17.5 -7.5t5.5 -17.5z" />
  162 + <glyph glyph-name="uniE62F" unicode="&#xe62f;"
  163 +d="M512 809v0q-58 0 -112.5 -12t-105.5 -38t-80.5 -44t-77.5 -51v-450q0 -57 19.5 -110.5t49 -93.5t69 -76t75.5 -59.5t73.5 -43t57 -28t32.5 -12.5q13 4 32.5 12.5t57 28t73.5 43t75.5 59.5t69 76t49 93.5t19.5 110.5v450q-48 33 -77.5 51t-80.5 44t-105.5 38t-112.5 12z
  164 +M808 214q0 -76 -36.5 -138t-112.5 -117q-39 -28 -78.5 -49.5t-68.5 -32.5q-74 29 -147 82q-76 55 -112.5 117t-36.5 138v421q87 53 146.5 75t149.5 23q90 -1 149.5 -23t146.5 -75v-421zM512 671q-46 0 -81.5 -6t-67.5 -18.5t-83 -37.5v-399q0 -35 12.5 -68.5t30 -57.5
  165 +t44 -46t47 -35.5t46 -26t34 -16t18.5 -6.5q10 3 18.5 6.5t34 16t46 26t47 35.5t44 46t30 57.5t12.5 68.5v399q-74 37 -119.5 49.5t-112.5 12.5v0zM667 515v-47h-105v-67h92v-61h-92v-77h116v-57h-332v57h42v168h64v-168h46v205h-138v61h307v-14z" />
  166 + <glyph glyph-name="uniE630" unicode="&#xe630;" horiz-adv-x="1163"
  167 +d="M295 196q67 0 114 -47t47 -113.5t-47 -114t-114 -47.5t-114 47.5t-47 113.5q0 44 21.5 81t58.5 58.5t81 21.5zM917 196q67 0 114 -47t47 -114q0 -32 -12.5 -62t-34 -51.5t-51.5 -34.5t-63 -13q-66 0 -113.5 47.5t-47.5 113.5q0 79 62 127q44 34 99 34zM400 894v-99h-210
  168 +v0l-187 -294v-372h95q27 56 80 90.5t117 34.5q43 0 82 -16t68.5 -44t46.5 -65h228q27 56 80 90.5t117 34.5q22 0 43 -4.5t39.5 -12t36 -18.5t32 -25t26.5 -30.5t20 -34.5h46v765h-760zM400 452h-283l159 250l124 1v-251v0zM893 701l-131 -276l-63 31l101 206h-105v68h198
  169 +v-29v0z" />
162 </font> 170 </font>
163 </defs></svg> 171 </defs></svg>
@@ -10,8 +10,6 @@ require('./footer'); @@ -10,8 +10,6 @@ require('./footer');
10 require('./simple-header'); 10 require('./simple-header');
11 require('./header'); 11 require('./header');
12 12
13 -  
14 -  
15 function cookie(name) { 13 function cookie(name) {
16 var cookies = document.cookie, 14 var cookies = document.cookie,
17 cookieVal, 15 cookieVal,
@@ -6,6 +6,8 @@ @@ -6,6 +6,8 @@
6 6
7 var $ = require('yoho.jquery'); 7 var $ = require('yoho.jquery');
8 8
  9 +var $returnTop = $('.return-top');
  10 +
9 var apiDomain; 11 var apiDomain;
10 12
11 /** 13 /**
@@ -126,6 +128,39 @@ function actionhomeFootChange() { @@ -126,6 +128,39 @@ function actionhomeFootChange() {
126 }); 128 });
127 } 129 }
128 130
  131 +function rePosReturn() {
  132 + if ($(window).height() < $(document).height()) {
  133 + $returnTop.removeClass('hide');
  134 + } else {
  135 + $returnTop.addClass('hide');
  136 + }
  137 +}
  138 +
  139 +//返回顶部
  140 +$returnTop.click(function() {
  141 + $('html,body').animate({
  142 + scrollTop: 0
  143 + }, 500);
  144 +});
  145 +
  146 +$(window).scroll(function() {
  147 + if ($(window).scrollTop() === 0) {
  148 + $returnTop.addClass('hide');
  149 + } else {
  150 + $returnTop.removeClass('hide');
  151 + }
  152 +});
  153 +
  154 +rePosReturn();
  155 +
  156 +//如果初始是隐藏的,监听图片加载,重新确定return-top的高度
  157 +if ($returnTop.hasClass('hide')) {
  158 + $('img').load(rePosReturn);
  159 +}
  160 +
129 //初始化 161 //初始化
130 actionSubscription(); 162 actionSubscription();
131 actionhomeFootChange(); 163 actionhomeFootChange();
  164 +
  165 +//暴露给有可能通AJAX改变内容的页面去用
  166 +window.rePosReturnTop = rePosReturn;
@@ -211,8 +211,6 @@ @@ -211,8 +211,6 @@
211 211
212 .footerbottom { 212 .footerbottom {
213 width: 100%; 213 width: 100%;
214 -  
215 -  
216 } 214 }
217 215
218 .promise { 216 .promise {
@@ -224,7 +222,17 @@ @@ -224,7 +222,17 @@
224 line-height: 30px; 222 line-height: 30px;
225 font-size: 12px; 223 font-size: 12px;
226 font-weight: bold; 224 font-weight: bold;
  225 +
  226 + .iconfont {
  227 + display: inline-block;
  228 + font-weight: normal;
  229 + font-size: 24px;
  230 + vertical-align: middle;
  231 + margin-right: 5px;
  232 + line-height: 24px;
  233 + }
227 } 234 }
  235 +
228 } 236 }
229 237
230 .subscribe { 238 .subscribe {
@@ -243,7 +251,7 @@ @@ -243,7 +251,7 @@
243 251
244 a { 252 a {
245 margin-left: 10px; 253 margin-left: 10px;
246 - font-size: 18px; 254 + font-size: 20px;
247 line-height: 32px; 255 line-height: 32px;
248 opacity: 0.5; 256 opacity: 0.5;
249 filter: alpha(opacity=50); 257 filter: alpha(opacity=50);
@@ -51,7 +51,7 @@ class ItemController extends AbstractAction @@ -51,7 +51,7 @@ class ItemController extends AbstractAction
51 'activity' => array( 51 'activity' => array(
52 array( 52 array(
53 'url' => '', 53 'url' => '',
54 - 'sizeImg' => 'http://img11.static.yhbimg.com/productbanner/2015/12/11/00/01ba262a2fbac23b022eeace17cf5c3685.jpg' 54 + 'activityImg' => 'http://img11.static.yhbimg.com/productbanner/2015/12/11/00/01ba262a2fbac23b022eeace17cf5c3685.jpg'
55 ), 55 ),
56 array( 56 array(
57 'type' => '加价购', 57 'type' => '加价购',