Authored by yyq

登录状态判断中间件

@@ -98,7 +98,7 @@ exports.consults = (req, res, next) => { @@ -98,7 +98,7 @@ exports.consults = (req, res, next) => {
98 }; 98 };
99 99
100 /** 100 /**
101 - * 咨询提交 101 + * 咨询表单
102 */ 102 */
103 exports.consultform = (req, res) => { 103 exports.consultform = (req, res) => {
104 let headerData = headerModel.setNav({ 104 let headerData = headerModel.setNav({
@@ -112,3 +112,27 @@ exports.consultform = (req, res) => { @@ -112,3 +112,27 @@ exports.consultform = (req, res) => {
112 pageFooter: true 112 pageFooter: true
113 }); 113 });
114 }; 114 };
  115 +
  116 +/**
  117 + * 咨询提交接口
  118 + */
  119 +exports.consultsubmit = (req, res, next) => {
  120 + let data = {
  121 + code: 400,
  122 + message: '请输入咨询内容',
  123 + data: ''
  124 + };
  125 +
  126 + // 判断参数是否存在
  127 + if (!req.body.product_id || !req.body.content) {
  128 + return res.json(data);
  129 + }
  130 +
  131 + ccModel.addConsult(req.user.uid, req.body.product_id, req.body.content).then((result) => {
  132 +
  133 + if (result) {
  134 + Object.assign(data, result);
  135 + }
  136 + return res.json(data);
  137 + }).catch(next);
  138 +};
@@ -95,6 +95,23 @@ let consults = (params) => { @@ -95,6 +95,23 @@ let consults = (params) => {
95 }); 95 });
96 }; 96 };
97 97
  98 +let addConsult = (uid, productId, content) => {
  99 + let params = {
  100 + method: 'h5.consult.add',
  101 + product_id: productId,
  102 + content: content,
  103 + uid: uid
  104 + };
  105 +
  106 + return api.post('', params).then(result => {
  107 + if (result.code !== 200) {
  108 + return false;
  109 + }
  110 + return result;
  111 + });
  112 +};
  113 +
98 module.exports = { 114 module.exports = {
99 - consults // 商品详情相关-购买咨询 115 + consults, // 商品详情相关-购买咨询
  116 + addConsult // 商品详情相关-添加咨询
100 }; 117 };
@@ -7,6 +7,9 @@ @@ -7,6 +7,9 @@
7 'use strict'; 7 'use strict';
8 8
9 const router = require('express').Router(); // eslint-disable-line 9 const router = require('express').Router(); // eslint-disable-line
  10 +
  11 +const auth = require('../../doraemon/middleware/auth');
  12 +
10 const cRoot = './controllers'; 13 const cRoot = './controllers';
11 14
12 // 商品详情controller 15 // 商品详情controller
@@ -21,12 +24,13 @@ const outlet = require(`${cRoot}/outlet`); @@ -21,12 +24,13 @@ const outlet = require(`${cRoot}/outlet`);
21 // routers 24 // routers
22 25
23 // /pro_136349_455445/HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html 26 // /pro_136349_455445/HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html
24 -router.get(/\/pro_([\d]+)_([\d]+)\/(.*)/, detail.index);  
25 -router.get('/detail/intro/:productskn', detail.intro);  
26 -router.get('/detail/preference', detail.preference);  
27 -router.get('/detail/consults', detail.consults);  
28 -router.get('/detail/consultform', detail.consultform); 27 +router.get(/\/pro_([\d]+)_([\d]+)\/(.*)/, detail.index); // 商品详情页
  28 +router.get('/detail/intro/:productskn', detail.intro); // 商品内嵌页
  29 +router.get('/detail/preference', detail.preference); // 为你优选
  30 +router.get('/detail/consults', detail.consults); // 商品咨询页
  31 +router.get('/detail/consultform', auth, detail.consultform); // 商品咨询表单页
29 router.get('/detail/comments', detail.preference); 32 router.get('/detail/comments', detail.preference);
  33 +router.post('/detail/consultsubmit', auth, detail.consultsubmit); // 商品咨询提交接口
30 34
31 router.get('/sale', sale.index); 35 router.get('/sale', sale.index);
32 router.get('/sale/discount', sale.discount); 36 router.get('/sale/discount', sale.discount);
@@ -3,9 +3,23 @@ @@ -3,9 +3,23 @@
3 * @author: xuqi<qi.xu@yoho.cn> 3 * @author: xuqi<qi.xu@yoho.cn>
4 * @date: 2016/4/25 4 * @date: 2016/4/25
5 */ 5 */
6 -  
7 'use strict'; 6 'use strict';
8 7
  8 +const helpers = global.yoho.helpers;
  9 +
9 module.exports = (req, res, next) => { 10 module.exports = (req, res, next) => {
  11 + if (!req.user.uid) {
  12 + if (req.xhr) {
  13 + return res.json({
  14 + code: 400,
  15 + message: '抱歉,您暂未登录!'
  16 + });
  17 + }
  18 +
  19 + res.redirect(helpers.urlFormat('/signin.html', {
  20 + refer: req.originalUrl
  21 + }));
  22 + }
  23 +
10 next(); 24 next();
11 }; 25 };
@@ -122,6 +122,7 @@ $('#limit-sale').on('touchend', function(e) { @@ -122,6 +122,7 @@ $('#limit-sale').on('touchend', function(e) {
122 122
123 require('./detail/desc'); 123 require('./detail/desc');
124 require('./detail/comments-consults'); 124 require('./detail/comments-consults');
  125 +require('./detail/consultform');
125 require('./detail/recommend-for-you-product-desc'); 126 require('./detail/recommend-for-you-product-desc');
126 127
127 // 购物车商品数量 128 // 购物车商品数量