Files
2025-11-17 13:32:54 +08:00

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);
}
});
});
}