...
|
...
|
@@ -4,14 +4,259 @@ |
|
|
* @date: 2016/8/16
|
|
|
*/
|
|
|
|
|
|
// 'use strict';
|
|
|
// const Promise = require('bluebird');
|
|
|
// const co = Promise.coroutine;
|
|
|
// const userApi = require('./user-api');
|
|
|
|
|
|
// const getUserInfo = uid => {
|
|
|
// return co(function *() {
|
|
|
// let result = {};
|
|
|
// let userInfo = userApi.getUserInfo(uid);
|
|
|
// })();
|
|
|
// }; |
|
|
'use strict';
|
|
|
const Promise = require('bluebird');
|
|
|
const _ = require('lodash');
|
|
|
const api = global.yoho.API;
|
|
|
const userApi = require('./user-api');
|
|
|
const headerModel = require('../../../doraemon/models/header');
|
|
|
|
|
|
const configData = {
|
|
|
gender: [{
|
|
|
key: 'gender',
|
|
|
value: 1,
|
|
|
text: '男'
|
|
|
}, {
|
|
|
key: 'gender',
|
|
|
value: 2,
|
|
|
text: '女'
|
|
|
}],
|
|
|
income: [{
|
|
|
key: 'income',
|
|
|
value: 0,
|
|
|
text: '请选择'
|
|
|
}, {
|
|
|
key: 'income',
|
|
|
value: 1,
|
|
|
text: '1000以下'
|
|
|
}, {
|
|
|
key: 'income',
|
|
|
value: 2,
|
|
|
text: '1000-2999'
|
|
|
}, {
|
|
|
key: 'income',
|
|
|
value: 3,
|
|
|
text: '3000-5999'
|
|
|
}, {
|
|
|
key: 'income',
|
|
|
value: 4,
|
|
|
text: '6000-7999'
|
|
|
}, {
|
|
|
key: 'income',
|
|
|
value: 5,
|
|
|
text: '8000-10000'
|
|
|
}, {
|
|
|
key: 'income',
|
|
|
value: 6,
|
|
|
text: '10000以上'
|
|
|
}],
|
|
|
profession: [{
|
|
|
key: 'profession',
|
|
|
value: 1,
|
|
|
text: '已工作'
|
|
|
}, {
|
|
|
key: 'profession',
|
|
|
value: 2,
|
|
|
text: '大学生'
|
|
|
}, {
|
|
|
key: 'profession',
|
|
|
value: 3,
|
|
|
text: '中学生'
|
|
|
}, {
|
|
|
key: 'profession',
|
|
|
value: 4,
|
|
|
text: '其他'
|
|
|
}]
|
|
|
};
|
|
|
|
|
|
const getUserInfo = (channel, uid) => {
|
|
|
|
|
|
return api.all([
|
|
|
headerModel.requestHeaderData(channel),
|
|
|
userApi.getUserInfo(uid)
|
|
|
]).then(result => {
|
|
|
let finalResult = {},
|
|
|
headerData = {},
|
|
|
userInfo = {};
|
|
|
|
|
|
if (result[0].code === 200) {
|
|
|
headerData = result[0];
|
|
|
}
|
|
|
|
|
|
if (result[1].code === 200) {
|
|
|
let email,
|
|
|
nickname,
|
|
|
username,
|
|
|
gender,
|
|
|
genderArr,
|
|
|
birthday,
|
|
|
birthdayJson,
|
|
|
yearArr,
|
|
|
monthArr,
|
|
|
dayArr,
|
|
|
profession,
|
|
|
professionArr,
|
|
|
income,
|
|
|
incomeArr;
|
|
|
|
|
|
userInfo = result[1].data;
|
|
|
email = userInfo['email'] !== undefined ? userInfo['email'] : '';
|
|
|
nickname = userInfo['nickname'] !== undefined ? userInfo['nickname'] : '';
|
|
|
username = userInfo['username'] !== undefined ? userInfo['username'] : '';
|
|
|
gender = userInfo['gender'] !== undefined ? userInfo['gender'] : 3;
|
|
|
birthday = userInfo['birthday'] !== undefined ? userInfo['birthday'] : '';
|
|
|
profession = userInfo['profession'] !== undefined ? userInfo['profession'] : 0;
|
|
|
income = userInfo['income'] !== undefined ? userInfo['income'] : 0;
|
|
|
|
|
|
genderArr = configData.gender;
|
|
|
for (var value of genderArr) {
|
|
|
if (value.value == gender) {
|
|
|
value.isChecked = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
professionArr = configData.profession;
|
|
|
for (var value of professionArr) {
|
|
|
if (value.value == profession) {
|
|
|
value.isChecked = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
incomeArr = configData.income;
|
|
|
for (var value of incomeArr) {
|
|
|
if (value.value == income) {
|
|
|
value.isChecked = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
birthdayJson = getBirthday(birthday);
|
|
|
yearArr = birthdayJson.yearArr;
|
|
|
monthArr = birthdayJson.monthArr;
|
|
|
dayArr = birthdayJson.dayArr;
|
|
|
|
|
|
finalResult.userPersonalInfo = {
|
|
|
subTitle: '会员信息',
|
|
|
firstBox: true,
|
|
|
submitId: 'base-info',
|
|
|
profileSrc: userInfo['head_ico'],
|
|
|
email: {
|
|
|
labelText: '登录邮箱:',
|
|
|
value: email
|
|
|
},
|
|
|
name: [
|
|
|
{
|
|
|
labelText: '昵称:',
|
|
|
value: nickname,
|
|
|
key: 'nickname',
|
|
|
tips: '与Yoho!业务或商家品牌冲突的昵称,Yoho!将有可能收回'
|
|
|
},
|
|
|
{
|
|
|
labelText: '真实姓名:',
|
|
|
value: username,
|
|
|
key: 'username',
|
|
|
tips: '' // 4.8去掉该提示
|
|
|
}
|
|
|
],
|
|
|
gender: {
|
|
|
labelText: '性别:',
|
|
|
key: 'gender',
|
|
|
data: genderArr
|
|
|
},
|
|
|
birthday: {
|
|
|
labelText: '生日:',
|
|
|
key: 'birthday',
|
|
|
tips: '',
|
|
|
selects: [
|
|
|
{
|
|
|
key: 'year',
|
|
|
options: yearArr,
|
|
|
unit: '年'
|
|
|
},
|
|
|
{
|
|
|
key: 'month',
|
|
|
options: monthArr,
|
|
|
unit: '月'
|
|
|
},
|
|
|
{
|
|
|
key: 'day',
|
|
|
options: dayArr,
|
|
|
unit: '日'
|
|
|
},
|
|
|
]
|
|
|
},
|
|
|
profession: {
|
|
|
labelText: '职业:',
|
|
|
key: 'profession',
|
|
|
data: professionArr
|
|
|
},
|
|
|
income: {
|
|
|
labelText: '收入状况:',
|
|
|
key: 'income',
|
|
|
data: incomeArr
|
|
|
}
|
|
|
};
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
finalResult.headerData = headerData;
|
|
|
finalResult.meEditPage = true;
|
|
|
return finalResult;
|
|
|
});
|
|
|
};
|
|
|
|
|
|
const getBirthday = (birthday) => {
|
|
|
let year = birthday.split('-')[0],
|
|
|
month = birthday.split('-')[1],
|
|
|
day = birthday.split('-')[2],
|
|
|
nowYear = new Date().getFullYear(),
|
|
|
yearArr = [{value: 0, text: '年'}],
|
|
|
monthArr = [{value: 0, text: '月'}],
|
|
|
dayArr = [{value: 0, text: '日'}],
|
|
|
days = getDays(year,month);
|
|
|
|
|
|
for (let i = 1950; i <= nowYear; i++) {
|
|
|
let yearJson = {value: i, text: i};
|
|
|
|
|
|
if (i == year) {
|
|
|
yearJson.isChecked = true;
|
|
|
console.info(yearJson);
|
|
|
}
|
|
|
yearArr.push(yearJson);
|
|
|
}
|
|
|
|
|
|
for (let j = 1; j <= 12; j++) {
|
|
|
let monthJson = {value: j, text: j};
|
|
|
|
|
|
if (j == month) {
|
|
|
monthJson.isChecked = true;
|
|
|
}
|
|
|
monthArr.push(monthJson);
|
|
|
}
|
|
|
|
|
|
for (let k = 1; k <= days; k++) {
|
|
|
let dayJson = {value: k, text: k};
|
|
|
|
|
|
if (k == day) {
|
|
|
dayJson.isChecked = true;
|
|
|
}
|
|
|
dayArr.push(dayJson);
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
yearArr: yearArr,
|
|
|
monthArr: monthArr,
|
|
|
dayArr: dayArr
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
const getDays = (year,month) => {
|
|
|
return month == 2 ?
|
|
|
(year % 4 ? 28 : (year % 100 ? 29 : (year % 400 ? 28 : 29))) :
|
|
|
((month - 1) % 7 % 2 ? 30 : 31);
|
|
|
}
|
|
|
|
|
|
module.exports = {
|
|
|
getUserInfo
|
|
|
}; |
...
|
...
|
|