Authored by 张丽霞

领券第四期物料

... ... @@ -10,15 +10,12 @@ var express = require('express'),
morgan = require('morgan'),
favicon = require('serve-favicon'),
cookieParser = require('cookie-parser'),
session = require('express-session'),
connectRedis = require('connect-redis'),
cors = require('cors');
var config = require('./config');
var sign = require('./library/sign');
var app = express(),
RedisStore = connectRedis(session);
var app = express();
// 向模板注入变量
app.locals.devEnv = app.get('env') === 'development';
... ...
*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-size:12px;font-family:Helvetica,Arial,黑体;background:#fff;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow-x:hidden}button,input{border:none;outline:none}a{text-decoration:none}.hide{display:none}.header,.main-wrap{width:990px;margin-left:auto;margin-right:auto}.header{height:384px;background:url(../img/header-51d8e741fb1fb6bf.jpg) no-repeat}.coupon{margin:0 auto 30px;width:990px;height:244px;background:url(../img/coupon-22eb206afcff256a.jpg) no-repeat}.go{display:block;margin:30px auto;width:560px;height:80px;font-size:29px;line-height:80px;color:#fff;background:#d45b7e;text-align:center}.go:after{content:"";display:block;width:100%;height:10px;background:#a03454}.arrow{display:inline-block;width:11px;height:20px;background:url(../img/arrow-6ff612dd66b81d4e.png)}.share{width:911px;height:277px;background:url(../img/share-85185eb8c26db749.jpg);background-color:#ececec;background-repeat:no-repeat}.banner,.share{margin:30px auto}.banner{display:block;width:900px;height:360px;background:#fff}.banner img{width:100%;height:100%}.footer{margin:30px auto;width:199px;height:37px;background:url(../img/yoho-a7fab2b69e927249.png)}.tip{position:fixed;left:50%;top:50%;margin-left:-200px;margin-top:-150px;width:400px;background:#fff;text-align:center;line-height:1.25}.tip .title{margin:20px auto;font-size:30px;font-weight:700}.tip .sub-title{font-size:20px}.tip .desc{font-size:18px;color:#444}.tip .button{display:block;margin:30px auto;width:200px;height:50px;font-size:22px;line-height:56px;text-align:center;color:#fff;background:#000}.tip:before{content:"";display:block;width:100%;height:40px;background:#000}
\ No newline at end of file
*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-size:12px;font-family:Helvetica,Arial,黑体;background:#fff;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow-x:hidden}button,input{border:none;outline:none}a{text-decoration:none}.hide{display:none}.header,.main-wrap{width:990px;margin-left:auto;margin-right:auto}.header{height:384px;background:url(../img/header-7fc50ef6322d5d1d.jpg) no-repeat}.coupon{margin:0 auto 30px;width:990px;height:244px;background:url(../img/coupon-c33ec853162290f7.jpg) no-repeat}.go{display:block;margin:30px auto;width:560px;height:80px;font-size:29px;line-height:80px;color:#fff;background:#d45b7e;text-align:center}.go:after{content:"";display:block;width:100%;height:10px;background:#a03454}.arrow{display:inline-block;width:11px;height:20px;background:url(../img/arrow-6ff612dd66b81d4e.png)}.share{width:911px;height:277px;background:url(../img/share-99288c97208f1d91.jpg);background-color:#de5c3a;background-repeat:no-repeat}.banner,.share{margin:30px auto}.banner{display:block;width:900px;height:360px;background:#fff}.banner img{width:100%;height:100%}.footer{margin:30px auto;width:199px;height:37px;background:url(../img/yoho-a7fab2b69e927249.png)}.tip{position:fixed;left:50%;top:50%;margin-left:-200px;margin-top:-150px;width:400px;background:#fff;text-align:center;line-height:1.25}.tip .title{margin:20px auto;font-size:30px;font-weight:700}.tip .sub-title{font-size:20px}.tip .desc{font-size:18px;color:#444}.tip .button{display:block;margin:30px auto;width:200px;height:50px;font-size:22px;line-height:56px;text-align:center;color:#fff;background:#000}.tip:before{content:"";display:block;width:100%;height:40px;background:#000}
/*# sourceMappingURL=../map/style.css.map */
... ...
... ... @@ -22,48 +22,48 @@
/******/ return __webpack_require__(0);
/******/ }
/******/ };
/******/
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // object to store loaded and loading chunks
/******/ // "0" means "already loaded"
/******/ // Array means "loading", array contains callbacks
/******/ var installedChunks = {
/******/ 1:0
/******/ };
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = function requireEnsure(chunkId, callback) {
/******/ // "0" is the signal for "already loaded"
/******/ if(installedChunks[chunkId] === 0)
/******/ return callback.call(null, __webpack_require__);
/******/
/******/ // an array means "currently loading".
/******/ if(installedChunks[chunkId] !== undefined) {
/******/ installedChunks[chunkId].push(callback);
... ... @@ -75,20 +75,21 @@
/******/ script.type = 'text/javascript';
/******/ script.charset = 'utf-8';
/******/ script.async = true;
/******/
/******/ script.src = __webpack_require__.p + "" + chunkId + "." + ({"0":"main"}[chunkId]||chunkId) + ".js";
/******/ head.appendChild(script);
/******/ }
/******/ };
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/js";
/******/ })
/************************************************************************/
/******/ ([]);
\ No newline at end of file
/******/ ([]);
//# sourceMappingURL=libs.js.map
\ No newline at end of file
... ...
This diff could not be displayed because it is too large.
... ... @@ -47,7 +47,7 @@
width: 911px;
height: 277px;
background: url("../img/share.jpg");
background-color: #ececec;
background-color: #de5c3a;
background-repeat: no-repeat;
}
... ...

