Authored by 郭成尧

shop-better

@@ -55,6 +55,7 @@ class AbstractAction extends Controller_Abstract @@ -55,6 +55,7 @@ class AbstractAction extends Controller_Abstract
55 $this->_request = $this->getRequest(); 55 $this->_request = $this->getRequest();
56 56
57 $this->_view->assign('isWechat', stripos($this->server('HTTP_USER_AGENT', ''), 'MicroMessenger') !== false); 57 $this->_view->assign('isWechat', stripos($this->server('HTTP_USER_AGENT', ''), 'MicroMessenger') !== false);
  58 + $this->_view->assign('isApp', isset($_GET['app_version']) ? true : false);
58 59
59 // 设置环境变量 60 // 设置环境变量
60 switch (APPLICATION_ENV) { 61 switch (APPLICATION_ENV) {
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.

24.7 KB | W: | H:

569 Bytes | W: | H:

  • 2-up
  • Swipe
  • Onion skin
@@ -130,7 +130,7 @@ function postcssEnvPlugin(env) { @@ -130,7 +130,7 @@ function postcssEnvPlugin(env) {
130 130
131 //Postcss开发环境 131 //Postcss开发环境
132 gulp.task('postcss-dev', function() { 132 gulp.task('postcss-dev', function() {
133 - return gulp.src('sass/index.css') 133 + return gulp.src(['sass/index.css', 'sass/shop.css'])
134 .pipe(sourcemaps.init()) 134 .pipe(sourcemaps.init())
135 .pipe(postcss(postcssEnvPlugin('DEV'))) 135 .pipe(postcss(postcssEnvPlugin('DEV')))
136 .pipe(sourcemaps.write('.')) 136 .pipe(sourcemaps.write('.'))
@@ -143,7 +143,7 @@ gulp.task('postcss-watch', function() { @@ -143,7 +143,7 @@ gulp.task('postcss-watch', function() {
143 143
144 //Postcss正式环境生成 144 //Postcss正式环境生成
145 gulp.task('postcss-pro', ['assets'], function() { 145 gulp.task('postcss-pro', ['assets'], function() {
146 - return gulp.src('sass/index.css') 146 + return gulp.src(['sass/index.css', 'sass/shop.css'])
147 .pipe(postcss(postcssEnvPlugin('PRO'))) 147 .pipe(postcss(postcssEnvPlugin('PRO')))
148 .pipe(cssnano()) 148 .pipe(cssnano())
149 .pipe(gulp.dest(distDir.css)) 149 .pipe(gulp.dest(distDir.css))

19.4 KB | W: | H:

569 Bytes | W: | H:

  • 2-up
  • Swipe
  • Onion skin
1 -.shop-index {  
2 - position: absolute;  
3 - top: 0;  
4 - bottom: 0;  
5 - left: 0;  
6 - right: 0;  
7 - overflow: hidden;  
8 -  
9 - .nav-main {  
10 - margin-bottom: 30px;  
11 - }  
12 -  
13 - .branner-top {  
14 - width: 100%;  
15 - height: 200px;  
16 - position: relative;  
17 - overflow: hidden;  
18 -  
19 - .shop-back-img {  
20 - height: 100%;  
21 - width: 100%;  
22 - }  
23 - }  
24 -  
25 - .logo {  
26 - position: absolute;  
27 - overflow: hidden;  
28 - left: 30px;  
29 - bottom: 30px;  
30 - width: 100px;  
31 - height: 100px;  
32 - }  
33 -  
34 - .store-name {  
35 - color: #fff;  
36 - font-size: 28px;  
37 - position: absolute;  
38 - overflow: hidden;  
39 - left: 148px;  
40 - bottom: 20px;  
41 - }  
42 -  
43 - .collect {  
44 - width: 128px;  
45 - height: 49px;  
46 - position: absolute;  
47 - bottom: 30px;  
48 - right: 30px;  
49 - border-radius: 10px;  
50 - text-align: center;  
51 - background-size: contain;  
52 - }  
53 -  
54 - .alreadyCollect{  
55 - width: 128px;  
56 - height: 50px;  
57 - border-radius: 10px;  
58 - background-image: url('/product/already-collect.png') no-repeat;  
59 - background-size: contain;  
60 - }  
61 -  
62 - .notCollect{  
63 - width: 128px;  
64 - height: 50px;  
65 - border-radius: 6px;  
66 - background-image: url('/product/not-collect.png') no-repeat;  
67 - background-size: contain;  
68 - }  
69 -  
70 - .nav {  
71 - width: 100%;  
72 - height: 88px;  
73 - margin: 0;  
74 - padding: 0;  
75 - border: 0;  
76 - font: inherit;  
77 - vertical-align: baseline;  
78 - list-style: none;  
79 - font-size: 28px;  
80 - background: #fff;  
81 - overflow: hidden;  
82 - border-sizing: border-box;  
83 - border-bottom: 1px solid #e0e0e0;  
84 - z-index: 2;  
85 -  
86 - li{  
87 - display: block;  
88 - height: 28px;  
89 - float: left;  
90 - line-height: 28px;  
91 - width: 24.7%;  
92 - text-align: center;  
93 - border-left: 1px solid #e0e0e0;  
94 - margin-top: 30px;  
95 - border-sizing: border-box;  
96 - color: #b0b0b0;  
97 -  
98 - &:first-child {  
99 - border-left: none;  
100 - }  
101 -  
102 - a {  
103 - color: #b0b0b0;  
104 - }  
105 - }  
106 -  
107 - .color {  
108 - color: #444;  
109 - }  
110 - }  
111 -  
112 - .main {  
113 - background: #f0f0f0;  
114 - padding-bottom: 40px;  
115 - overflow: hidden;  
116 -  
117 - .banner-swiper {  
118 - width: 640px;  
119 - height: 310px;  
120 - }  
121 - }  
122 -  
123 - .banner-area {  
124 - @extend .banner-top;  
125 - margin-bottom: 30px;  
126 - }  
127 -  
128 - .coupon {  
129 - width: 100%;  
130 - padding: 30px 0;  
131 - overflow: hidden;  
132 -  
133 - img {  
134 - width: 245px;  
135 - height: 120px;  
136 - vertical-align: top;  
137 - margin-left: 30px;  
138 - float: left;  
139 - }  
140 - }  
141 -  
142 - .multi-brands {  
143 - width: 100%;  
144 - height: 270px;  
145 - background: #fff;  
146 - border: 1px solid #e0e0e0;  
147 - border-top: none;  
148 - font-size: 20px;  
149 - text-align: center;  
150 - padding-top: 25px;  
151 - margin-bottom: 30px;  
152 - overflow: hidden;  
153 -  
154 - p {  
155 - font-size: 30px;  
156 - }  
157 - }  
158 -  
159 - .multi-browse {  
160 - margin-top: 50px;  
161 - }  
162 -  
163 - .brand-img {  
164 - margin-left: 30px;  
165 - width: 140px;  
166 - height: 150px;  
167 - overflow: hidden;  
168 - padding-bottom: 20px;  
169 - float: left;  
170 -  
171 - p {  
172 - font-size: 18px;  
173 - color: #b0b0b0;  
174 - padding-top: 10px;  
175 - height: 30px;  
176 - white-space: nowrap;  
177 - overflow: hidden;  
178 - text-overflow: ellipsis;  
179 - }  
180 -  
181 - img {  
182 - height: 120px;  
183 - }  
184 - }  
185 -  
186 - .spring {  
187 - margin: 0 15px;  
188 - overflow: hidden;  
189 -  
190 - li {  
191 - width: 50%;  
192 - height: 160px;  
193 - float: left;  
194 - text-align: center;  
195 - list-style: none;  
196 - display: list-item;  
197 -  
198 - img {  
199 - width: 275px;  
200 - height: inherit;  
201 - border-radius: 10px;  
202 - vertical-align: top;  
203 - }  
204 - }  
205 - }  
206 -  
207 - .hot-category .floor-header {  
208 - margin: 0;  
209 - }  
210 -  
211 - .popularity-title, .hot-category .floor-header {  
212 - background: #fff;  
213 - border-bottom: 1px solid #e0e0e0;  
214 - border-top: 1px solid #e0e0e0;  
215 - color: #444;  
216 - text-align: center;  
217 - height: 100px;  
218 - line-height: 100px;  
219 - font-size: 30px;  
220 - margin-top: 30px;  
221 - position: relative;  
222 - }  
223 -  
224 - .hot-category .floor-header {  
225 - border-bottom: none;  
226 - }  
227 -  
228 - .more {  
229 - position: absolute;  
230 - right: 30px;  
231 - top: 0;  
232 - bottom: 0;  
233 - color: #b0b0b0;  
234 - font-size: 50px;  
235 - font-family: "iconfont" !important;  
236 - font-style: normal;  
237 - text-decoration: none;  
238 - }  
239 -  
240 - .product-list {  
241 - margin-left: auto;  
242 - margin-right: auto;  
243 - width: 610px;  
244 - overflow: hidden;  
245 - background: #fff;  
246 - border-bottom: 30px solid #f0f0f0;  
247 -  
248 - li {  
249 - width: 275px;  
250 - height: 368px;  
251 - margin-top: 50px;  
252 - margin-left: 15px;  
253 - margin-right: 15px;  
254 - float: left;  
255 - text-align: center;  
256 - list-style: none;  
257 -  
258 - img {  
259 - width: 275px;  
260 - height: 368px;  
261 - vertical-align: top;  
262 - }  
263 - }  
264 - }  
265 -  
266 - .list-price {  
267 - height: 60px;  
268 - background: #aaaeac;  
269 - color: #FFFFFF;  
270 - font-size: 22px;  
271 - margin-top: -60px;  
272 - position: relative;  
273 - opacity: 0.90;  
274 - padding-left: 15px;  
275 -  
276 - p {  
277 - margin: 0;  
278 - line-height: 32px;  
279 - text-align: left;  
280 - overflow: hidden;  
281 - text-overflow: ellipsis;  
282 - white-space: nowrap;  
283 - }  
284 - }  
285 -  
286 - .red {  
287 - color: red;  
288 - }  
289 -  
290 - .icon {  
291 - position: relative;  
292 - color: #b0b0b0;  
293 -  
294 - i {  
295 - position: absolute;  
296 - }  
297 -  
298 - .up {  
299 - top: -5px;  
300 - left: 8px;  
301 - }  
302 -  
303 - .down {  
304 - top: 8px;  
305 - left: 8px;  
306 - }  
307 - }  
308 - .product-warp{  
309 - background-color: #fff;  
310 - }  
311 - .goods-container {  
312 - position: relative;  
313 - min-height: 440px;  
314 - /* padding-left: 15px; */  
315 - padding-top: 20px;  
316 - border-bottom: 1px solid #e0e0e0;  
317 - }  
318 -  
319 - .pos-list {  
320 - border-bottom: 1px solid #e6e6e6;  
321 -  
322 - li {  
323 - position: relative;  
324 - }  
325 -  
326 - .new .iconfont,  
327 - .price .iconfont,  
328 - .discount .iconfont {  
329 - transform: scale(0.8);  
330 - -webkit-transform: scale(0.8);  
331 - font-weight: bold;  
332 - }  
333 -  
334 - .new:after,  
335 - .price:after,  
336 - .discount:after {  
337 - height: 28px;  
338 - content: '';  
339 - border-left: 1px solid #e0e0e0;  
340 - position: absolute;  
341 - top: 25px;  
342 - left: 163px;  
343 - }  
344 - }  
345 -  
346 - .discount-area {  
347 - @extend .discount-page;  
348 -  
349 - #list-nav {  
350 - border-top: 1px solid #e0e0e0;  
351 - border-bottom: 1px solid #e0e0e0;  
352 - }  
353 -  
354 - .list-nav li {  
355 - display: block;  
356 - height: 80px;  
357 - float: left;  
358 - line-height: 80px;  
359 - width: 24.8%;  
360 - text-align: center;  
361 - border-sizing: border-box;  
362 - position: relative;  
363 -  
364 - span {  
365 - padding-top: 0;  
366 - font-size: 28px;  
367 - }  
368 -  
369 - &.new:after,  
370 - &.price:after,  
371 - &.discount:after {  
372 - height: 28px;  
373 - content: '';  
374 - border-left: 1px solid #e0e0e0;  
375 - position: absolute;  
376 - top: 25px;  
377 - left: 163px;  
378 - }  
379 - }  
380 -  
381 - .active {  
382 - .cur {  
383 - color: #444;  
384 - }  
385 - }  
386 -  
387 - .list-nav .icon .up {  
388 - top: -28px;  
389 - }  
390 -  
391 - .list-nav .icon .down {  
392 - top: -14px;  
393 - }  
394 -  
395 - .goods-container {  
396 - padding-top: 30px;  
397 - padding-bottom: 100px;  
398 - }  
399 - }  
400 -  
401 - .search-area {  
402 - @extend .search-page;  
403 - }  
404 -  
405 - .hide {  
406 - display: none;  
407 - }  
408 -  
409 - .shop-foot-wrapper {  
410 - position: absolute;  
411 - bottom: 0;  
412 - display: table;  
413 - width: 100%;  
414 - height: 88px;  
415 - line-height: 88px;  
416 - font-size: 28px;  
417 - background: #fff;  
418 - border-top: 1px solid #e0e0e0;  
419 - z-index: 2;  
420 -  
421 -  
422 - ul {  
423 - display: table-row;  
424 - }  
425 -  
426 - li {  
427 - display: table-cell;  
428 - text-align: center;  
429 -  
430 - .wall {  
431 - width: 0;  
432 - height: 28px;  
433 - margin-top: 30px;  
434 - float: right;  
435 - border-right: 1px solid #e0e0e0;  
436 - display: inline-block;  
437 - }  
438 - }  
439 -  
440 - .sub-group {  
441 - position: absolute;  
442 - background: #fff;  
443 - border: 1px solid #e0e0e0;  
444 - border-radius: 12px;  
445 - bottom: 104px;  
446 - width: 40%;  
447 - margin-left: 5%;  
448 -  
449 - dl {  
450 - padding: 0 30px;  
451 - margin: 0 auto;  
452 - }  
453 -  
454 - dd {  
455 - line-height: 80px;  
456 - text-align: center;  
457 - border-top: 1px solid #e0e0e0;  
458 - white-space: nowrap;  
459 - overflow: hidden;  
460 - text-overflow: ellipsis;  
461 -  
462 - a {  
463 - color: #444;  
464 - }  
465 - }  
466 -  
467 - dd:first-child {  
468 - border-top: 0;  
469 - }  
470 - }  
471 -  
472 - .sharp {  
473 - position: absolute;  
474 - width: 100%;  
475 - height: 10px;  
476 - background: resolve('product/sharp.png') no-repeat center center;  
477 - }  
478 -  
479 - .foot-list-3 .sub-group {  
480 - width: 29%;  
481 - margin-left: 2%;  
482 - }  
483 - }  
484 -  
485 - .bytouch{  
486 - background:#eee;  
487 - }  
488 -  
489 - .new-arrival {  
490 - padding-top: 30px;  
491 - overflow: hidden;  
492 - padding-left: 15px;  
493 - background: #fff;  
494 - padding-bottom: 100px;  
495 - }  
496 -  
497 - .popularity {  
498 - padding-top: 30px;  
499 - overflow: hidden;  
500 - padding-left: 15px;  
501 - background: #fff;  
502 - padding-bottom: 100px;  
503 - }  
504 -  
505 - .pos-list {  
506 - @extend .discount-page;  
507 - background: #fff;  
508 - width: 100%;  
509 - overflow: hidden;  
510 -  
511 - li {  
512 - display: block;  
513 - height: 78px;  
514 - float: left;  
515 - line-height: 78px;  
516 - width: 24.8%;  
517 - text-align: center;  
518 - border-sizing: border-box;  
519 -  
520 - span {  
521 - font-size: 28px;  
522 - }  
523 -  
524 - a {  
525 - display: block;  
526 - box-sizing: border-box;  
527 - text-align: center;  
528 - width: 100%;  
529 - height: 100%;  
530 - color: #b0b0b0;  
531 -  
532 - /*b {  
533 - height: 28px;  
534 - border-left: 1px solid #e0e0e0;  
535 - float: right;  
536 - margin-top: 25px;  
537 - }*/  
538 - }  
539 - }  
540 -  
541 - .active .cur {  
542 - color: #444;  
543 - }  
544 -  
545 - .active a {  
546 - color: #444;  
547 - }  
548 -  
549 -  
550 - .new .iconfont {  
551 - transform: scale(0.8);  
552 - font-weight: bold;  
553 - }  
554 -  
555 - .price .iconfont {  
556 - transform: scale(0.8);  
557 - font-weight: bold;  
558 - }  
559 -  
560 - .filter .iconfont {  
561 - font-size: 22px;  
562 - transition: transform 0.1 ease-in;  
563 - }  
564 -  
565 - .filter.active .iconfont {  
566 - transform: rotate(-180deg);  
567 - }  
568 - }  
569 -  
570 - .pos-list .icon .up {  
571 - top: -28px;  
572 - }  
573 -  
574 - .pos-list .icon .down {  
575 - top: -14px;  
576 - }  
577 -  
578 - .category-list-top-board {  
579 - border-top: 1px solid #e0e0e0;  
580 - }  
581 -  
582 - .category-list-last-li {  
583 - border-right: 1px solid #e0e0e0;  
584 - }  
585 -  
586 - .category-list-only-one-row {  
587 - border-top: none!important;  
588 - }  
589 -}  
590 -  
591 -.shop-index + .filter-mask {  
592 - margin-top: 1px;  
593 -  
594 - .filter-body {  
595 - overflow: auto;  
596 - }  
597 -  
598 - .classify {  
599 - height: auto;  
600 - }  
601 -  
602 - &.call-by-fix {  
603 - top: 78px;  
604 - } 1 +.shop-index {
  2 + position: absolute;
  3 + top: 0;
  4 + bottom: 0;
  5 + left: 0;
  6 + right: 0;
  7 + overflow: hidden;
  8 +
  9 + .nav-main {
  10 + margin-bottom: 30px;
  11 + }
  12 +
  13 + .branner-top {
  14 + width: 100%;
  15 + height: 200px;
  16 + position: relative;
  17 + overflow: hidden;
  18 +
  19 + .shop-back-img {
  20 + height: 100%;
  21 + width: 100%;
  22 + }
  23 + }
  24 +
  25 + .logo {
  26 + position: absolute;
  27 + overflow: hidden;
  28 + left: 30px;
  29 + bottom: 30px;
  30 + width: 100px;
  31 + height: 100px;
  32 + }
  33 +
  34 + .store-name {
  35 + color: #fff;
  36 + font-size: 28px;
  37 + position: absolute;
  38 + overflow: hidden;
  39 + left: 148px;
  40 + bottom: 20px;
  41 + }
  42 +
  43 + .collect {
  44 + width: 128px;
  45 + height: 49px;
  46 + position: absolute;
  47 + bottom: 30px;
  48 + right: 30px;
  49 + border-radius: 10px;
  50 + text-align: center;
  51 + background-size: contain;
  52 + }
  53 +
  54 + .alreadyCollect{
  55 + width: 128px;
  56 + height: 50px;
  57 + border-radius: 10px;
  58 + background-image: url('/product/already-collect.png') no-repeat;
  59 + background-size: contain;
  60 + }
  61 +
  62 + .notCollect{
  63 + width: 128px;
  64 + height: 50px;
  65 + border-radius: 6px;
  66 + background-image: url('/product/not-collect.png') no-repeat;
  67 + background-size: contain;
  68 + }
  69 +
  70 + .nav {
  71 + width: 100%;
  72 + height: 88px;
  73 + margin: 0;
  74 + padding: 0;
  75 + border: 0;
  76 + font: inherit;
  77 + vertical-align: baseline;
  78 + list-style: none;
  79 + font-size: 28px;
  80 + background: #fff;
  81 + overflow: hidden;
  82 + border-sizing: border-box;
  83 + border-bottom: 1px solid #e0e0e0;
  84 + z-index: 2;
  85 +
  86 + li{
  87 + display: block;
  88 + height: 28px;
  89 + float: left;
  90 + line-height: 28px;
  91 + width: 24.7%;
  92 + text-align: center;
  93 + border-left: 1px solid #e0e0e0;
  94 + margin-top: 30px;
  95 + border-sizing: border-box;
  96 + color: #b0b0b0;
  97 +
  98 + &:first-child {
  99 + border-left: none;
  100 + }
  101 +
  102 + a {
  103 + color: #b0b0b0;
  104 + }
  105 + }
  106 +
  107 + .color {
  108 + color: #444;
  109 + }
  110 + }
  111 +
  112 + .main {
  113 + background: #f0f0f0;
  114 + padding-bottom: 40px;
  115 + overflow: hidden;
  116 +
  117 + .banner-swiper {
  118 + width: 640px;
  119 + height: 310px;
  120 + }
  121 + }
  122 +
  123 + .banner-area {
  124 + @extend .banner-top;
  125 + margin-bottom: 30px;
  126 + }
  127 +
  128 + .coupon {
  129 + width: 100%;
  130 + padding: 30px 0;
  131 + overflow: hidden;
  132 +
  133 + img {
  134 + width: 245px;
  135 + height: 120px;
  136 + vertical-align: top;
  137 + margin-left: 30px;
  138 + float: left;
  139 + }
  140 + }
  141 +
  142 + .multi-brands {
  143 + width: 100%;
  144 + height: 270px;
  145 + background: #fff;
  146 + border: 1px solid #e0e0e0;
  147 + border-top: none;
  148 + font-size: 20px;
  149 + text-align: center;
  150 + padding-top: 25px;
  151 + margin-bottom: 30px;
  152 + overflow: hidden;
  153 +
  154 + p {
  155 + font-size: 30px;
  156 + }
  157 + }
  158 +
  159 + .multi-browse {
  160 + margin-top: 50px;
  161 + }
  162 +
  163 + .brand-img {
  164 + margin-left: 30px;
  165 + width: 140px;
  166 + height: 150px;
  167 + overflow: hidden;
  168 + padding-bottom: 20px;
  169 + float: left;
  170 +
  171 + p {
  172 + font-size: 18px;
  173 + color: #b0b0b0;
  174 + padding-top: 10px;
  175 + height: 30px;
  176 + white-space: nowrap;
  177 + overflow: hidden;
  178 + text-overflow: ellipsis;
  179 + }
  180 +
  181 + img {
  182 + height: 120px;
  183 + }
  184 + }
  185 +
  186 + .spring {
  187 + margin: 0 15px;
  188 + overflow: hidden;
  189 +
  190 + li {
  191 + width: 50%;
  192 + height: 160px;
  193 + float: left;
  194 + text-align: center;
  195 + list-style: none;
  196 + display: list-item;
  197 +
  198 + img {
  199 + width: 275px;
  200 + height: inherit;
  201 + border-radius: 10px;
  202 + vertical-align: top;
  203 + }
  204 + }
  205 + }
  206 +
  207 + .hot-category .floor-header {
  208 + margin: 0;
  209 + }
  210 +
  211 + .popularity-title, .hot-category .floor-header {
  212 + background: #fff;
  213 + border-bottom: 1px solid #e0e0e0;
  214 + border-top: 1px solid #e0e0e0;
  215 + color: #444;
  216 + text-align: center;
  217 + height: 100px;
  218 + line-height: 100px;
  219 + font-size: 30px;
  220 + margin-top: 30px;
  221 + position: relative;
  222 + }
  223 +
  224 + .hot-category .floor-header {
  225 + border-bottom: none;
  226 + }
  227 +
  228 + .more {
  229 + position: absolute;
  230 + right: 30px;
  231 + top: 0;
  232 + bottom: 0;
  233 + color: #b0b0b0;
  234 + font-size: 50px;
  235 + font-family: "iconfont" !important;
  236 + font-style: normal;
  237 + text-decoration: none;
  238 + }
  239 +
  240 + .product-list {
  241 + margin-left: auto;
  242 + margin-right: auto;
  243 + width: 610px;
  244 + overflow: hidden;
  245 + background: #fff;
  246 + border-bottom: 30px solid #f0f0f0;
  247 +
  248 + li {
  249 + width: 275px;
  250 + height: 368px;
  251 + margin-top: 50px;
  252 + margin-left: 15px;
  253 + margin-right: 15px;
  254 + float: left;
  255 + text-align: center;
  256 + list-style: none;
  257 +
  258 + img {
  259 + width: 275px;
  260 + height: 368px;
  261 + vertical-align: top;
  262 + }
  263 + }
  264 + }
  265 +
  266 + .list-price {
  267 + height: 60px;
  268 + background: #aaaeac;
  269 + color: #FFFFFF;
  270 + font-size: 22px;
  271 + margin-top: -60px;
  272 + position: relative;
  273 + opacity: 0.90;
  274 + padding-left: 15px;
  275 +
  276 + p {
  277 + margin: 0;
  278 + line-height: 32px;
  279 + text-align: left;
  280 + overflow: hidden;
  281 + text-overflow: ellipsis;
  282 + white-space: nowrap;
  283 + }
  284 + }
  285 +
  286 + .red {
  287 + color: red;
  288 + }
  289 +
  290 + .icon {
  291 + position: relative;
  292 + color: #b0b0b0;
  293 +
  294 + i {
  295 + position: absolute;
  296 + }
  297 +
  298 + .up {
  299 + top: -5px;
  300 + left: 8px;
  301 + }
  302 +
  303 + .down {
  304 + top: 8px;
  305 + left: 8px;
  306 + }
  307 + }
  308 + .product-warp{
  309 + background-color: #fff;
  310 + }
  311 + .goods-container {
  312 + position: relative;
  313 + min-height: 440px;
  314 + /* padding-left: 15px; */
  315 + margin: 0 auto;
  316 + padding: 0 15PX;
  317 + width: 100%;
  318 + border-bottom: 1px solid #e0e0e0;
  319 +
  320 + .good-info {
  321 + width: 41.5%;
  322 +
  323 + &:nth-child(even) {
  324 + margin-right: 26px;
  325 + }
  326 + }
  327 + }
  328 +
  329 + .pos-list {
  330 + border-bottom: 1px solid #e6e6e6;
  331 +
  332 + li {
  333 + position: relative;
  334 + }
  335 +
  336 + .new .iconfont,
  337 + .price .iconfont,
  338 + .discount .iconfont {
  339 + transform: scale(0.8);
  340 + -webkit-transform: scale(0.8);
  341 + font-weight: bold;
  342 + }
  343 +
  344 + .new:after,
  345 + .price:after,
  346 + .discount:after {
  347 + height: 28px;
  348 + content: '';
  349 + border-left: 1px solid #e0e0e0;
  350 + position: absolute;
  351 + top: 25px;
  352 + left: 163px;
  353 + }
  354 + }
  355 +
  356 + .discount-area {
  357 + @extend .discount-page;
  358 +
  359 + #list-nav {
  360 + border-top: 1px solid #e0e0e0;
  361 + border-bottom: 1px solid #e0e0e0;
  362 + }
  363 +
  364 + .list-nav li {
  365 + display: block;
  366 + height: 80px;
  367 + float: left;
  368 + line-height: 80px;
  369 + width: 24.8%;
  370 + text-align: center;
  371 + border-sizing: border-box;
  372 + position: relative;
  373 +
  374 + span {
  375 + padding-top: 0;
  376 + font-size: 28px;
  377 + }
  378 +
  379 + &.new:after,
  380 + &.price:after,
  381 + &.discount:after {
  382 + height: 28px;
  383 + content: '';
  384 + border-left: 1px solid #e0e0e0;
  385 + position: absolute;
  386 + top: 25px;
  387 + left: 163px;
  388 + }
  389 + }
  390 +
  391 + .active {
  392 + .cur {
  393 + color: #444;
  394 + }
  395 + }
  396 +
  397 + .list-nav .icon .up {
  398 + top: -28px;
  399 + }
  400 +
  401 + .list-nav .icon .down {
  402 + top: -14px;
  403 + }
  404 +
  405 + .goods-container {
  406 + padding-top: 30px;
  407 + padding-bottom: 100px;
  408 + }
  409 + }
  410 +
  411 + .search-area {
  412 + @extend .search-page;
  413 + }
  414 +
  415 + .hide {
  416 + display: none;
  417 + }
  418 +
  419 + .shop-foot-wrapper {
  420 + position: absolute;
  421 + bottom: 0;
  422 + display: table;
  423 + width: 100%;
  424 + height: 88px;
  425 + line-height: 88px;
  426 + font-size: 28px;
  427 + background: #fff;
  428 + border-top: 1px solid #e0e0e0;
  429 + z-index: 2;
  430 +
  431 +
  432 + ul {
  433 + display: table-row;
  434 + }
  435 +
  436 + li {
  437 + display: table-cell;
  438 + text-align: center;
  439 +
  440 + .wall {
  441 + width: 0;
  442 + height: 28px;
  443 + margin-top: 30px;
  444 + float: right;
  445 + border-right: 1px solid #e0e0e0;
  446 + display: inline-block;
  447 + }
  448 + }
  449 +
  450 + .sub-group {
  451 + position: absolute;
  452 + background: #fff;
  453 + border: 1px solid #e0e0e0;
  454 + border-radius: 12px;
  455 + bottom: 104px;
  456 + width: 40%;
  457 + margin-left: 5%;
  458 +
  459 + dl {
  460 + padding: 0 30px;
  461 + margin: 0 auto;
  462 + }
  463 +
  464 + dd {
  465 + line-height: 80px;
  466 + text-align: center;
  467 + border-top: 1px solid #e0e0e0;
  468 + white-space: nowrap;
  469 + overflow: hidden;
  470 + text-overflow: ellipsis;
  471 +
  472 + a {
  473 + color: #444;
  474 + }
  475 + }
  476 +
  477 + dd:first-child {
  478 + border-top: 0;
  479 + }
  480 + }
  481 +
  482 + .sharp {
  483 + position: absolute;
  484 + width: 100%;
  485 + height: 10px;
  486 + background: resolve('product/sharp.png') no-repeat center center;
  487 + }
  488 +
  489 + .foot-list-3 .sub-group {
  490 + width: 29%;
  491 + margin-left: 2%;
  492 + }
  493 + }
  494 +
  495 + .bytouch{
  496 + background:#eee;
  497 + }
  498 +
  499 + .new-arrival {
  500 + padding-top: 30px;
  501 + overflow: hidden;
  502 + padding-left: 15px;
  503 + background: #fff;
  504 + padding-bottom: 100px;
  505 + }
  506 +
  507 + .popularity {
  508 + padding-top: 30px;
  509 + overflow: hidden;
  510 + padding-left: 15px;
  511 + background: #fff;
  512 + padding-bottom: 100px;
  513 + }
  514 +
  515 + .pos-list {
  516 + @extend .discount-page;
  517 + background: #fff;
  518 + width: 100%;
  519 + overflow: hidden;
  520 +
  521 + li {
  522 + display: block;
  523 + height: 78px;
  524 + float: left;
  525 + line-height: 78px;
  526 + width: 24.8%;
  527 + text-align: center;
  528 + border-sizing: border-box;
  529 +
  530 + span {
  531 + font-size: 28px;
  532 + }
  533 +
  534 + a {
  535 + display: block;
  536 + box-sizing: border-box;
  537 + text-align: center;
  538 + width: 100%;
  539 + height: 100%;
  540 + color: #b0b0b0;
  541 +
  542 + /*b {
  543 + height: 28px;
  544 + border-left: 1px solid #e0e0e0;
  545 + float: right;
  546 + margin-top: 25px;
  547 + }*/
  548 + }
  549 + }
  550 +
  551 + .active .cur {
  552 + color: #444;
  553 + }
  554 +
  555 + .active a {
  556 + color: #444;
  557 + }
  558 +
  559 +
  560 + .new .iconfont {
  561 + transform: scale(0.8);
  562 + font-weight: bold;
  563 + }
  564 +
  565 + .price .iconfont {
  566 + transform: scale(0.8);
  567 + font-weight: bold;
  568 + }
  569 +
  570 + .filter .iconfont {
  571 + font-size: 22px;
  572 + transition: transform 0.1 ease-in;
  573 + }
  574 +
  575 + .filter.active .iconfont {
  576 + transform: rotate(-180deg);
  577 + }
  578 + }
  579 +
  580 + .pos-list .icon .up {
  581 + top: -28px;
  582 + }
  583 +
  584 + .pos-list .icon .down {
  585 + top: -14px;
  586 + }
  587 +
  588 + .category-list-top-board {
  589 + border-top: 1px solid #e0e0e0;
  590 + }
  591 +
  592 + .category-list-last-li {
  593 + border-right: 1px solid #e0e0e0;
  594 + }
  595 +
  596 + .category-list-only-one-row {
  597 + border-top: none!important;
  598 + }
  599 +
  600 + .hot-category .category-list li {
  601 + width: 25%;
  602 + box-sizing: border-box;
  603 + }
  604 +}
  605 +
  606 +.shop-index + .filter-mask {
  607 + margin-top: 1px;
  608 +
  609 + .filter-body {
  610 + overflow: auto;
  611 + }
  612 +
  613 + .classify {
  614 + height: auto;
  615 + }
  616 +
  617 + &.call-by-fix {
  618 + top: 78px;
  619 + }
605 } 620 }
  1 +@charset "utf-8";
  2 +
  3 +@use postcss-clearfix;
  4 +
  5 +html, body, div, span, applet, object, iframe,
  6 +h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  7 +a, abbr, acronym, address, big, cite, code,
  8 +del, dfn, em, img, ins, kbd, q, s, samp,
  9 +small, strike, strong, sub, sup, tt, var,
  10 +b, u, i, center,
  11 +dl, dt, dd, ol, ul, li,
  12 +fieldset, form, label, legend,
  13 +table, caption, tbody, tfoot, thead, tr, th, td,
  14 +article, aside, canvas, details, embed,
  15 +figure, figcaption, footer, header, hgroup,
  16 +menu, nav, output, ruby, section, summary,
  17 +time, mark, audio, video {
  18 + margin: 0;
  19 + padding: 0;
  20 + border: 0;
  21 + font: inherit;
  22 + font-size: 100%;
  23 + vertical-align: baseline;
  24 +}
  25 +
  26 +html {
  27 + line-height: 1;
  28 +}
  29 +
  30 +ol, ul {
  31 + list-style: none;
  32 +}
  33 +
  34 +table {
  35 + border-collapse: collapse;
  36 + border-spacing: 0;
  37 +}
  38 +
  39 +caption, th, td {
  40 + text-align: left;
  41 + font-weight: normal;
  42 + vertical-align: middle;
  43 +}
  44 +
  45 +q, blockquote {
  46 + quotes: none;
  47 +}
  48 +
  49 +q:before, q:after, blockquote:before, blockquote:after {
  50 + content: "";
  51 + content: none;
  52 +}
  53 +
  54 +a img {
  55 + border: none;
  56 +}
  57 +
  58 +article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  59 + display: block;
  60 +}
  61 +/*Reset End*/
  62 +
  63 +.clearfix {
  64 + clear: fix;
  65 +}
  66 +
  67 +* {
  68 + -webkit-tap-highlight-color: rgba(0,0,0,0);
  69 + -moz-tap-highlight-color: rgba(0,0,0,0);
  70 + tap-highlight-color: rgba(0,0,0,0);
  71 +}
  72 +
  73 +html, body {
  74 + font-family: helvetica,Arial,"黑体";
  75 + width: 100%;
  76 + font-size: 12PX;
  77 + line-height: 1.4;
  78 +}
  79 +
  80 +button, input, select, textarea {
  81 + font-size: 100%;
  82 + margin: 0;
  83 +}
  84 +
  85 +img {
  86 + max-width: 100%;
  87 + display: block;
  88 + border: 0;
  89 + margin: 0 auto;
  90 +}
  91 +
  92 +a {
  93 + text-decoration: none;
  94 + outline: none;
  95 + color: #000;
  96 +
  97 + &:link,
  98 + &:visited,
  99 + &:hover,
  100 + &:actived {
  101 + color: #111;
  102 + }
  103 +}
  104 +
  105 +/* 屏蔽统计代码对样式的影响 */
  106 +iframe[height="0"] {
  107 + display: none;
  108 +}
  109 +
  110 +*:focus {
  111 + outline: none;
  112 +}
  113 +
  114 +.hide {
  115 + display: none;
  116 +}
  117 +
  118 +.overflow-hidden {
  119 + overflow: hidden;
  120 +}
  121 +
  122 +@font-face {
  123 + font-family: "iconfont";
  124 + src: resolve('iconfont.eot'); /* IE9*/
  125 + src: resolve('iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
  126 + resolve('iconfont.woff') format('woff'), /* chrome、firefox */
  127 + resolve('iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
  128 + resolve('iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */
  129 +}
  130 +
  131 +.iconfont {
  132 + font-family: "iconfont" !important;
  133 + font-size: 16PX;
  134 + font-style: normal;
  135 + text-decoration: none;
  136 + -webkit-font-smoothing: antialiased;
  137 + -webkit-text-stroke-width: 0.2PX;
  138 + -moz-osx-font-smoothing: grayscale;
  139 +}
  140 +
  141 +.yoho-tip {
  142 + position: fixed;
  143 + display: none;
  144 + text-align: center;
  145 + width: 70%;
  146 + padding: 34PX 0;
  147 + top: 50%;
  148 + left: 50%;
  149 + margin-left: -35%;
  150 + margin-top: -45PX;
  151 + background-color: rgba(0,0,0,.7);
  152 + color: #fff;
  153 + font-size: 18PX;
  154 + border: none;
  155 + z-index:4;
  156 + border-radius: 10PX;
  157 +}
  158 +
  159 +.tap-hightlight {
  160 + &.highlight {
  161 + background: #eee!important;
  162 + }
  163 +}
  164 +
  165 +.load-more-info {
  166 + width: 100%;
  167 + height: 70px;
  168 + line-height: 70px;
  169 + text-align: center;
  170 + font-size: 14PX;
  171 + overflow: hidden;
  172 +
  173 + .status {
  174 + &.hide {
  175 + display: none;
  176 + }
  177 + }
  178 +}
  179 +
  180 +@import "layout/header";
  181 +@import "layout/footer";
  182 +@import "layout/footer_tab";
  183 +@import "good";
  184 +@import "lazy-failure";
  185 +@import "filter";
  186 +@import "loading";
  187 +@import "index/index";
  188 +@import "home/index";
  189 +@import "category/index";
  190 +@import "product/index";
  191 +@import "shop/index";
@@ -30,7 +30,9 @@ @@ -30,7 +30,9 @@
30 <!-- /tar modifield 160826 --> 30 <!-- /tar modifield 160826 -->
31 <div class="branner-top"> 31 <div class="branner-top">
32 <img class="shop-back-img" src="{{branerImg}}"> 32 <img class="shop-back-img" src="{{branerImg}}">
33 - <img class="logo" src="{{logoImg}}"> 33 + {{#if logoImg}}
  34 + <img class="logo" src="{{logoImg}}">
  35 + {{/if}}
34 <p class="store-name">{{storeName}}</p> 36 <p class="store-name">{{storeName}}</p>
35 <div class="collect"> 37 <div class="collect">
36 {{#if collect}} 38 {{#if collect}}
1 <!-- Google Tag Manager --> 1 <!-- Google Tag Manager -->
  2 +{{#unless isApp}}
2 <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-W958MG" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 3 <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-W958MG" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
3 <script> 4 <script>
4 var _hmt = _hmt || []; 5 var _hmt = _hmt || [];
@@ -17,3 +18,4 @@ @@ -17,3 +18,4 @@
17 } 18 }
18 window.addEventListener('load', async_load, false); 19 window.addEventListener('load', async_load, false);
19 </script> 20 </script>
  21 +{{/unless}}
@@ -27,16 +27,32 @@ @@ -27,16 +27,32 @@
27 <link rel="dns-prefetch" href="//img12.static.yhbimg.com"> 27 <link rel="dns-prefetch" href="//img12.static.yhbimg.com">
28 <link rel="dns-prefetch" href="//img13.static.yhbimg.com"> 28 <link rel="dns-prefetch" href="//img13.static.yhbimg.com">
29 {{#if rlsEnv}} 29 {{#if rlsEnv}}
30 -<link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/{{version}}/index.css"> 30 + {{#if shopPager}}
  31 + <link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/{{version}}/shop.css">
  32 + {{^}}
  33 + <link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/{{version}}/index.css">
  34 + {{/if}}
31 {{/if}} 35 {{/if}}
32 {{#if preEnv}} 36 {{#if preEnv}}
33 -<link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/{{version}}/index.css"> 37 + {{#if shopPager}}
  38 + <link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/{{version}}/shop.css">
  39 + {{^}}
  40 + <link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/{{version}}/index.css">
  41 + {{/if}}
34 {{/if}} 42 {{/if}}
35 {{#if testEnv}} 43 {{#if testEnv}}
36 -<link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/{{version}}/index.css"> 44 + {{#if shopPager}}
  45 + <link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/{{version}}/shop.css">
  46 + {{^}}
  47 + <link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/{{version}}/index.css">
  48 + {{/if}}
37 {{/if}} 49 {{/if}}
38 {{#if devEnv}} 50 {{#if devEnv}}
39 -<link rel="stylesheet" href="//static.dev.yohobuy.com/css/index.css"> 51 + {{#if shopPager}}
  52 + <link rel="stylesheet" href="//static.dev.yohobuy.com/css/shop.css">
  53 + {{^}}
  54 + <link rel="stylesheet" href="//static.dev.yohobuy.com/css/index.css">
  55 + {{/if}}
40 {{/if}} 56 {{/if}}
41 <link rel="apple-touch-icon-precomposed" href="//static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png"> 57 <link rel="apple-touch-icon-precomposed" href="//static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png">
42 <link rel="apple-touch-startup-image" sizes="640x920" href="//static.yohobuy.com/m/v1/img/startup/startup-retina.png" media="screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)"> 58 <link rel="apple-touch-startup-image" sizes="640x920" href="//static.yohobuy.com/m/v1/img/startup/startup-retina.png" media="screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)">
@@ -514,7 +514,8 @@ class IndexController extends AbstractAction @@ -514,7 +514,8 @@ class IndexController extends AbstractAction
514 ), 514 ),
515 'gender' => $data['gender'], 515 'gender' => $data['gender'],
516 'coverChannel' => $coverChannel, 516 'coverChannel' => $coverChannel,
517 - 'appVersion' => !empty($appVersion) 517 + 'appVersion' => !empty($appVersion),
  518 + 'shopPager' => true
518 )); 519 ));
519 520
520 } 521 }