Authored by 郝肖肖

'文案'

const _ = require('lodash');
const co = require('bluebird').coroutine;
const GradeModel = require('../models/grade-model');
const droitUtil = require('../models/droit-util');
/**
* 处理接口数据,绘制成长值图表
... ... @@ -125,7 +126,7 @@ class Grade {
res.render('grade/droit', {
module: 'activity',
page: 'grade-droit',
vipNav: vipNav,
vipNav: droitUtil.droitHtml(vipNav),
width750: true,
title: '会员权益说明',
localCss: true
... ...
'use strict';
const _ = require('lodash');
// 会员权益方案写死,后台未做,后期删除
function droitHtml(contents) {
let banner = '//img10.static.yhbimg.com/article/2017/06/20/12/01a50a1f45b97365e758d6890858998310.jpg' +
'?imageView2/2/w/670/h/240/q/60/format/webp';
_.map(contents, item => {
if (item.displayName === '7天退换货') {
item.content = {
banner: banner,
intros: [
{title: '特权介绍:', data: ['自物流签收之日起7天之内可以退货,15天之内可以换货(以快递公司的物流签收日期为准)。']},
{title: '其他说明:', data: ['退换货政策详细说明请见app服务与反馈-售后问题-退换货政策。']},
],
interlocution: []
};
} else if (item.displayName === '极速发货') {
item.content = {
banner: banner,
intros: [
{title: '特权介绍:', data: ['普通商品下单后24小时安排发货,部分特殊商品除外。']},
{title: '其他说明:', data: ['预售商品发货时间以商品页面标注为准。', '部分品牌需要调货,发货周期会有一定延长,发货时间以下单页面提示为准。']},
],
interlocution: []
};
} else if (item.displayName === '专享折扣') {
item.content = {
banner: banner,
intros: [
{title: '特权介绍:', data: ['会员在有货平台上购买符合活动范围的商品时,可享受固定的折扣。会员等级越高,享受的折扣力度越大。']},
{title: '折扣说明:', data: ['银卡会员享9.5折优惠,金卡会员享9折优惠,白金卡会员享8.8折优惠。']},
],
interlocution: []
};
} else if (item.displayName === '生日礼包') {
item.content = {
banner: banner,
intros: [
{title: '特权介绍:', data: ['会员专享生日福利,等级越高,价值越高,具体以你实际领取为准。']},
{title: '权益对象:', data: ['银卡及以上会员、且已完善个人生日信息才可领取生日福利券。']},
{title: '领取说明:', data: [
'生日福利券在你生日当月可领,领取后有效期15天。',
'生日福利券可在消息中心-我的资产页面领取。',
'若你在上述时间段内未领取,将无法补发生日礼包哦。'
]},
],
interlocution: [
{q: '如何完善生日信息?', a: ['未填写生日的会员,可至“个人中心”点击头像填写生日。']},
{q: '为什么没有领取到生日礼包?', a: ['a. 请确认个人资料中是否已维护生日信息。', 'b. 生日福利仅针对银卡及以上会员发放。', 'c. 生日福利每年(365天)仅限领取一次。']}
]
};
} else if (item.displayName === '免邮服务') {
item.content = {
banner: banner,
intros: [
{title: '特权介绍:', data: ['金卡会员每月可享3次普通快递免邮、白金会员每月可享5次顺丰快递免邮(顺丰无法触达地区将改发其他快递)。']},
{title: '使用说明:', data: ['免邮次数每月一日更新,会员等级升级时,免邮次数当天更新。', '金卡会员可消耗一次免邮次数将已达到免邮门槛的普通快递订单升级至顺丰快递。']},
],
interlocution: []
};
} else if (item.displayName === '购物返币') {
item.content = {};
} else if (item.displayName === '升级礼包') {
item.content = {};
} else if (item.displayName === '专属客服') {
item.content = {};
}
});
return contents;
}
module.exports = {
droitHtml,
};
... ...
... ... @@ -10,46 +10,39 @@
<div class="grade-droit-content">
{{#vipNav}}
<div class="droit-nav-content {{#unless active}}hide{{/unless}}">
<div class="banner">
<img src="//img10.static.yhbimg.com/article/2017/06/20/12/01a50a1f45b97365e758d6890858998310.jpg?imageView2/2/w/670/h/240/q/60/format/webp">
</div>
<div class="intro">
<h2 class="leaguer">{{displayName}}--会员权益</h2>
<h4>特权介绍</h4>
<p>会员专享生日礼包,等级越高,礼包价值越高,具体以您实际领取为准。</p>
<h4>权益对象</h4>
<p>银卡及以上会员、且已完善个人生日信息才可领取生日礼包。</p>
<h4>领取说明</h4>
<p>生日礼包在您生日前7天至生日后7天可领,领取后有效期15天。</p>
<p>生日礼包可在会员中心-我的礼包页面领取。</p>
<p>若您在上述时间段内未领取,将无法补发生日礼包哦。</p>
</div>
<div class="interlocution">
<div class="interlocution-item">
<div class="q">
如何完善生日信息?
</div>
<div class="a" style="display: none;">
<div class="a-left"></div>
<div class="a-right">
<p>a.请确认个人资料中是否已维护生日信息确认个人资料中是否已维护生日信息确认个人资料中是否已维护生日信息确认个人资料中是否已维护生日信息确认个人资料中是否已维护生日信息确认个人资料中是否已维护生日信息确认个人资料中是否已维护生日信息。</p>
<p>b.请确认个人资料中是否已维护生日信息。</p>
<p>c.请确认个人资料中是否已维护生日信息。</p>
</div>
{{#if content.intros}}
{{#if content.banner}}
<div class="banner">
<img src="{{content.banner}}">
</div>
{{/if}}
<div class="intro">
<h2 class="leaguer">{{displayName}}</h2>
{{#content.intros}}
<h4>{{title}}</h4>
{{#data}}
<p>{{.}}</p>
{{/data}}
{{/content.intros}}
</div>
<div class="interlocution-item">
<div class="q">
如何完善生日信息?
</div>
<div class="a" style="display: none;">
<div class="a-left"></div>
<div class="a-right">
<p>a.请确认个人资料中是否已维护生日信息。</p>
<div class="interlocution">
{{#content.interlocution}}
<div class="interlocution-item">
<div class="q">{{q}}</div>
<div class="a" style="display: none;">
<div class="a-left"></div>
<div class="a-right">
{{#a}}
<p>{{.}}</p>
{{/a}}
</div>
</div>
</div>
</div>
{{/content.interlocution}}
</div>
</div>
{{else}}
<div class="empty">敬请期待…</div>
{{/if}}
</div>
{{/vipNav}}
</div>
... ...
import 'activity/grade-droit.page.css';
import $ from 'yoho-jquery';
import Page from 'yoho-page';
import Swiper from 'yoho-swiper';
class GradeDroitPage extends Page {
constructor() {
... ... @@ -37,10 +36,13 @@ class GradeDroitPage extends Page {
_setScroll() {
let winWidth = $(window).width();
let aOffset = this.selector.$droitNav.find('.droit-nav-item.active').offset();
let $activeDom = this.selector.$droitNav.find('.droit-nav-item.active');
let aOffset = $activeDom.offset();
if (aOffset.left > winWidth) {
this.selector.$droitNav.animate({scrollLeft: (aOffset.left - winWidth / 2) + 'px'}, 1000);
this.selector.$droitNav.animate({
scrollLeft: (aOffset.left - winWidth / 2 + $activeDom.width() / 2) + 'px'
}, 1000);
}
}
... ...
... ... @@ -81,6 +81,10 @@
font-size: 24px;
color: #444;
}
p {
margin-bottom: 10px;
}
}
}
... ... @@ -106,6 +110,7 @@
background: resolve("activity/grade/q@2x.png") no-repeat;
background-size: contain;
vertical-align: middle;
margin-right: 14px;
}
&:after,
... ... @@ -159,4 +164,11 @@
}
}
}
.empty {
height: 300px;
line-height: 300px;
text-align: center;
font-size: 28px;
}
}
... ...