Showing
24 changed files
with
208 additions
and
0 deletions
apps/download/controllers/app.js
0 → 100644
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 | +}; |
apps/download/index.js
0 → 100644
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; |
apps/download/router.js
0 → 100644
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; |
apps/download/views/action/app.hbs
0 → 100644
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&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&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&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')); |
public/img/download/apk-down.png
0 → 100644

1.3 KB
public/img/download/app-down.png
0 → 100644

1.18 KB
public/img/download/down-qr-code.png
0 → 100644

6.14 KB
public/img/download/intro-1.jpg
0 → 100644

73.7 KB
public/img/download/intro-1.png
0 → 100644

153 KB
public/img/download/intro-2.jpg
0 → 100644

71.5 KB
public/img/download/intro-2.png
0 → 100644

200 KB
public/img/download/intro-3.jpg
0 → 100644

52.1 KB
public/img/download/intro-3.png
0 → 100644

119 KB
public/img/download/intro-4.jpg
0 → 100644

53.1 KB
public/img/download/intro-4.png
0 → 100644

106 KB
public/img/download/intro-5.png
0 → 100644

29.9 KB
public/img/download/intro-6.jpg
0 → 100644

9.58 KB
public/img/download/main-bottom.jpg
0 → 100644

23.7 KB
public/img/download/main-top.png
0 → 100644

755 KB
public/img/sprite.download.png
0 → 100644

26.5 KB
public/js/download/app.page.js
0 → 100644
1 | +require('../common'); |
public/scss/download/_app.css
0 → 100644
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 | +} |
public/scss/download/_index.css
0 → 100644
1 | +@import "app"; |
-
Please register or login to post a comment