...
|
...
|
@@ -16,499 +16,492 @@ const service = global.yoho.ServiceAPI; |
|
|
const utils = '../../../utils';
|
|
|
const resourcesProcess = require(`${utils}/resources-process`);
|
|
|
|
|
|
/**
|
|
|
* 个人详情数据
|
|
|
*/
|
|
|
const _userData = (params) => {
|
|
|
if (params.uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.passport.profile',
|
|
|
uid: params.uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return Promise.resolve({});
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 获取个人中心公告有关数据
|
|
|
*/
|
|
|
const _noticeData = () => {
|
|
|
return api.get('', {
|
|
|
method: 'app.resources.getNotices'
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 收藏数量接口
|
|
|
* @param params
|
|
|
* @returns {*|Promise.<TResult>}
|
|
|
*/
|
|
|
const _favoriteData = (params) => {
|
|
|
if (params.uid) {
|
|
|
return singleAPI.get('favorite', {
|
|
|
method: 'app.favorite.getFavoriteCount',
|
|
|
uid: params.uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return false;
|
|
|
module.exports = class extends global.yoho.BaseModel {
|
|
|
constructor(ctx) {
|
|
|
super(ctx);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 个人中心页面优惠券,收藏的商品等的数目数据
|
|
|
*/
|
|
|
const _infoNum = (params) => {
|
|
|
if (params.uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.home.getInfoNum',
|
|
|
uid: params.uid,
|
|
|
udid: params.udid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return false;
|
|
|
/**
|
|
|
* 个人详情数据
|
|
|
*/
|
|
|
_userData(params) {
|
|
|
if (params.uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.passport.profile',
|
|
|
uid: params.uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return Promise.resolve({});
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 从接口获取地址列表
|
|
|
* @param params
|
|
|
*/
|
|
|
const _getAddressData = (params) => {
|
|
|
if (params.uid) {
|
|
|
/**
|
|
|
* 获取个人中心公告有关数据
|
|
|
*/
|
|
|
_noticeData() {
|
|
|
return api.get('', {
|
|
|
method: 'app.address.gethidden',
|
|
|
uid: params.uid
|
|
|
method: 'app.resources.getNotices'
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
// 资源位
|
|
|
const _getRes = () => {
|
|
|
return service.get('/operations/api/v5/resource/home', {
|
|
|
content_code: '5d05d443a557783b1489d328c127e9bf',
|
|
|
}).then(result => {
|
|
|
if (result && result.code === 200 && result.data && result.data.list) {
|
|
|
for (let item of result.data.list) {
|
|
|
item.template_name === 'single_image' &&
|
|
|
item.data.length === 1 &&
|
|
|
(item.singleOne = true);
|
|
|
}
|
|
|
return resourcesProcess(result.data.list);
|
|
|
/**
|
|
|
* 收藏数量接口
|
|
|
* @param params
|
|
|
* @returns {*|Promise.<TResult>}
|
|
|
*/
|
|
|
_favoriteData(params) {
|
|
|
if (params.uid) {
|
|
|
return singleAPI.get('favorite', {
|
|
|
method: 'app.favorite.getFavoriteCount',
|
|
|
uid: params.uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return result;
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
|
|
|
// 潮流口令
|
|
|
const _getCode = (uid) => {
|
|
|
if (uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.invitecode.my',
|
|
|
uid: uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return Promise.resolve({});
|
|
|
}
|
|
|
};
|
|
|
|
|
|
const _getTrendPop = (contentCode) => {
|
|
|
return service.get('operations/api/v5/resource/get', {
|
|
|
content_code: contentCode,
|
|
|
}).then(result => {
|
|
|
if (result && result.code === 200 && result.data) {
|
|
|
return result.data[0];
|
|
|
/**
|
|
|
* 个人中心页面优惠券,收藏的商品等的数目数据
|
|
|
*/
|
|
|
_infoNum(params) {
|
|
|
if (params.uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.home.getInfoNum',
|
|
|
uid: params.uid,
|
|
|
udid: params.udid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return result;
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 个人中心首页
|
|
|
* @param params
|
|
|
* @returns {function()}
|
|
|
*/
|
|
|
const index = (params) => {
|
|
|
let finalResult = {
|
|
|
myIndexPage: true,
|
|
|
navHome: true,
|
|
|
pageFooter: true,
|
|
|
refundExchangeNum: 0,
|
|
|
commentTotal: 0,
|
|
|
cartUrl: helpers.urlFormat('/cart/index/index'),
|
|
|
signinUrl: helpers.urlFormat('/signin.html', {
|
|
|
refer: helpers.urlFormat('/home')
|
|
|
}),
|
|
|
referUrl: helpers.urlFormat('/home'),
|
|
|
verifyUrl: helpers.urlFormat('/activity/student/register')
|
|
|
};
|
|
|
|
|
|
return api.all([
|
|
|
_userData(params),
|
|
|
_noticeData(),
|
|
|
_favoriteData(params),
|
|
|
_infoNum(params),
|
|
|
_getAddressData(params),
|
|
|
_getRes(),
|
|
|
_getCode(params.uid),
|
|
|
_getTrendPop(params.contentCode)
|
|
|
]).then(result => {
|
|
|
if (result[0] && result[0].data) {
|
|
|
Object.assign(finalResult, {
|
|
|
profileName: result[0].data.profile_name,
|
|
|
headIco: result[0].data.head_ico,
|
|
|
vipInfo: result[0].data.vip_info,
|
|
|
students: _.get(result[0].data, 'vip_info.is_student', 0) === 1,
|
|
|
trendWord: _.get(result[6].data, 'trendWord', false),
|
|
|
inviteCode: _.get(result[6].data, 'inviteCode', ''),
|
|
|
trendGuidePopUpDesc: _.get(result[6].data, 'trendGuidePopUpDesc', ''),
|
|
|
bannerSrc: _.get(result[7], 'data[0].src', '')
|
|
|
/**
|
|
|
* 从接口获取地址列表
|
|
|
* @param params
|
|
|
*/
|
|
|
_getAddressData(params) {
|
|
|
if (params.uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.address.gethidden',
|
|
|
uid: params.uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (result[1] && result[1].data) {
|
|
|
Object.assign(finalResult, {
|
|
|
notice: result[1].data.list
|
|
|
});
|
|
|
}
|
|
|
// 资源位
|
|
|
_getRes() {
|
|
|
return service.get('/operations/api/v5/resource/home', {
|
|
|
content_code: '5d05d443a557783b1489d328c127e9bf',
|
|
|
}).then(result => {
|
|
|
if (result && result.code === 200 && result.data && result.data.list) {
|
|
|
for (let item of result.data.list) {
|
|
|
item.template_name === 'single_image' &&
|
|
|
item.data.length === 1 &&
|
|
|
(item.singleOne = true);
|
|
|
}
|
|
|
return resourcesProcess(result.data.list);
|
|
|
} else {
|
|
|
return result;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
if (result[2] && result[2].data) {
|
|
|
Object.assign(finalResult, {
|
|
|
productFavoriteTotal: _.get(result[2], 'data.product_favorite_total', '0')
|
|
|
// 潮流口令
|
|
|
_getCode(uid) {
|
|
|
if (uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.invitecode.my',
|
|
|
uid: uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
Object.assign(finalResult, {
|
|
|
productFavoriteTotal: '0'
|
|
|
});
|
|
|
return Promise.resolve({});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (result[3] && result[3].data) {
|
|
|
Object.assign(finalResult, {
|
|
|
refundExchangeNum: result[3].data.refund_exchange_num,
|
|
|
sendCargoNum: result[3].data.send_cargo_num,
|
|
|
waitCargoNum: result[3].data.wait_cargo_num,
|
|
|
waitPayNum: result[3].data.wait_pay_num,
|
|
|
yohoCoinNum: result[3].data.yoho_coin_num,
|
|
|
inboxTotal: result[3].data.inbox_total,
|
|
|
couponNum: result[3].data.coupon_num,
|
|
|
brandFavoriteTotal: _.get(result[3], 'data.brand_favorite_total', '0'),
|
|
|
productBrowse: _.get(result[3], 'data.product_browse', '0')
|
|
|
});
|
|
|
} else {
|
|
|
Object.assign(finalResult, {
|
|
|
brandFavoriteTotal: '0',
|
|
|
productBrowse: '0'
|
|
|
});
|
|
|
}
|
|
|
_getTrendPop(contentCode) {
|
|
|
return service.get('operations/api/v5/resource/get', {
|
|
|
content_code: contentCode,
|
|
|
}).then(result => {
|
|
|
if (result && result.code === 200 && result.data) {
|
|
|
return result.data[0];
|
|
|
} else {
|
|
|
return result;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
if (result[4] && result[4].data) {
|
|
|
Object.assign(finalResult, {
|
|
|
addressNum: result[4].data.length
|
|
|
});
|
|
|
}
|
|
|
/**
|
|
|
* 个人中心首页
|
|
|
* @param params
|
|
|
* @returns {function()}
|
|
|
*/
|
|
|
index(params) {
|
|
|
let finalResult = {
|
|
|
myIndexPage: true,
|
|
|
navHome: true,
|
|
|
pageFooter: true,
|
|
|
refundExchangeNum: 0,
|
|
|
commentTotal: 0,
|
|
|
cartUrl: helpers.urlFormat('/cart/index/index'),
|
|
|
signinUrl: helpers.urlFormat('/signin.html', {
|
|
|
refer: helpers.urlFormat('/home')
|
|
|
}),
|
|
|
referUrl: helpers.urlFormat('/home'),
|
|
|
verifyUrl: helpers.urlFormat('/activity/student/register')
|
|
|
};
|
|
|
|
|
|
if (result[5]) {
|
|
|
finalResult.content = result[5];
|
|
|
}
|
|
|
return api.all([
|
|
|
this._userData(params),
|
|
|
this._noticeData(),
|
|
|
this._favoriteData(params),
|
|
|
this._infoNum(params),
|
|
|
this._getAddressData(params),
|
|
|
this._getRes(),
|
|
|
this._getCode(params.uid),
|
|
|
this._getTrendPop(params.contentCode)
|
|
|
]).then(result => {
|
|
|
if (result[0] && result[0].data) {
|
|
|
Object.assign(finalResult, {
|
|
|
profileName: result[0].data.profile_name,
|
|
|
headIco: result[0].data.head_ico,
|
|
|
vipInfo: result[0].data.vip_info,
|
|
|
students: _.get(result[0].data, 'vip_info.is_student', 0) === 1,
|
|
|
trendWord: _.get(result[6].data, 'trendWord', false),
|
|
|
inviteCode: _.get(result[6].data, 'inviteCode', ''),
|
|
|
trendGuidePopUpDesc: _.get(result[6].data, 'trendGuidePopUpDesc', ''),
|
|
|
bannerSrc: _.get(result[7], 'data[0].src', '')
|
|
|
});
|
|
|
}
|
|
|
|
|
|
return finalResult;
|
|
|
});
|
|
|
};
|
|
|
if (result[1] && result[1].data) {
|
|
|
Object.assign(finalResult, {
|
|
|
notice: result[1].data.list
|
|
|
});
|
|
|
}
|
|
|
|
|
|
const _detailInfo = (uid) => {
|
|
|
return api.get('', {
|
|
|
method: 'app.passport.profile',
|
|
|
uid: uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
};
|
|
|
if (result[2] && result[2].data) {
|
|
|
Object.assign(finalResult, {
|
|
|
productFavoriteTotal: _.get(result[2], 'data.product_favorite_total', '0')
|
|
|
});
|
|
|
} else {
|
|
|
Object.assign(finalResult, {
|
|
|
productFavoriteTotal: '0'
|
|
|
});
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 个人基本资料
|
|
|
* @param params
|
|
|
*/
|
|
|
const myDetails = (uid) => {
|
|
|
if (uid) {
|
|
|
return api.all([_detailInfo(uid), _getCode(uid)]).then(result => {
|
|
|
if (result[0].data) {
|
|
|
result[0].data.gender = (result[0].data.gender === '1' ? '男' : '女');
|
|
|
result[0].data.qrcodeLink = helpers.urlFormat('/home/user/qrcode', {
|
|
|
token: _.get(result[0], 'data.uid', null) ?
|
|
|
crypto.encryption('yoho9646yoho9646', _.get(result, 'data.uid', null) + '') : '',
|
|
|
icon: _.get(result[0], 'data.head_ico', ''),
|
|
|
uname: _.get(result[0], 'data.nickname', ''),
|
|
|
vip: _.get(result[0], 'data.vip_info.cur_level')
|
|
|
if (result[3] && result[3].data) {
|
|
|
Object.assign(finalResult, {
|
|
|
refundExchangeNum: result[3].data.refund_exchange_num,
|
|
|
sendCargoNum: result[3].data.send_cargo_num,
|
|
|
waitCargoNum: result[3].data.wait_cargo_num,
|
|
|
waitPayNum: result[3].data.wait_pay_num,
|
|
|
yohoCoinNum: result[3].data.yoho_coin_num,
|
|
|
inboxTotal: result[3].data.inbox_total,
|
|
|
couponNum: result[3].data.coupon_num,
|
|
|
brandFavoriteTotal: _.get(result[3], 'data.brand_favorite_total', '0'),
|
|
|
productBrowse: _.get(result[3], 'data.product_browse', '0')
|
|
|
});
|
|
|
} else {
|
|
|
Object.assign(finalResult, {
|
|
|
brandFavoriteTotal: '0',
|
|
|
productBrowse: '0'
|
|
|
});
|
|
|
result[0].data.trendWord = _.get(result[1].data, 'trendWord', false);
|
|
|
result[0].data.inviteCode = _.get(result[1].data, 'inviteCode', false);
|
|
|
}
|
|
|
|
|
|
return result[0].data;
|
|
|
});
|
|
|
} else {
|
|
|
return Promise.resolve({});
|
|
|
}
|
|
|
};
|
|
|
if (result[4] && result[4].data) {
|
|
|
Object.assign(finalResult, {
|
|
|
addressNum: result[4].data.length
|
|
|
});
|
|
|
}
|
|
|
|
|
|
if (result[5]) {
|
|
|
finalResult.content = result[5];
|
|
|
}
|
|
|
|
|
|
return finalResult;
|
|
|
});
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 浏览记录
|
|
|
* @param params
|
|
|
*/
|
|
|
const recordContent = (uid, udid, page, limit) => {
|
|
|
if (uid) {
|
|
|
_detailInfo(uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.browse.product',
|
|
|
uid: uid,
|
|
|
limit: limit,
|
|
|
page: page
|
|
|
method: 'app.passport.profile',
|
|
|
uid: uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
}).then((result) => {
|
|
|
|
|
|
let resu = {};
|
|
|
|
|
|
if (result && result.code === 200) {
|
|
|
|
|
|
let list = result;
|
|
|
|
|
|
if (!result || page === '1' && result.data.total === 0) {
|
|
|
resu.walkwayUrl = helpers.urlFormat('/product/new');
|
|
|
resu.noRecord = true;
|
|
|
});
|
|
|
}
|
|
|
|
|
|
return resu;
|
|
|
/**
|
|
|
* 个人基本资料
|
|
|
* @param params
|
|
|
*/
|
|
|
myDetails(uid) {
|
|
|
if (uid) {
|
|
|
return api.all([this._detailInfo(uid), this._getCode(uid)]).then(result => {
|
|
|
if (result[0].data) {
|
|
|
result[0].data.gender = (result[0].data.gender === '1' ? '男' : '女');
|
|
|
result[0].data.qrcodeLink = helpers.urlFormat('/home/user/qrcode', {
|
|
|
token: _.get(result[0], 'data.uid', null) ?
|
|
|
crypto.encryption('yoho9646yoho9646', _.get(result, 'data.uid', null) + '') : '',
|
|
|
icon: _.get(result[0], 'data.head_ico', ''),
|
|
|
uname: _.get(result[0], 'data.nickname', ''),
|
|
|
vip: _.get(result[0], 'data.vip_info.cur_level')
|
|
|
});
|
|
|
result[0].data.trendWord = _.get(result[1].data, 'trendWord', false);
|
|
|
result[0].data.inviteCode = _.get(result[1].data, 'inviteCode', false);
|
|
|
}
|
|
|
|
|
|
if (list.data && list.data.product_list) {
|
|
|
resu = {
|
|
|
browseRecord: []
|
|
|
};
|
|
|
return result[0].data;
|
|
|
});
|
|
|
} else {
|
|
|
return Promise.resolve({});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
_.forEach(list.data.product_list, function(val) {
|
|
|
let obj = {
|
|
|
productList: []
|
|
|
/**
|
|
|
* 浏览记录
|
|
|
* @param params
|
|
|
*/
|
|
|
recordContent(uid, udid, page, limit) {
|
|
|
if (uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.browse.product',
|
|
|
uid: uid,
|
|
|
limit: limit,
|
|
|
page: page
|
|
|
}, {
|
|
|
code: 200
|
|
|
}).then((result) => {
|
|
|
|
|
|
let resu = {};
|
|
|
|
|
|
if (result && result.code === 200) {
|
|
|
|
|
|
let list = result;
|
|
|
|
|
|
if (!result || page === '1' && result.data.total === 0) {
|
|
|
resu.walkwayUrl = helpers.urlFormat('/product/new');
|
|
|
resu.noRecord = true;
|
|
|
|
|
|
return resu;
|
|
|
}
|
|
|
|
|
|
if (list.data && list.data.product_list) {
|
|
|
resu = {
|
|
|
browseRecord: []
|
|
|
};
|
|
|
|
|
|
obj = _.assign(obj, {
|
|
|
product_name: val.product_name,
|
|
|
product_skn: val.product_skn,
|
|
|
storage: val.storage,
|
|
|
image: val.image,
|
|
|
link: '/product/' + val.product_skn + '.html', // 商品url改版
|
|
|
sales_price: val.sales_price,
|
|
|
market_price: (val.market_price - val.sales_price) > 0 ? val.market_price : false,
|
|
|
invalidGoods: val.status === 0
|
|
|
_.forEach(list.data.product_list, function(val) {
|
|
|
let obj = {
|
|
|
productList: []
|
|
|
};
|
|
|
|
|
|
obj = _.assign(obj, {
|
|
|
product_name: val.product_name,
|
|
|
product_skn: val.product_skn,
|
|
|
storage: val.storage,
|
|
|
image: val.image,
|
|
|
link: '/product/' + val.product_skn + '.html', // 商品url改版
|
|
|
sales_price: val.sales_price,
|
|
|
market_price: (val.market_price - val.sales_price) > 0 ? val.market_price : false,
|
|
|
invalidGoods: val.status === 0
|
|
|
});
|
|
|
|
|
|
resu.browseRecord.push(obj);
|
|
|
});
|
|
|
}
|
|
|
|
|
|
resu.browseRecord.push(obj);
|
|
|
});
|
|
|
return resu;
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return resu;
|
|
|
}
|
|
|
/**
|
|
|
* 删除浏览记录
|
|
|
* @param params
|
|
|
*/
|
|
|
delRecord(uid, skn) {
|
|
|
return api.get('', {
|
|
|
method: 'app.browse.delete',
|
|
|
uid: uid,
|
|
|
skn: skn
|
|
|
});
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 删除浏览记录
|
|
|
* @param params
|
|
|
*/
|
|
|
const delRecord = (uid, skn) => {
|
|
|
return api.get('', {
|
|
|
method: 'app.browse.delete',
|
|
|
uid: uid,
|
|
|
skn: skn
|
|
|
});
|
|
|
};
|
|
|
/**
|
|
|
* 会员等级
|
|
|
* @param params
|
|
|
*/
|
|
|
getGradeGrade(uid, channel) {
|
|
|
return api.get('', {
|
|
|
method: 'app.passport.vip',
|
|
|
uid: uid,
|
|
|
channel: channel || 1
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 会员等级
|
|
|
* @param params
|
|
|
*/
|
|
|
const getGradeGrade = (uid, channel) => {
|
|
|
return api.get('', {
|
|
|
method: 'app.passport.vip',
|
|
|
uid: uid,
|
|
|
channel: channel || 1
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
};
|
|
|
getGradeUser(uid, channel) {
|
|
|
return api.get('', {
|
|
|
method: 'app.passport.profile',
|
|
|
uid: uid,
|
|
|
channel: channel || 1
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
}
|
|
|
|
|
|
const getGradeUser = (uid, channel) => {
|
|
|
return api.get('', {
|
|
|
method: 'app.passport.profile',
|
|
|
uid: uid,
|
|
|
channel: channel || 1
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
};
|
|
|
getGrade(param) {
|
|
|
if (param.uid) {
|
|
|
return api.all([
|
|
|
this.getGradeGrade(param.uid, param.channel),
|
|
|
this.getGradeUser(param.uid, param.channel)
|
|
|
]).then((result) => {
|
|
|
|
|
|
const getGrade = (param) => {
|
|
|
if (param.uid) {
|
|
|
return api.all([
|
|
|
getGradeGrade(param.uid, param.channel),
|
|
|
getGradeUser(param.uid, param.channel)
|
|
|
]).then((result) => {
|
|
|
let resu = {
|
|
|
vipGrade: []
|
|
|
};
|
|
|
|
|
|
let resu = {
|
|
|
vipGrade: []
|
|
|
};
|
|
|
let enp = {};
|
|
|
|
|
|
let enp = {};
|
|
|
let obj = {
|
|
|
privilege: []
|
|
|
};
|
|
|
|
|
|
let obj = {
|
|
|
privilege: []
|
|
|
};
|
|
|
if (result[0] && result[0].data) {
|
|
|
|
|
|
if (result[0] && result[0].data) {
|
|
|
_.forEach(result[0].data.enjoy_preferential, function(val) {
|
|
|
|
|
|
_.forEach(result[0].data.enjoy_preferential, function(val) {
|
|
|
enp = {
|
|
|
description: val.description,
|
|
|
pic: val.pic,
|
|
|
title: val.title,
|
|
|
href: val.id === 8
|
|
|
};
|
|
|
|
|
|
enp = {
|
|
|
description: val.description,
|
|
|
pic: val.pic,
|
|
|
title: val.title,
|
|
|
href: val.id === 8
|
|
|
};
|
|
|
obj.privilege.push(enp);
|
|
|
|
|
|
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:
|
|
|
|
|
|
}
|
|
|
|
|
|
let upg = (1 * (result[0].data.upgrade_need_cost)).toFixed(2);
|
|
|
|
|
|
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, {
|
|
|
costOfThisYear: result[0].data.current_year_cost,
|
|
|
sumCost: result[0].data.current_total_cost,
|
|
|
allUrl: helpers.urlFormat('/home/privilege'),
|
|
|
costGap: upg
|
|
|
});
|
|
|
|
|
|
if (result[0].data.next_need_cost === 0 || result[0].data.next_need_cost === '') {
|
|
|
// 当vip等级升至顶级时,进度条满格
|
|
|
obj = _.assign(obj, {
|
|
|
vip3: true
|
|
|
percent: 100
|
|
|
});
|
|
|
break;
|
|
|
default:
|
|
|
} else {
|
|
|
|
|
|
}
|
|
|
let perf = (100 * (result[0].data.current_year_cost / result[0].data.next_need_cost)).toFixed(2);
|
|
|
|
|
|
let upg = (1 * (result[0].data.upgrade_need_cost)).toFixed(2);
|
|
|
obj = _.assign(obj, {
|
|
|
percent: perf
|
|
|
});
|
|
|
|
|
|
obj = _.assign(obj, {
|
|
|
costOfThisYear: result[0].data.current_year_cost,
|
|
|
sumCost: result[0].data.current_total_cost,
|
|
|
allUrl: helpers.urlFormat('/home/privilege'),
|
|
|
costGap: upg
|
|
|
});
|
|
|
}
|
|
|
|
|
|
if (result[0].data.next_need_cost === 0 || result[0].data.next_need_cost === '') {
|
|
|
// 当vip等级升至顶级时,进度条满格
|
|
|
obj = _.assign(obj, {
|
|
|
percent: 100
|
|
|
});
|
|
|
} else {
|
|
|
|
|
|
let perf = (100 * (result[0].data.current_year_cost / result[0].data.next_need_cost)).toFixed(2);
|
|
|
}
|
|
|
|
|
|
if (result[0] && result[0].data) {
|
|
|
obj = _.assign(obj, {
|
|
|
percent: perf
|
|
|
name: result[1].data.nickname
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if (result[0] && result[0].data) {
|
|
|
obj = _.assign(obj, {
|
|
|
name: result[1].data.nickname
|
|
|
});
|
|
|
}
|
|
|
resu.vipGrade.push(obj);
|
|
|
|
|
|
resu.vipGrade.push(obj);
|
|
|
|
|
|
return resu;
|
|
|
});
|
|
|
} else {
|
|
|
return Promise.resolve({});
|
|
|
return resu;
|
|
|
});
|
|
|
} else {
|
|
|
return Promise.resolve({});
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 会员特权列表页
|
|
|
* @param params
|
|
|
*/
|
|
|
/**
|
|
|
* 会员特权列表页
|
|
|
* @param params
|
|
|
*/
|
|
|
getPreferential(params) {
|
|
|
|
|
|
const getPreferential = (params) => {
|
|
|
|
|
|
return api.get('', {
|
|
|
method: 'app.passport.getPrivilege',
|
|
|
uid: params.uid,
|
|
|
channel: params.channel || 1
|
|
|
}, {
|
|
|
code: 200
|
|
|
}).then((result) => {
|
|
|
|
|
|
let obj = {};
|
|
|
|
|
|
let resu = {
|
|
|
privilege: []
|
|
|
};
|
|
|
return api.get('', {
|
|
|
method: 'app.passport.getPrivilege',
|
|
|
uid: params.uid,
|
|
|
channel: params.channel || 1
|
|
|
}, {
|
|
|
code: 200
|
|
|
}).then((result) => {
|
|
|
|
|
|
_.forEach(result.data, function(val) {
|
|
|
let obj = {};
|
|
|
|
|
|
obj = {
|
|
|
description: val.description,
|
|
|
pic: val.pic,
|
|
|
title: val.title,
|
|
|
href: val.id === 8 ? '//m.yohobuy.com/activity/birthday' : _.get(val, 'actionParam', false)
|
|
|
let resu = {
|
|
|
privilege: []
|
|
|
};
|
|
|
|
|
|
resu.privilege.push(obj);
|
|
|
_.forEach(result.data, function(val) {
|
|
|
|
|
|
});
|
|
|
obj = {
|
|
|
description: val.description,
|
|
|
pic: val.pic,
|
|
|
title: val.title,
|
|
|
href: val.id === 8 ? '//m.yohobuy.com/activity/birthday' : _.get(val, 'actionParam', false)
|
|
|
};
|
|
|
|
|
|
return resu;
|
|
|
resu.privilege.push(obj);
|
|
|
|
|
|
});
|
|
|
};
|
|
|
});
|
|
|
|
|
|
return resu;
|
|
|
|
|
|
module.exports = {
|
|
|
index,
|
|
|
myDetails,
|
|
|
recordContent,
|
|
|
delRecord,
|
|
|
getGrade,
|
|
|
getPreferential,
|
|
|
getGradeGrade,
|
|
|
});
|
|
|
}
|
|
|
}; |
...
|
...
|
|