qrcode.js 1.77 KB
/**
 * 个人中心二维码 controller
 * @author: weiqingting<qingting.wei@yoho.cn>
 * @date: 2016/05/16
 */

'use strict';

const QRcodeModel = require('../models/qrcode-api');
const helpers = global.yoho.helpers;

exports.QRcode = (req, res, next) => {
    let id = req.query.orderCode || 0;

    let bg = {
        '16-1': '//img13.static.yhbimg.com/yhb-img02/2016/08/04/14/02004edaf02b52363c27cea0e2cbbe9b59.jpg',
        '17-1': '//img12.static.yhbimg.com/yhb-img02/2016/08/04/14/023d0470ffc2b0efe89bfdd1c6b73ab894.jpg',
        '16-2': '//img12.static.yhbimg.com/yhb-img02/2016/08/04/14/02fcb3d6cdd6be244c836c520a0d034fed.jpg',
        '17-2': '//img12.static.yhbimg.com/yhb-img02/2016/08/04/14/02ed77b564211c3246ab7be81794ed17cd.jpg'
    };

    let bgkey = '16-1', ticktypeName = '展览票';

    QRcodeModel.getQRcodeData(id, req.user.uid).then((result)=>{
        if (result) {
            result.ticks = result.ticks.map(item=>{
                if (+item.ticket_type === 2) {
                    item.isgroup = true;
                }
                return item;
            });
            if (result.ticks.length) {
                bgkey = [/月(\d+)/g.exec(result.ticks[0].entrance_time)[1], result.ticks[0].ticket_type].join('-');
                ticktypeName = result.ticks[0].ticket_type === '2' ? '套票' : '展览票';
            }
        }

        let vm = {
            path: [{href: helpers.urlFormat('/'), name: 'YOHO!BUY 有货首页'},
                {name: '个人中心'}, {name: '订单中心'}, {name: '查看二维码'}],
            qrcodeData: result,
            code: id,
            bgsrc: bg[bgkey],
            ticktypeName: ticktypeName,
            returnOrder: helpers.urlFormat('/home/orders')
        };

        res.render('QRcode', vm);
    }).catch(next);
};