/** * 国际优选 * @author: zxr<xiaoru.zhang@yoho.cn> * @date: 2016/09/12 */ 'use strict'; const mRoot = '../models'; const plustarModel = require(`${mRoot}/plustar`); const htmlProcess = require(`${global.utils}/html-process`); const headerModel = require('../../../doraemon/models/header'); // 头部model const _ = require('lodash'); let channels = { boys: '1,3', girl: '2,3', kids: '3,3', lifestyle: '4' }; let yhChannel = { boys: 1, girl: 2 }; const getListData = (req, res, next) => { let gender = req.query.gender || req.cookies._Channel && channels[req.cookies._Channel] || '1,3'; let recom = '4'; let all = '1'; let type = req.query.type; let channel = req.cookies._Channel && yhChannel[req.cookies._Channel] || 1; let isRecommend = '0'; let starBrand = '2'; let originalBrand = '3'; if (type === '2') { plustarModel.getBrandsData(gender, starBrand, originalBrand, channel, isRecommend).then((result) => { _.forEach(result, r => { let list = r.list || []; let head3 = _.take(list, 3); _.forEach(head3, d => d._noLazy = true); }); res.render('plustar/list', { module: 'guang', page: 'plustar-list', title: '明星原创', pageHeader: headerModel.setNav({ navTitle: '明星原创' }), pageFooter: true, ps: result, localCss: true }); }).catch(next); } else { plustarModel.getListData(gender, recom, all).then((result) => { _.forEach(result, r => { let list = r.list || []; let head3 = _.take(list, 3); _.forEach(head3, d => d._noLazy = true); }); res.render('plustar/list', { module: 'guang', page: 'plustar-list', title: '国际优选', pageHeader: headerModel.setNav({ navTitle: '国际优选' }), pageFooter: true, ps: result, localCss: true }); }).catch(next); } }; const getDetailData = (req, res, next) => { let id = req.query.id; let uid = ''; let udid = req.sessionID || 'yoho'; let gender = req.query.gender || req.cookies._Channel && channels[req.cookies._Channel] || '1,3'; let isApp = req.query.app_version || req.query.appVersion || false; let clientType = (req.body.client_type || '').toLowerCase(); let userAgent = req.get('User-Agent'); let isWeixin = userAgent.includes('MicroMessenger'); // 标识是否是微信访问 if (isApp) { if (req.query.uid) { uid = req.query.uid; } } else { uid = req.user.uid; } if (clientType === 'ios' && isApp) { clientType = 'iphone'; } else if (clientType === 'android' && isApp) { clientType = 'android'; } else { clientType = 'h5'; } plustarModel.getDetailData(id, uid, udid, gender, isApp, clientType).then((result) => { result.brand_intro = htmlProcess.removeHtml(result.brand_intro); if (!isApp & !isWeixin) { res.render('plustar/detail', { module: 'guang', page: 'plustar-detail', title: result.brand_name, pageHeader: headerModel.setNav({ navTitle: result.brand_name }), ps: result, localCss: true }); } else { res.render('plustar/detail', { module: 'guang', page: 'plustar-detail', title: result.brand_name, ps: result, uid: uid, isApp: isApp ? true : false, localCss: true }); } }).catch(next); }; /** * [品牌详情异步数据] */ const getDetailDataAsync = (req, res, next) => { let uid; let udid = req.sessionID || 'yoho'; let clientType = req.body.client_type || ''; let brandId = req.body.brand_id || 0; let isApp = req.body.isApp || false; if (isApp) { if (req.body.uid) { uid = parseInt(req.body.uid, 10); } } else { uid = parseInt(req.user.uid, 10); } if (!brandId) { return res.json({code: 400, message: '参数错误'}); } plustarModel.getDetailDataAsync(brandId, uid, udid, clientType, isApp).then((result) => { res.json({ isLike: result.isLike, infos: result.infos }); }).catch(next); }; module.exports = { getListData, getDetailData, getDetailDataAsync };