init
This commit is contained in:
60
miniprogram/services/usercenter/fetchPerson.js
Normal file
60
miniprogram/services/usercenter/fetchPerson.js
Normal file
@@ -0,0 +1,60 @@
|
||||
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);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user