Authored by 姜枫

fix list ssr

@@ -46,6 +46,7 @@ if (app.locals.devEnv) { @@ -46,6 +46,7 @@ if (app.locals.devEnv) {
46 app.use(devtools()); 46 app.use(devtools());
47 } 47 }
48 48
  49 +
49 app.use(global.yoho.hbs({ 50 app.use(global.yoho.hbs({
50 extname: '.hbs', 51 extname: '.hbs',
51 defaultLayout: 'layout', 52 defaultLayout: 'layout',
@@ -5,18 +5,33 @@ @@ -5,18 +5,33 @@
5 'use strict'; 5 'use strict';
6 6
7 const searchModel = require('../models/search'); 7 const searchModel = require('../models/search');
  8 +const _ = require('lodash');
8 9
9 10
10 /* 搜索 页面 */ 11 /* 搜索 页面 */
11 exports.index = (req, res, next) => { 12 exports.index = (req, res, next) => {
12 const params = req.query; 13 const params = req.query;
13 14
  15 + params.page = 1;
  16 + params.limit = 4;
14 searchModel.products(params).then(result => { 17 searchModel.products(params).then(result => {
  18 + let list = result && result.data ? result.data.product_list : [];
  19 +
  20 + _.forEach(list, d => {
  21 + d.goodsList = d.goods_list;
  22 + d.productId = d.product_id;
  23 + d.goodsId = d.goods_id;
  24 + d.cnAlphabet = d.cn_alphabet;
  25 +
  26 + _.forEach(d.goodsList, g => {
  27 + g.goodsId = g.goods_id;
  28 + });
  29 + });
15 res.render('product-list', { 30 res.render('product-list', {
16 navTitle: params.title || params.sort_name, 31 navTitle: params.title || params.sort_name,
17 module: 'product', 32 module: 'product',
18 page: 'list', 33 page: 'list',
19 - list: result && result.data ? result.data.productList : [] 34 + list: list
20 }); 35 });
21 }).catch(next); 36 }).catch(next);
22 }; 37 };
1 -<div id="ssr" style="position: absolute; top: 0;"> 1 +<div id="ssr" style="position: absolute; top: 0; width: 100%;">
2 <div class="blk-header-wrap" class="is-fixed"> 2 <div class="blk-header-wrap" class="is-fixed">
3 <div class="blk-header"> 3 <div class="blk-header">
4 <div class="blk-header-left"> 4 <div class="blk-header-left">
@@ -43,19 +43,19 @@ @@ -43,19 +43,19 @@
43 <li class="card"> 43 <li class="card">
44 <div class="card-pic"> 44 <div class="card-pic">
45 <a href="{{goodsUrl this}}"> 45 <a href="{{goodsUrl this}}">
46 - <img src="{{resizeImage defaultImages 372 499}}" alt="{{productName}}"> 46 + <img src="{{resizeImage default_images 372 499}}" alt="{{product_name}}">
47 </a> 47 </a>
48 </div> 48 </div>
49 <div class="card-bd"> 49 <div class="card-bd">
50 <h2 class="card-label"> 50 <h2 class="card-label">
51 - <a href="{{goodsUrl this}}" class="line-clamp-2">{{productName}}</a> 51 + <a href="{{goodsUrl this}}" class="line-clamp-2">{{product_name}}</a>
52 </h2> 52 </h2>
53 {{#if marketPrice}} 53 {{#if marketPrice}}
54 <span class="good-price" class="old-price"> 54 <span class="good-price" class="old-price">
55 - ¥ {{toFixed marketPrice}} 55 + ¥ {{toFixed market_price}}
56 </span> 56 </span>
57 {{/if}} 57 {{/if}}
58 - <span class="good-price {{#if marketPrice}}sale-price{{/if}}">¥ {{toFixed salesPrice}}</span> 58 + <span class="good-price {{#if market_price}}sale-price{{/if}}">¥ {{toFixed sales_price}}</span>
59 </div> 59 </div>
60 </li> 60 </li>
61 {{/list}} 61 {{/list}}
@@ -93,10 +93,10 @@ @@ -93,10 +93,10 @@
93 if (result.length) { 93 if (result.length) {
94 dataCache[param] = result; 94 dataCache[param] = result;
95 } 95 }
96 - 96 +
97 setTimeout(()=> { 97 setTimeout(()=> {
98 $('#ssr').remove(); 98 $('#ssr').remove();
99 - }, 2000); 99 + }, 1000);
100 }).fail(() => { 100 }).fail(() => {
101 tip('网络错误'); 101 tip('网络错误');
102 }); 102 });
@@ -116,12 +116,11 @@ @@ -116,12 +116,11 @@
116 }) 116 })
117 .always(() => { 117 .always(() => {
118 self.inSearching = false; 118 self.inSearching = false;
119 - 119 +
120 // 完成后删除服务端渲染的元素 120 // 完成后删除服务端渲染的元素
121 setTimeout(()=> { 121 setTimeout(()=> {
122 -  
123 $('#ssr').remove(); 122 $('#ssr').remove();
124 - }); 123 + }, 500);
125 }); 124 });
126 }, 125 },
127 126