47.2 KB | W: | H:

45.8 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{-webkit-tap-highlight-color:rgba(0,0,0,0);overflow-x:hidden}body{font-size:.3rem;font-family:Helvetica,Arial,黑体;background:#fff}button,input{border:none;outline:none}a{text-decoration:none}.hide{display:none}.main-wrap{width:100%;max-width:16rem;margin-left:auto;margin-right:auto}.header{width:100%;height:8.35rem;background:url(../img/header-00be48c1aa7821e2.jpg);background-size:100%}.coupon{display:block;width:100%;height:9.8rem;background:url(../img/coupon-ba45eff1a092cfef.jpg) no-repeat;background-size:100% auto}.share{margin:0 auto .75rem;width:14rem;height:2rem;font-size:.725rem;line-height:2rem;color:#fff;background:#d25d7f;text-align:center}.share:after{content:"";display:block;width:100%;height:.25rem;background:#a03454}.arrow{display:inline-block;width:.275rem;height:.5rem;background:url(../img/arrow-6ff612dd66b81d4e.png);background-size:100%}.banner-border{background-color:#f1f1f9;background-image:url(../img/wrap-bg-bfcf893f33ecbd98.jpg);background-size:100%;padding-top:.75rem}.banner{display:block;margin:1.25rem auto;width:14rem;height:6rem;background:#fff}.banner img{width:100%;height:100%}.download{margin:.75rem auto;font-size:.6rem;line-height:1.75rem;text-align:center}.download .weixin{width:6rem}.download .app,.download .weixin{display:inline-block;height:1.75rem;color:#fff;background:#000}.download .app{margin-left:.5rem;width:7.5rem}.download .arrow{height:.275rem;background-size:100% 100%}.footer{width:100%;height:2.75rem;background:url(../img/yoho-8d72b40e8e388d31.png) 50% no-repeat;background-color:#000;background-size:13.75rem .825rem}.tip{position:fixed;left:50%;top:50%;width:13.5rem;background:#fff;text-align:center;line-height:1.25;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tip .title{margin:.5rem auto;font-size:1rem;font-weight:700}.tip .sub-title{font-size:.8rem}.tip .desc{font-size:.6rem;color:#444}.tip .button{display:block;margin:.75rem auto;width:6.75rem;height:1.4rem;font-size:.65rem;line-height:1.4rem;text-align:center;color:#fff;background:#000}.tip:before{content:"";display:block;width:100%;height:1.35rem;background:#000}.mask,.tip-wrap{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.6);z-index:1}.mask .pengyouquan{float:right;margin-top:.75rem;margin-right:.75rem;width:14.5rem;height:2.175rem;background:url(../img/pengyouquan-a7bee0f100b58fbf.png) 100% no-repeat;background-size:2.175rem 2.175rem}.mask .arrow{float:right;margin-top:.75rem;margin-right:1.5rem;width:14.5rem;height:6.15rem;background:url(../img/arrow2-60335b059fa6558d.png) 100% no-repeat;background-size:3.3rem 6.15rem}.mask p{width:100%;font-size:1.1rem;line-height:1.5;text-align:center;color:#fff}
\ No newline at end of file
*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{-webkit-tap-highlight-color:rgba(0,0,0,0);overflow-x:hidden}body{font-size:.3rem;font-family:Helvetica,Arial,黑体;background:#fff}button,input{border:none;outline:none}a{text-decoration:none}.hide{display:none}.main-wrap{width:100%;max-width:16rem;margin-left:auto;margin-right:auto}.header{width:100%;height:8.35rem;background:url(../img/header-feb75331375d0929.jpg) no-repeat;background-size:100%}.coupon{display:block;width:100%;height:9.8rem;background:url(../img/coupon-88eaa6664ebe75b0.jpg) no-repeat;background-size:100% auto}.share{margin:0 auto .75rem;width:14rem;height:2rem;font-size:.725rem;line-height:2rem;color:#fff;background:#de5c3a;text-align:center}.share:after{content:"";display:block;width:100%;height:.25rem;background:#a03454}.arrow{display:inline-block;width:.275rem;height:.5rem;background:url(../img/arrow-6ff612dd66b81d4e.png);background-size:100%}.banner-border{background-color:#fff;background-image:url(../img/wrap-bg-bfcf893f33ecbd98.jpg) no-repeat;background-size:100%;padding-top:.75rem}.banner{display:block;margin:1.25rem auto;width:14rem;height:6rem;background:#fff}.banner img{width:100%;height:100%}.download{margin:.75rem auto;font-size:.6rem;line-height:1.75rem;text-align:center}.download .weixin{width:6rem}.download .app,.download .weixin{display:inline-block;height:1.75rem;color:#fff;background:#000}.download .app{margin-left:.5rem;width:7.5rem}.download .arrow{height:.275rem;background-size:100% 100%}.footer{width:100%;height:2.75rem;background:url(../img/yoho-8d72b40e8e388d31.png) 50% no-repeat;background-color:#000;background-size:13.75rem .825rem}.tip{position:fixed;left:50%;top:50%;width:13.5rem;background:#fff;text-align:center;line-height:1.25;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tip .title{margin:.5rem auto;font-size:1rem;font-weight:700}.tip .sub-title{font-size:.8rem}.tip .desc{font-size:.6rem;color:#444}.tip .button{display:block;margin:.75rem auto;width:6.75rem;height:1.4rem;font-size:.65rem;line-height:1.4rem;text-align:center;color:#fff;background:#000}.tip:before{content:"";display:block;width:100%;height:1.35rem;background:#000}.mask,.tip-wrap{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.6);z-index:1}.mask .pengyouquan{float:right;margin-top:.75rem;margin-right:.75rem;width:14.5rem;height:2.175rem;background:url(../img/pengyouquan-a7bee0f100b58fbf.png) 100% no-repeat;background-size:2.175rem 2.175rem}.mask .arrow{float:right;margin-top:.75rem;margin-right:1.5rem;width:14.5rem;height:6.15rem;background:url(../img/arrow2-60335b059fa6558d.png) 100% no-repeat;background-size:3.3rem 6.15rem}.mask p{width:100%;font-size:1.1rem;line-height:1.5;text-align:center;color:#fff}
/*# sourceMappingURL=../map/style.css.map */
... ...
... ... @@ -22,48 +22,48 @@
/******/ return __webpack_require__(0);
/******/ }
/******/ };
/******/
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // object to store loaded and loading chunks
/******/ // "0" means "already loaded"
/******/ // Array means "loading", array contains callbacks
/******/ var installedChunks = {
/******/ 1:0
/******/ };
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = function requireEnsure(chunkId, callback) {
/******/ // "0" is the signal for "already loaded"
/******/ if(installedChunks[chunkId] === 0)
/******/ return callback.call(null, __webpack_require__);
/******/
/******/ // an array means "currently loading".
/******/ if(installedChunks[chunkId] !== undefined) {
/******/ installedChunks[chunkId].push(callback);
... ... @@ -75,20 +75,21 @@
/******/ script.type = 'text/javascript';
/******/ script.charset = 'utf-8';
/******/ script.async = true;
/******/
/******/ script.src = __webpack_require__.p + "" + chunkId + "." + ({"0":"main"}[chunkId]||chunkId) + ".js";
/******/ head.appendChild(script);
/******/ }
/******/ };
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/js";
/******/ })
/************************************************************************/
/******/ ([]);
\ No newline at end of file
/******/ ([]);
//# sourceMappingURL=libs.js.map
\ No newline at end of file
... ...
This diff could not be displayed because it is too large.
... ... @@ -3,7 +3,7 @@
.header {
width: 100%;
height: 334px;
background: url("../img/header.jpg");
background: url("../img/header.jpg") no-repeat;
background-size: 100%;
}
... ... @@ -22,7 +22,7 @@
font-size: 29px;
line-height: 80px;
color: #fff;
background: #d25d7f;
background: #de5c3a;
text-align: center;
&:after {
... ... @@ -43,8 +43,8 @@
}
.banner-border {
background-color: #f1f1f9;
background-image: url("../img/wrap-bg.jpg");
background-color: #fff;
background-image: url("../img/wrap-bg.jpg") no-repeat;
background-size: 100%;
padding-top: 30px;
}
... ...
... ... @@ -16,14 +16,14 @@ exports.first = (req, res) => {
couponUrl: urlFormat('/home/coupons', null, 'default') + '?openby:yohobuy={"action":"go.coupon"}', // 个人中心优惠券
banner: {
img: 'http://img01.yohoboys.com/staticimg/2016/04/08/18/01261f3ab06fe49da541b8fef708ec6676.jpg?imageMogr2/quality/90',
url: 'http://feature.yoho.cn/0411/0411APPHOME/index.html?openby:yohobuy={"action":"go.h5","params":{"title":"YOHO!BUY有货【夏日新品节】","url":"http://feature.yoho.cn/0411/0411APPHOME/index.html?","share":"\/operations\/api\/v5\/webshare\/getShare","shareparam":{"share_id":"386"},"param":{"share_id":"386"}}}'
url: 'http://cdn.yoho.cn/huodong/0505APPHOME/index.html?openby:yohobuy={"action":"go.h5","params":{"title":"YOHO!BUY有货【T恤节】","url":"http://cdn.yoho.cn/huodong/0505APPHOME/index.html?","share":"\/operations\/api\/v5\/webshare\/getShare","shareparam":{"share_id":"386"},"param":{"share_id":"386"}}}'
},
weixinUrl: 'http://mp.weixin.qq.com/s?__biz=MjM5ODI5MDA4MA==&mid=201849402&idx=1&sn=c0089812f9769d82e0075f69d771f6e1#rd', // 微信关注地址
appUrl: 'http://www.yohoshow.com/about/index/yohobuyqr', // APP 下载地址
shareTitle: 'YOHO!BUY有货【夏日新品节】入夏风潮来袭!130元优惠券限时派送中~',
shareDesc: '夏日新品全线开售~更有夏品满减,折上最高直减¥100!',
shareImg: 'http://img01.yohoboys.com/staticimg/2016/04/08/18/010f90240883f1ee60ed831b5be477e52b.png',
shareLink: 'http://feature.yoho.cn/0411/0411APPHOME/index.html'
shareLink: 'http://cdn.yoho.cn/huodong/0505APPHOME/index.html'
};
var uid = cookie.getUid(req);
... ... @@ -205,7 +205,7 @@ exports.fourth = (req, res) => {
appUrl: 'http://www.yohoshow.com/about/index/yohobuyqr', // APP 下载地址
shareTitle: 'YOHO!BUY有货【T恤节】无T恤不夏天!夏日新品抢鲜开售,更有150元优惠券限时派送中',
shareDesc: '夏日新品抢鲜开售-下单立享8.8折,折上再享2件8折!',
shareImg: 'http://img01.yohoboys.com/staticimg/2016/04/08/18/010f90240883f1ee60ed831b5be477e52b.png',
shareImg: 'http://img01.yohoboys.com/staticimg/2016/05/04/15/011c24a9a5431eb3cba4b7f5e34d5629b3.jpg',
shareLink: 'http://feature.yoho.cn/0505/0505APPHOME/index.html'
};
... ...