Authored by yyq

download app

  1 +/**
  2 + * 下载app页controller
  3 + * @author: yyq<yanqing.yang@yoho.cn>
  4 + * @date: 2017/3/27
  5 + */
  6 +'use strict';
  7 +
  8 +const headerModel = require('../../../doraemon/models/header');
  9 +
  10 +const index = (req, res, next) => {
  11 + let channel = req.cookies._Channel || 'boys';
  12 +
  13 + headerModel.requestHeaderData(channel).then(result => {
  14 + res.render('app', result);
  15 + }).catch(next);
  16 +};
  17 +
  18 +module.exports = {
  19 + index
  20 +};
  1 +/**
  2 + * sub app download
  3 + * @author: yyq<yanqing.yang@yoho.cn>
  4 + * @date: 2017/03/27
  5 + */
  6 +
  7 +var express = require('express'),
  8 + path = require('path');
  9 +
  10 +var app = express();
  11 +
  12 +// set view engin
  13 +var doraemon = path.join(__dirname, '../../doraemon/views'); // parent view root
  14 +
  15 +app.on('mount', function(parent) {
  16 + delete parent.locals.settings; // 不继承父 App 的设置
  17 + Object.assign(app.locals, parent.locals);
  18 +});
  19 +
  20 +app.use(global.yoho.hbs({
  21 + extname: '.hbs',
  22 + defaultLayout: 'layout',
  23 + layoutsDir: doraemon,
  24 + partialsDir: [path.join(__dirname, 'views/partial')],
  25 + views: path.join(__dirname, 'views/action'),
  26 + helpers: global.yoho.helpers
  27 +}));
  28 +
  29 +// router
  30 +app.use(require('./router'));
  31 +
  32 +module.exports = app;
  1 +/**
  2 + * router of sub app download
  3 + * @author: yyq<yanqing.yang@yoho.cn>
  4 + * @date: 2017/03/27
  5 + */
  6 +
  7 +'use strict';
  8 +
  9 +const router = require('express').Router(); // eslint-disable-line
  10 +const cRoot = './controllers';
  11 +
  12 +const appCtrl = require(`${cRoot}/app`);
  13 +
  14 +router.get('/app', appCtrl.index);
  15 +
  16 +module.exports = router;
  1 +<div class="app-download-page download-page yoho-page">
  2 + <div class="top-wrapper">
  3 + <div class="top-down">
  4 + <a href="http://itunes.apple.com/us/app/id490655927?ls=1&amp;mt=8" target="_blank" class="down-btns"></a>
  5 + <a href="http://yoho-apps.qiniudn.com/YohoBuy_YOHO.apk" target="_blank" class="down-btns"></a>
  6 + </div>
  7 + </div>
  8 + <div class="main-wrapper">
  9 + {{#if devEnv}}
  10 + <div class="intro intro-1">
  11 + <img src="//{{devHost}}:5002/img/download/intro-1.png?random=1466056691">
  12 + </div>
  13 + <div class="intro intro-2">
  14 + <img src="//{{devHost}}:5002/img/download/intro-2.png?random=1466056691">
  15 + </div>
  16 + <div class="intro intro-3">
  17 + <img src="//{{devHost}}:5002/img/download/intro-3.png?random=1466056691">
  18 + </div>
  19 + <div class="intro intro-4">
  20 + <img src="//{{devHost}}:5002/img/download/intro-4.png?random=1466056691">
  21 + </div>
  22 + <div class="intro intro-5">
  23 + <img src="//{{devHost}}:5002/img/download/intro-5.png?random=1466056691">
  24 + </div>
  25 + <div class="intro intro-6">
  26 + <img src="//{{devHost}}:5002/img/download/intro-6.jpg?random=1466056691">
  27 + <div class="bottom-down">
  28 + <div class="qr-code right"></div>
  29 + <a href="http://itunes.apple.com/us/app/id490655927?ls=1&amp;mt=8" target="_blank" class="down-app-btn down-btns"></a>
  30 + <a href="http://yoho-apps.qiniudn.com/YohoBuy_YOHO.apk" target="_blank" class="down-apk-btn down-btns"></a>
  31 + </div>
  32 + </div>
  33 + {{^}}
  34 + <div class="intro intro-1">
  35 + <img src="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy/assets/img/download/intro-1.png?random=1466056691">
  36 + </div>
  37 + <div class="intro intro-2">
  38 + <img src="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy/assets/img/download/intro-2.png?random=1466056691">
  39 + </div>
  40 + <div class="intro intro-3">
  41 + <img src="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy/assets/img/download/intro-3.png?random=1466056691">
  42 + </div>
  43 + <div class="intro intro-4">
  44 + <img src="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy/assets/img/download/intro-4.png?random=1466056691">
  45 + </div>
  46 + <div class="intro intro-5">
  47 + <img src="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy/assets/img/download/intro-5.png?random=1466056691">
  48 + </div>
  49 + <div class="intro intro-6">
  50 + <img src="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy/assets/img/download/intro-6.jpg?random=1466056691">
  51 + <div class="bottom-down">
  52 + <div class="qr-code right"></div>
  53 + <a href="http://itunes.apple.com/us/app/id490655927?ls=1&amp;mt=8" target="_blank" class="down-app-btn down-btns"></a>
  54 + <a href="http://yoho-apps.qiniudn.com/YohoBuy_YOHO.apk" target="_blank" class="down-apk-btn down-btns"></a>
  55 + </div>
  56 + </div>
  57 + {{/if}}
  58 + </div>
  59 + <div class="foot-wrapper">
  60 + <a href="http://app.yohoshow.com/" target="_blank">
  61 + {{#if devEnv}}
  62 + <img src="//{{devHost}}:5002/img/download/main-bottom.jpg">
  63 + {{^}}
  64 + <img src="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy/assets/img/download/main-bottom.jpg">
  65 + {{/if}}
  66 + </a>
  67 + </div>
  68 +</div>
@@ -21,6 +21,7 @@ module.exports = app => { @@ -21,6 +21,7 @@ module.exports = app => {
21 app.use('/help', require('./apps/help'));// 帮助中心 21 app.use('/help', require('./apps/help'));// 帮助中心
22 app.use('/shop', require('./apps/shop'));// 店铺 22 app.use('/shop', require('./apps/shop'));// 店铺
23 app.use(require('./apps/about')); // 关于有货 23 app.use(require('./apps/about')); // 关于有货
  24 + app.use('/download', require('./apps/download')); // 下载
24 25
25 // 第三方,如广告联盟 26 // 第三方,如广告联盟
26 app.use('/3party', require('./apps/3party')); 27 app.use('/3party', require('./apps/3party'));
  1 +require('../common');
  1 +.app-download-page {
  2 + .top-wrapper {
  3 + height: 550px;
  4 + background: resolve("download/main-top.png?random=1466056691") no-repeat top center;
  5 +
  6 + .top-down {
  7 + width: 444px;
  8 + margin: 0 auto;
  9 + padding-top: 305px;
  10 + }
  11 +
  12 + .down-btns {
  13 + width: 216px;
  14 + height: 65px;
  15 + display: block;
  16 + margin-left: 200px;
  17 + float: right;
  18 + }
  19 +
  20 + .down-btns:first-child {
  21 + margin-bottom: 10px;
  22 + }
  23 + }
  24 +
  25 + .main-wrapper {
  26 + .intro {
  27 + width: 990px;
  28 + height: 437px;
  29 + margin: 114px auto 0;
  30 + }
  31 +
  32 + .intro-6 {
  33 + height: 350px;
  34 + }
  35 +
  36 + .bottom-down {
  37 + width: 350px;
  38 + margin: 0 auto;
  39 + overflow: hidden;
  40 + padding-top: 34px;
  41 +
  42 + .qr-code {
  43 + width: 130px;
  44 + height: 130px;
  45 + background: url("/download/down-qr-code.png");
  46 + }
  47 +
  48 + .down-btns {
  49 + width: 200px;
  50 + height: 60px;
  51 + display: block;
  52 + }
  53 +
  54 + .down-app-btn {
  55 + margin-bottom: 8px;
  56 + background: url("/download/app-down.png");
  57 + }
  58 +
  59 + .down-apk-btn {
  60 + background: url("/download/apk-down.png");
  61 + }
  62 + }
  63 + }
  64 +
  65 + .foot-wrapper {
  66 + height: 100px;
  67 + text-align: center;
  68 + }
  69 +}