Authored by zzzzzzz

合并学生营销

@@ -237,7 +237,7 @@ exports.index = (req, res, next) => { @@ -237,7 +237,7 @@ exports.index = (req, res, next) => {
237 isStudent: req.__USER__.isStudent, 237 isStudent: req.__USER__.isStudent,
238 isSupportStudent: req.__USER__.isSupportStudent, 238 isSupportStudent: req.__USER__.isSupportStudent,
239 isLogin: req.__USER__.isLogin, 239 isLogin: req.__USER__.isLogin,
240 - title: '有货学生专享优惠', 240 + title: '有货学生专享权益',
241 http: req.__USER__.http, 241 http: req.__USER__.http,
242 uid: req.__USER__.uid, 242 uid: req.__USER__.uid,
243 app_version: req.__USER__.app_version, 243 app_version: req.__USER__.app_version,
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 <div class="mobile-wrap yoho-page student"> 9 <div class="mobile-wrap yoho-page student">
10 <section class='s-text'> 10 <section class='s-text'>
11 <h6>权益1:新品立享9折</h6> 11 <h6>权益1:新品立享9折</h6>
12 - <p>1、学生购买原价新品时,可立即享受9折优惠,与VIP折扣不可同时享受。</p> 12 + <p>1、学生购买指定原价新品时,可立即享受9折优惠,与VIP折扣不可同时享受。</p>
13 <h6>权益2:每1元返1个有货币</h6> 13 <h6>权益2:每1元返1个有货币</h6>
14 <p>1、学生购买指定商品时,以商品的实际成交金额计算,每1元返1个有货币;</p> 14 <p>1、学生购买指定商品时,以商品的实际成交金额计算,每1元返1个有货币;</p>
15 <p>2、返有货币时间:确认收货7日后,系统将自动将对应数量的有货币返至购买账户;</p> 15 <p>2、返有货币时间:确认收货7日后,系统将自动将对应数量的有货币返至购买账户;</p>
@@ -39,8 +39,7 @@ @@ -39,8 +39,7 @@
39 </label> 39 </label>
40 同意<a class="s-blue" href='//m.yohobuy.com/activity/student/detail/renzhen?openby:yohobuy={"action":"go.h5","params":{"islogin":"N","url":"{{http}}//m.yohobuy.com/activity/student/detail/renzhen"}}'>Yoho!Buy有货学生认证协议</a> 40 同意<a class="s-blue" href='//m.yohobuy.com/activity/student/detail/renzhen?openby:yohobuy={"action":"go.h5","params":{"islogin":"N","url":"{{http}}//m.yohobuy.com/activity/student/detail/renzhen"}}'>Yoho!Buy有货学生认证协议</a>
41 </section> 41 </section>
42 - <a class="s-submit" href="javascript:void(0);">去支付宝完成认证</a>  
43 - <p class="s-sub-tip">与蚂蚁金服旗下的芝麻信用(支付宝)合作认证</p> 42 + <a class="s-submit" href="javascript:void(0);">立即认证</a>
44 </div> 43 </div>
45 </div> 44 </div>
46 45
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
11 <h1>学生权益<a class='more s-quan' href='//m.yohobuy.com/activity/student/detail/quanyi?openby:yohobuy={"action":"go.h5","params":{"islogin":"N","url":"{{../http}}//m.yohobuy.com/activity/student/detail/quanyi"}}'>更多权益</a></h1> 11 <h1>学生权益<a class='more s-quan' href='//m.yohobuy.com/activity/student/detail/quanyi?openby:yohobuy={"action":"go.h5","params":{"islogin":"N","url":"{{../http}}//m.yohobuy.com/activity/student/detail/quanyi"}}'>更多权益</a></h1>
12 <div class='s-content'> 12 <div class='s-content'>
13 {{#each data.list}} 13 {{#each data.list}}
14 - <div class='s-section'> 14 + <div class='s-section s-dialog'>
15 <a href="javascript:void(0)"> 15 <a href="javascript:void(0)">
16 <img src='{{image src 320 149}}' title="{{title}}"> 16 <img src='{{image src 320 149}}' title="{{title}}">
17 </a> 17 </a>
@@ -19,6 +19,9 @@ @@ -19,6 +19,9 @@
19 <p class='s-verify-txt'>您可以<a class='red' href='//m.yohobuy.com/activity/student/register'>重新验证 ></a></p> 19 <p class='s-verify-txt'>您可以<a class='red' href='//m.yohobuy.com/activity/student/register'>重新验证 ></a></p>
20 </section> 20 </section>
21 {{/if}} 21 {{/if}}
  22 + {{#if next111}}
  23 + <a class='s-yohocoin' href='//m.yohobuy.com/home/mycurrency'>查看有货币明细</a>
  24 + {{/if}}
22 <section class='s-section clearfix'> 25 <section class='s-section clearfix'>
23 <h1>学生专享商品<a class="more iconfont" href="//search.m.yohobuy.com/?students=1&title=学生专享商品&uid={{uid}}{{#isApp}}&app_version={{@root.app_version}}{{/isApp}}?openby:yohobuy={'action':'go.h5','params':{'islogin':'N','url':'{{@root.http}}//search.m.yohobuy.com/','param':{'students':'1','title':'学生专享商品','uid':'{{uid}}'}}}">&#xe618;</a></h1> 26 <h1>学生专享商品<a class="more iconfont" href="//search.m.yohobuy.com/?students=1&title=学生专享商品&uid={{uid}}{{#isApp}}&app_version={{@root.app_version}}{{/isApp}}?openby:yohobuy={'action':'go.h5','params':{'islogin':'N','url':'{{@root.http}}//search.m.yohobuy.com/','param':{'students':'1','title':'学生专享商品','uid':'{{uid}}'}}}">&#xe618;</a></h1>
24 <div class='goods-list clearfix'> 27 <div class='goods-list clearfix'>
@@ -171,6 +171,7 @@ const search = (req, res, next) => { @@ -171,6 +171,7 @@ const search = (req, res, next) => {
171 171
172 let params = Object.assign({}, req.query); 172 let params = Object.assign({}, req.query);
173 173
  174 + params.isApp = req.yoho.isApp;
174 searchModel.getSearchData(params).then((result) => { 175 searchModel.getSearchData(params).then((result) => {
175 res.render('search/page', { 176 res.render('search/page', {
176 layout: false, 177 layout: false,
@@ -121,6 +121,17 @@ const _searchGoods = (params) => { @@ -121,6 +121,17 @@ const _searchGoods = (params) => {
121 params.order = 's_t_asc'; 121 params.order = 's_t_asc';
122 } 122 }
123 123
  124 + // 学生返币查询
  125 + if (params.coin) {
  126 + method = 'app.student.rebate';
  127 + delete params.filter_poolId;
  128 +
  129 + if (params.type === 'newest') {
  130 + delete params.order;
  131 + delete params.type;
  132 + }
  133 + }
  134 +
124 return api.get('', _.assign({ 135 return api.get('', _.assign({
125 method: method 136 method: method
126 }, params), { 137 }, params), {
@@ -135,7 +146,7 @@ const getSearchData = (params) => { @@ -135,7 +146,7 @@ const getSearchData = (params) => {
135 return _searchGoods(params).then((result) => { 146 return _searchGoods(params).then((result) => {
136 if (result && result.code === 200) { 147 if (result && result.code === 200) {
137 return productProcess.processProductList(result.data.product_list || [], { 148 return productProcess.processProductList(result.data.product_list || [], {
138 - isApp: params.appVersion && params.appVersion !== 'false', 149 + isApp: params.isApp || (params.appVersion && params.appVersion !== 'false'),
139 gender: _coverChannel[params.coverChannel] 150 gender: _coverChannel[params.coverChannel]
140 }); 151 });
141 } else { 152 } else {
  1 +{{#if list}} {{!-- 剔除值为false的项 --}}
  2 +{{!-- {{log this}} --}}
  3 + {{#list}}
  4 + <div class="good-info {{#if @root.saleViplogin}}sale-vip{{/if}}" data-id="{{productSkn}}" data-bp-id="guang_goodList_{{productName}}_false">
  5 + <div class="tag-container clearfix">
  6 + {{#each tags}}
  7 + {{#if isNew}}
  8 + <p class="good-tag new-tag">NEW</p>
  9 + {{/if}}
  10 + {{#if isAdvance}}
  11 + <p class="good-tag renew-tag">再到着</p>
  12 + {{/if}}
  13 + {{#if isDiscount}}
  14 + <p class="good-tag sale-tag">SALE</p>
  15 + {{/if}}
  16 + {{#if isYohoood}}
  17 + <p class="good-tag running-man-tag">跑男同款</p>
  18 + {{/if}}
  19 + {{#if isLimited}}
  20 + <p class="good-tag limit-tag">限量商品</p>
  21 + {{/if}}
  22 + {{/each}}
  23 + </div>
  24 + <div class="good-detail-img">
  25 + <a class="good-thumb" href="{{url}}">
  26 + <img class="lazy" data-original="{{image defaultImages 235 314}}">
  27 + </a>
  28 + {{!-- {{log isSoonSoldOut}} --}}
  29 + {{#if isSoonSoldOut}}
  30 + <p class="few-tag">即将售罄</p>
  31 + {{/if}}
  32 +
  33 + {{#if noStorage}}
  34 + <div class="no-storage">
  35 + <div class="no-storage-img"></div>
  36 + </div>
  37 + {{/if}}
  38 + </div>
  39 + <div class="good-detail-text">
  40 + <div class="name">
  41 + <a href="{{url}}">{{productName}}</a>
  42 + </div>
  43 + <div class="price">
  44 + {{#if @root.saleViplogin}}
  45 + <i class="vip-grade vip-grade-{{@root.vipLevel}}"></i>
  46 + <span class="sale-price {{^marketPrice}}no-price{{/marketPrice}}">¥
  47 + {{#if @root.vipPrice1}}{{round vip1Price}}{{/if}}
  48 + {{#if @root.vipPrice2}}{{round vip2Price}}{{/if}}
  49 + {{#if @root.vipPrice3}}{{round vip3Price}}{{/if}}
  50 + </span>
  51 + {{else}}
  52 + <span class="sale-price {{^marketPrice}}no-price{{/marketPrice}}">¥{{round salesPrice}}</span>
  53 + {{/if}}
  54 + {{#marketPrice}}
  55 + <span class="market-price">¥{{round .}}</span>
  56 + {{/marketPrice}}
  57 + </div>
  58 + {{#if @root.saleVip}}
  59 + <div class="vip-info">
  60 + <i class="vip-icon"></i>更优惠
  61 + </div>
  62 + {{/if}}
  63 + </div>
  64 + </div>
  65 + {{/list}}
  66 +{{/if}}
@@ -20,12 +20,11 @@ module.exports = { @@ -20,12 +20,11 @@ module.exports = {
20 service: 'http://service-test3.yohops.com:9999/', 20 service: 'http://service-test3.yohops.com:9999/',
21 liveApi: 'http://testapi.live.yohops.com:9999/', 21 liveApi: 'http://testapi.live.yohops.com:9999/',
22 singleApi: 'http://api-test3.yohops.com:9999/' 22 singleApi: 'http://api-test3.yohops.com:9999/'
23 - 23 +
24 // api: 'http://api.yoho.cn/', 24 // api: 'http://api.yoho.cn/',
25 // service: 'http://service.yoho.cn/', 25 // service: 'http://service.yoho.cn/',
26 // liveApi: 'http://api.live.yoho.cn/', 26 // liveApi: 'http://api.live.yoho.cn/',
27 // singleApi: 'http://single.yoho.cn/' 27 // singleApi: 'http://single.yoho.cn/'
28 -  
29 }, 28 },
30 subDomains: { 29 subDomains: {
31 host: '.m.yohobuy.com', 30 host: '.m.yohobuy.com',
@@ -61,6 +61,7 @@ @@ -61,6 +61,7 @@
61 {{/unless}} 61 {{/unless}}
62 62
63 {{{body}}} 63 {{{body}}}
  64 +
64 {{#unless isApp}} 65 {{#unless isApp}}
65 {{> footer}} 66 {{> footer}}
66 {{/unless}} 67 {{/unless}}
@@ -2,7 +2,9 @@ var $ = require('yoho-jquery'), @@ -2,7 +2,9 @@ var $ = require('yoho-jquery'),
2 Swiper = require('yoho-swiper'), 2 Swiper = require('yoho-swiper'),
3 lazyLoad = require('yoho-jquery-lazyload'), 3 lazyLoad = require('yoho-jquery-lazyload'),
4 fastclick = require('yoho-fastclick'), 4 fastclick = require('yoho-fastclick'),
5 - tip = require('../plugin/tip'); 5 + tip = require('../plugin/tip'),
  6 + dialog = require('../plugin/dialog'),
  7 + Hammer = require('yoho-hammer');
6 8
7 var _weChatInterface = '//m.yohobuy.com/life/getSignPackage', 9 var _weChatInterface = '//m.yohobuy.com/life/getSignPackage',
8 wx = window.wx, 10 wx = window.wx,
@@ -13,6 +15,21 @@ var _weChatInterface = '//m.yohobuy.com/life/getSignPackage', @@ -13,6 +15,21 @@ var _weChatInterface = '//m.yohobuy.com/life/getSignPackage',
13 15
14 require('../common'); 16 require('../common');
15 17
  18 +// 根据ua判断页头
  19 +(function uaHeader() {
  20 + var UALIST = ['MicroMessenger', 'QQ/', 'Weibo'],
  21 + UA = navigator.userAgent,
  22 + i;
  23 +
  24 + for (i = 0; i < UALIST.length; i++) {
  25 + if (UA.indexOf(UALIST[i]) > -1) {
  26 + $('#yoho-header').remove();
  27 + return;
  28 + }
  29 + }
  30 +
  31 +}());
  32 +
16 getChannel = function() { 33 getChannel = function() {
17 var name = window.cookie('_Channel'); 34 var name = window.cookie('_Channel');
18 35
@@ -393,3 +410,74 @@ $('.s-renzhen').click(function() { @@ -393,3 +410,74 @@ $('.s-renzhen').click(function() {
393 window._yas.sendCustomInfo(options, true); 410 window._yas.sendCustomInfo(options, true);
394 } 411 }
395 }); 412 });
  413 +
  414 +$('.dialog-wrapper').addClass('s-dialog-wrapper');
  415 +$('.s-dialog').on('click', function() {
  416 + var text = [{
  417 + dialogText: '<h2>权益1: 新品立享9折</h2><p>1、学生购买指定原价新品时,可立即享受9折优惠,与VIP折扣不可同时享受</p>',
  418 + }, {
  419 + dialogText: '<h2>权益2: 每1元返1个有货币</h2><p>1、学生购买指定商品时,以商品的实际成交金额计算,每1元返1个有货币;</p>' +
  420 + '<p>2、返有货币时间:确认收货7日后,系统将自动将对应数量的有货币返至购买账户;</p>' +
  421 + '<p>3、有货币有效期:获得当日至次年12月31日,逾期自动作废;</p>' +
  422 + '<p>4、查看有货币:登录后,点击“个人中心”在“我的有货币”中可以查看有货币余额及明细。</p>',
  423 + }, {
  424 + dialogText: '<h2>权益3: 免单抽奖</h2><p>1、每月将在累计购物金额最高的学校中,抽取3名幸运学生用户,获得免单资格;</p>' +
  425 + '<p>2、免单用户名单将在每月第1个工作日公布在有货微信公众号上,可关注【有货YOHOBUY】;</p>' +
  426 + '<p>3、免单用户将在中奖次日获得与实付金额等额的现金券,使用时间:中奖当月。</p>',
  427 + }, {
  428 + dialogText: '<h2>权益4: 学生专享活动</h2><p>1、每月不定期的开展学生专享活动,可打开有货APP推送,及时查收学生专享活动通知。</p>',
  429 + }];
  430 + var dialogBoxHammer, dialogRightBtn;
  431 +
  432 + dialog.showDialog({
  433 + student: true,
  434 + dialogText: text[$(this).index()].dialogText,
  435 + hasFooter: {
  436 + rightBtnText: '我知道了'
  437 + }
  438 + }, function() {
  439 + $('body').css({
  440 + overflow: '',
  441 + position: '',
  442 + });
  443 + dialog.hideDialog();
  444 + }, undefined, true);
  445 +
  446 + $('.dialog-content').css({
  447 + padding: '0 1.5rem 1rem 1.5rem',
  448 + });
  449 +
  450 + $('.dialog-box').css({
  451 + 'border-radius': '0.25rem',
  452 + background: '#fff',
  453 + });
  454 +
  455 + $('.dialog-right-btn').css({
  456 + border: 'none',
  457 + color: '#d0021b',
  458 + });
  459 +
  460 + $('body').css({
  461 + overflow: 'hidden',
  462 + position: 'fixed',
  463 + });
  464 +
  465 + dialogBoxHammer = new Hammer(document.getElementsByClassName('dialog-box')[0]);
  466 + dialogRightBtn = new Hammer(document.getElementsByClassName('dialog-right-btn')[0]);
  467 +
  468 + dialogBoxHammer.on('tap', function(event) {
  469 + event.srcEvent.stopPropagation();
  470 + });
  471 +
  472 + dialogRightBtn.on('tap', function(event) {
  473 + $('body').css({
  474 + overflow: '',
  475 + position: '',
  476 + });
  477 + dialog.hideDialog();
  478 + event.preventDefault();
  479 + event.srcEvent.stopPropagation();
  480 + });
  481 +
  482 + $('.dialog-content').addClass('s-dialog-content');
  483 +});
@@ -27,8 +27,9 @@ exports.showDialog = function(data, callback, callbackForLeft, fullWithBtn) { @@ -27,8 +27,9 @@ exports.showDialog = function(data, callback, callbackForLeft, fullWithBtn) {
27 dialogTpl = '<div id="dialog-wrapper" class="dialog-wrapper">' + 27 dialogTpl = '<div id="dialog-wrapper" class="dialog-wrapper">' +
28 '<div class="dialog-box">' + 28 '<div class="dialog-box">' +
29 '{{# hasHeader}}' + 29 '{{# hasHeader}}' +
  30 + '<div class="dialog-header">{{.}}</div>' +
30 '{{/ hasHeader}}' + 31 '{{/ hasHeader}}' +
31 - '<div class="dialog-content">{{dialogText}}</div>' + 32 + '<div class="dialog-content">{{{dialogText}}}</div>' +
32 '{{# hasFooter}}' + 33 '{{# hasFooter}}' +
33 '<div class="dialog-footer">' + 34 '<div class="dialog-footer">' +
34 '{{# leftBtnText}}' + 35 '{{# leftBtnText}}' +
@@ -94,9 +95,11 @@ exports.showDialog = function(data, callback, callbackForLeft, fullWithBtn) { @@ -94,9 +95,11 @@ exports.showDialog = function(data, callback, callbackForLeft, fullWithBtn) {
94 } 95 }
95 96
96 // 禁止在dialog上可以上下滚动 97 // 禁止在dialog上可以上下滚动
97 - $dialogWrapper.on('touchmove', function() {  
98 - return false;  
99 - }); 98 + if (!data.student) {
  99 + $dialogWrapper.on('touchmove', function() {
  100 + return false;
  101 + });
  102 + }
100 103
101 dialogWrapperHammer.on('tap', function(event) { 104 dialogWrapperHammer.on('tap', function(event) {
102 105
@@ -107,6 +110,12 @@ exports.showDialog = function(data, callback, callbackForLeft, fullWithBtn) { @@ -107,6 +110,12 @@ exports.showDialog = function(data, callback, callbackForLeft, fullWithBtn) {
107 $dialogWrapper.fadeOut(); 110 $dialogWrapper.fadeOut();
108 } else if ($(event.target).hasClass('dialog-right-btn')) { 111 } else if ($(event.target).hasClass('dialog-right-btn')) {
109 return callback(); 112 return callback();
  113 + } else {
  114 + $('.dialog-wrapper').remove();
  115 + $('body').css({
  116 + overflow: '',
  117 + position: '',
  118 + });
110 } 119 }
111 120
112 // 防止出现点透问题 121 // 防止出现点透问题
@@ -33,7 +33,7 @@ var $input = $('#search-input input'), @@ -33,7 +33,7 @@ var $input = $('#search-input input'),
33 $buriedpoint = $('.buriedpoint'), 33 $buriedpoint = $('.buriedpoint'),
34 $search = $('#search'); 34 $search = $('#search');
35 35
36 -var shopId, sort, brand, outlets, app_type, age_level, msort, misort; 36 +var shopId, sort, brand, outlets, app_type, age_level, msort, misort, coin, app_version;
37 37
38 // 默认筛选条件 38 // 默认筛选条件
39 var defaultOpt = require('../../common/query-param'); 39 var defaultOpt = require('../../common/query-param');
@@ -196,6 +196,8 @@ age_level = getQueryString('age_level'); @@ -196,6 +196,8 @@ age_level = getQueryString('age_level');
196 app_type = getQueryString('app_type'); 196 app_type = getQueryString('app_type');
197 msort = getQueryString('msort'); 197 msort = getQueryString('msort');
198 misort = getQueryString('misort'); 198 misort = getQueryString('misort');
  199 +coin = getQueryString('coin');
  200 +app_version = getQueryString('app_version') || getQueryString('appVersion');
199 201
200 /** 202 /**
201 * 筛选注册的回调,筛选子项点击后逻辑 203 * 筛选注册的回调,筛选子项点击后逻辑
@@ -344,8 +346,15 @@ function search(opt) { @@ -344,8 +346,15 @@ function search(opt) {
344 params.misort = misort; 346 params.misort = misort;
345 } 347 }
346 348
347 - $.extend(setting, defaultOpt, params); 349 + if (coin) {
  350 + params.coin = coin;
  351 + }
348 352
  353 + if (app_version) {
  354 + params.app_version = app_version;
  355 + }
  356 +
  357 + $.extend(setting, defaultOpt, params);
349 searching = true; 358 searching = true;
350 loading.showLoadingMask(); 359 loading.showLoadingMask();
351 360
@@ -608,9 +608,54 @@ @@ -608,9 +608,54 @@
608 width: 30px; 608 width: 30px;
609 transform: translate(-50%, 0%); 609 transform: translate(-50%, 0%);
610 -webkit-transform: translate(-50%, -50%); 610 -webkit-transform: translate(-50%, -50%);
611 -   -ms-transform: translate(-50%, -50%); 611 + -ms-transform: translate(-50%, -50%);
612 612
613 a { 613 a {
614 display: block; 614 display: block;
615 } 615 }
616 } 616 }
  617 +
  618 +.s-dialog-wrapper {
  619 + z-index: 99;
  620 +}
  621 +
  622 +.s-dialog-content {
  623 + max-height: 460px;
  624 + max-width: 540px;
  625 + overflow-y: scroll;
  626 + text-align: left;
  627 + color: #444;
  628 + font-family: 'PingFangSC-Regular', 'helvetica', 'Arial', '黑体';
  629 + -webkit-overflow-scrolling: touch;
  630 +
  631 + h2 {
  632 + padding: 50px 0 40px 20px;
  633 + text-align: center;
  634 + font-weight: bold;
  635 + font-size: 34px;
  636 + color: #000;
  637 + }
  638 +
  639 + p {
  640 + font-size: 28px;
  641 + padding-bottom: 30px;
  642 + }
  643 +}
  644 +
  645 +.s-yohocoin {
  646 + display: block;
  647 + height: 59px;
  648 + width: 258px;
  649 + border: 2px solid #444;
  650 + border-radius: 5px;
  651 + color: #444;
  652 + font-size: 28px;
  653 + line-height: 59px;
  654 + text-align: center;
  655 + margin: 0 auto 20px;
  656 +}
  657 +
  658 +::-webkit-scrollbar{
  659 + opacity: 0;
  660 +}
  661 +
@@ -125,14 +125,12 @@ @@ -125,14 +125,12 @@
125 } 125 }
126 126
127 } 127 }
128 -  
129 #float-layer-close { 128 #float-layer-close {
130 position: absolute; 129 position: absolute;
131 left: 0; 130 left: 0;
132 top: 0; 131 top: 0;
133 - width: 50PX;  
134 - height: 50PX;  
135 - 132 + width: 100px;
  133 + height: 100px;
136 .close-icon { 134 .close-icon {
137 position: absolute; 135 position: absolute;
138 left: 0; 136 left: 0;
@@ -142,7 +140,6 @@ @@ -142,7 +140,6 @@
142 font-size: 18PX; 140 font-size: 18PX;
143 } 141 }
144 } 142 }
145 -  
146 #float-layer-btn { 143 #float-layer-btn {
147 position: absolute; 144 position: absolute;
148 top: 50%; 145 top: 50%;
@@ -171,4 +168,4 @@ @@ -171,4 +168,4 @@
171 border:0 solid #323232; 168 border:0 solid #323232;
172 border-bottom:25PX solid #323232; 169 border-bottom:25PX solid #323232;
173 border-radius:0 0 25PX 0; 170 border-radius:0 0 25PX 0;
174 -}  
  171 +}
@@ -283,8 +283,14 @@ @@ -283,8 +283,14 @@
283 padding: 60px 30px; 283 padding: 60px 30px;
284 } 284 }
285 285
  286 + .dialog-header {
  287 + padding: 50px 0 40px;
  288 + font-size: 34px;
  289 + text-align: center;
  290 + font-weight: bold;
  291 + }
  292 +
286 .dialog-footer { 293 .dialog-footer {
287 - border-top: 1px solid #ccc;  
288 height: 88px; 294 height: 88px;
289 line-height: 88px; 295 line-height: 88px;
290 296
@@ -297,6 +303,7 @@ @@ -297,6 +303,7 @@
297 303
298 &:nth-last-of-type(1) { 304 &:nth-last-of-type(1) {
299 border-left: 1px solid #ccc; 305 border-left: 1px solid #ccc;
  306 + border-radius: 0 0 10px 10px;
300 color: #e01; 307 color: #e01;
301 } 308 }
302 } 309 }
@@ -305,4 +312,18 @@ @@ -305,4 +312,18 @@
305 background-color: #ccc; 312 background-color: #ccc;
306 } 313 }
307 } 314 }
  315 +
  316 + /*边框在物理机上1px变粗*/
  317 + .dialog-footer::before {
  318 + content: "";
  319 + position: absolute;
  320 + left: 0;
  321 + width: 200%;
  322 + height: 0;
  323 + border-top: 1px solid #cccccc;
  324 + transform-origin: left top;
  325 + transform: scale3d(0.5,0.5,0.5);
  326 + -webkit-transform: scale3d(0.5,0.5,0.5); /* Chrome, Safari, Opera */
  327 + -ms-transform: scale3d(0.5,0.5,0.5); /* IE 9 */
  328 + }
308 } 329 }