index.js
2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/**
* Created by PhpStorm.
* User: Targaryen
* Date: 2016/8/10
* Time: 13:43
*/
'use strict';
const api = global.yoho.API;
const singleAPI = global.yoho.SingleAPI;
const helpers = global.yoho.helpers;
const camelCase = global.yoho.camelCase;
/**
* 个人详情数据
*/
const _userData = (params) => {
return api.get('', {
method: 'app.passport.profile',
uid: params.uid
}, {code: 200});
};
/**
* 获取个人中心公告有关数据
*/
const _noticeData = () => {
return api.get('', {
method: 'app.resources.getNotices'
}, {code: 200});
};
/**
* 收藏数量接口
* @param params
* @returns {*|Promise.<TResult>}
*/
const _favoriteData = (params) => {
return singleAPI.get('brower', {
method: 'app.favorite.getFavoriteCount',
uid: params.uid
}, {code: 200});
};
/**
* 个人中心页面优惠券,收藏的商品等的数目数据
*/
const _infoNum = (params) => {
return api.get('', {
method: 'app.home.getInfoNum',
uid: params.uid,
udid: params.udid
}, {code: 200});
};
/**
* 个人中心首页
* @param params
* @returns {function()}
*/
const index = (params) => {
let finalResult = {
myIndexPage: true,
showDownloadApp: true,
navHome: true,
pageFooter: true,
refundExchangeNum: 0,
commentTotal: 0,
cartUrl: helpers.urlFormat('/cart/index/index'),
signinUrl: helpers.urlFormat('/signin.html', {refer: helpers.urlFormat('/home')})
};
return api.all([
_userData(params),
_noticeData(),
_favoriteData(params),
_infoNum(params)
]).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
});
}
if (result[1] && result[1].data) {
Object.assign(finalResult, {
notice: result[1].data.list
});
}
if (result[2] && result[2].data) {
Object.assign(finalResult, {
productFavoriteTotal: result[2].data.product_favorite_total
});
}
if (result[3] && result[3].data) {
Object.assign(finalResult, {
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: result[3].data.brand_favorite_total,
productBrowse: result[3].data.product_browse
});
}
return camelCase(finalResult);
});
};
module.exports = {
index
};