61 lines
1.7 KiB
JavaScript
61 lines
1.7 KiB
JavaScript
|
|
import { config } from '../../config/index';
|
||
|
|
|
||
|
|
/** 获取个人中心信息 */
|
||
|
|
function mockFetchPerson() {
|
||
|
|
const { delay } = require('../_utils/delay');
|
||
|
|
const { genSimpleUserInfo } = require('../../model/usercenter');
|
||
|
|
const { genAddress } = require('../../model/address');
|
||
|
|
const address = genAddress();
|
||
|
|
return delay().then(() => ({
|
||
|
|
...genSimpleUserInfo(),
|
||
|
|
address: {
|
||
|
|
provinceName: address.provinceName,
|
||
|
|
provinceCode: address.provinceCode,
|
||
|
|
cityName: address.cityName,
|
||
|
|
cityCode: address.cityCode,
|
||
|
|
},
|
||
|
|
}));
|
||
|
|
}
|
||
|
|
|
||
|
|
/** 获取个人中心信息 */
|
||
|
|
export function fetchPerson() {
|
||
|
|
if (config.useMock) {
|
||
|
|
return mockFetchPerson();
|
||
|
|
}
|
||
|
|
|
||
|
|
return new Promise((resolve, reject) => {
|
||
|
|
wx.request({
|
||
|
|
url: `${config.apiBase}/users/profile`,
|
||
|
|
method: 'GET',
|
||
|
|
header: {
|
||
|
|
'Authorization': `Bearer ${wx.getStorageSync('token') || ''}`
|
||
|
|
},
|
||
|
|
success: (res) => {
|
||
|
|
if (res.statusCode === 200 && res.data.code === 200) {
|
||
|
|
// 转换后端数据格式为前端期望的格式
|
||
|
|
const user = res.data.data;
|
||
|
|
const result = {
|
||
|
|
avatarUrl: user.avatar || '',
|
||
|
|
nickName: user.nickname || '',
|
||
|
|
phoneNumber: user.phone || '',
|
||
|
|
gender: user.gender || 0,
|
||
|
|
level: user.level || 1,
|
||
|
|
address: {
|
||
|
|
provinceName: '北京市',
|
||
|
|
provinceCode: '110000',
|
||
|
|
cityName: '北京市',
|
||
|
|
cityCode: '110100'
|
||
|
|
}
|
||
|
|
};
|
||
|
|
resolve(result);
|
||
|
|
} else {
|
||
|
|
reject(new Error(res.data.message || '获取用户信息失败'));
|
||
|
|
}
|
||
|
|
},
|
||
|
|
fail: (err) => {
|
||
|
|
reject(err);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
});
|
||
|
|
}
|