Authored by lijing

会员

... ... @@ -159,10 +159,38 @@ exports.grade = (req, res, next) => {
uid: req.user.uid || 8039759,
channel: req.query.channel || 1
}).then((result) => {
console.log(result);
res.render('vip-grade/vip-grade', Object.assign(result, responseData));
}).catch(next);
};
/**
* 会员特权列表页
* @param req
* @param res
* @param next
*/
exports.preferential = (req, res, next) => {
let headerData = headerModel.setNav({
navTitle: '会员特权详情'
});
let responseData = {
pageHeader: headerData,
module: 'home',
page: 'grade',
title: '会员特权详情',
pageFooter: true
};
indexModel.getPreferential({
uid: req.user.uid || 8039759,
channel: req.query.channel || 1
}).then((result) => {
res.render('vip-grade/privilege', Object.assign(result, responseData));
}).catch(next);
};
... ...
... ... @@ -245,27 +245,125 @@ const getGrade = (channel, uid) => {
vipGrade: []
};
let enp = {};
let obj = {
privilege: []
};
if (result[0] && result[0].data) {
resu = {
vipGrade: [
{
costOfThisYear: result[0].data.current_year_cost,
sumCost: result[0].data.current_total_cost,
vip1: true,
name: '1111'
}
]
};
_.forEach(result[0].data.enjoy_preferential, function(val) {
enp = {
description: val.description,
pic: val.pic,
title: val.title
};
obj.privilege.push(enp);
});
switch (result[0].data.current_vip_level) {
case '0':// 普通会员
obj = _.assign(obj, {
vip0: true
});
break;
case '1':// 银卡会员
obj = _.assign(obj, {
vip1: true
});
break;
case '2':// 金卡会员
obj = _.assign(obj, {
vip2: true
});
break;
case '3':// 白金会员
obj = _.assign(obj, {
vip3: true
});
break;
default :
;
}
obj = _.assign(obj, {
costOfThisYear: result[0].data.current_year_cost,
sumCost: result[0].data.current_total_cost,
allUrl: helpers.urlFormat('/home/preferential'),
costGap: result[0].data.upgrade_need_cost
});
if (result[0].data.next_need_cost === 0) {
// 当vip等级升至顶级时,进度条满格
obj = _.assign(obj, {
percent: 100
});
} else {
obj = _.assign(obj, {
percent: 100 * (result[0].data.current_year_cost / result[0].data.next_need_cost)
});
}
}
if (result[0] && result[0].data) {
obj = _.assign(obj, {
name: result[1].data.nickname
});
}
resu.vipGrade.push(obj);
return resu;
});
};
/**
* 会员特权列表页
* @param params
*/
const getPreferential = (uid, channel) => {
return api.get('', {
method: 'app.passport.getPrivilege',
uid: uid || 6228593,
channel: channel || 1
}, {code: 200}).then((result) => {
let obj = {};
let resu = {
privilege: []
};
_.forEach(result.data, function(val) {
obj = {
description: val.description,
pic: val.pic,
title: val.title
};
resu.privilege.push(obj);
});
return resu;
});
};
module.exports = {
index,
myDetails,
recordContent,
delRecord,
getGrade
getGrade,
getPreferential
};
... ...
... ... @@ -46,6 +46,7 @@ router.get('/', homeController.index); // 个人中心首页
router.get('/mydetails', homeController.myDetails); // 个人基本资料页面
router.get('/grade', homeController.grade); // 会员等级页
router.get('/privilege', homeController.preferential); // 会员特权列表页
router.get('/mycurrency', currencyController.myCurrency); // yoho币总数
router.get('/currencyDetail', currencyController.currencyDetail); // yoho币列表
... ... @@ -75,4 +76,4 @@ router.post('/couponData', coupons.couponData);
router.get('/help', help.index);
router.get('/helpDetail', help.helpDetail);
module.exports = router;
\ No newline at end of file
module.exports = router;
... ...
<div class="vip-privilege-page yoho-page">
<ul class="privilege-list">
{{#each privilege}}
<li>
<img class="icon" src="{{pic}}">
<p>
{{title}}
<span>{{description}}</span>
</p>
</li>
{{/each}}
</ul>
</div>
\ No newline at end of file
... ...
333
<ul class="privilege-list">
{{#each privilege}}
<li>
... ...
... ... @@ -177,7 +177,6 @@
}
li {
height: 70px;
padding: 25px 0;
}
... ...