Files
ai_dianshang/miniprogram/services/usercenter/fetchUsercenter.js
2025-11-17 14:11:46 +08:00

86 lines
2.5 KiB
JavaScript

import { config } from '../../config/index';
/** 获取个人中心信息 */
function mockFetchUserCenter() {
const { delay } = require('../_utils/delay');
const { genUsercenter } = require('../../model/usercenter');
return delay(200).then(() => genUsercenter());
}
/** 获取个人中心信息 */
export function fetchUserCenter() {
if (config.useMock) {
return mockFetchUserCenter();
}
return new Promise((resolve, reject) => {
// 获取用户中心完整信息
wx.request({
url: `${config.apiBase}/usercenter`,
method: 'GET',
header: {
'Authorization': `Bearer ${wx.getStorageSync('token') || ''}`
},
success: (res) => {
if (res.statusCode === 200 && res.data.code === 200) {
const data = res.data.data;
// 直接使用后端返回的数据结构
const result = {
userInfo: data.userInfo,
countsData: data.countsData,
orderTagInfos: data.orderTagInfos,
customerServiceInfo: data.customerServiceInfo
};
resolve(result);
} else {
// 如果获取失败,返回默认数据
resolve({
userInfo: {
avatarUrl: '',
nickName: '正在登录...',
phoneNumber: '',
gender: 0,
},
countsData: [],
orderTagInfos: [
{ orderNum: 0, tabType: 5 },
{ orderNum: 0, tabType: 10 },
{ orderNum: 0, tabType: 40 },
{ orderNum: 0, tabType: 0 },
],
customerServiceInfo: {
servicePhone: '4006336868',
serviceTimeDuration: '每周三至周五 9:00-12:00 13:00-15:00',
}
});
}
},
fail: (err) => {
console.error('获取用户中心信息失败:', err);
// 失败时返回默认数据
resolve({
userInfo: {
avatarUrl: '',
nickName: '正在登录...',
phoneNumber: '',
gender: 0,
},
countsData: [],
orderTagInfos: [
{ orderNum: 0, tabType: 5 },
{ orderNum: 0, tabType: 10 },
{ orderNum: 0, tabType: 40 },
{ orderNum: 0, tabType: 0 },
],
customerServiceInfo: {
servicePhone: '4006336868',
serviceTimeDuration: '每周三至周五 9:00-12:00 13:00-15:00',
}
});
}
});
});
}