services/home.js
javascript
import { config, cdnBase } from '../../config/index';
/** 获取首页数据 */
function mockFetchHome() {
const { delay } = require('../_utils/delay');
const { genSwiperImageList } = require('../../model/swiper');
return delay().then(() => {
return {
swiper: genSwiperImageList(),
tabList: [
{
text: '精选推荐',
key: 0,
},
],
activityImg: `${cdnBase}/activity/banner.png`,
};
});
}
/** 获取首页数据 */
export function fetchHome() {
if (config.useMock) {
return mockFetchHome();
}
return new Promise((resolve) => {
resolve('real api');
});
}
function mockFetchHome(){
这段代码是一个用于获取首页数据的函数fetchHome()。根据配置项config.useMock的值,函数会选择使用模拟数据(mockFetchHome())或者真实的API请求('real api')。
如果config.useMock为true,函数会调用mockFetchHome()函数来获取模拟数据。mockFetchHome()函数内部使用了延迟函数delay()来模拟网络请求的延迟。然后返回一个包含轮播图数据、选项卡列表和活动图片链接的对象。
如果config.useMock为false,函数会返回一个Promise对象,该Promise对象会立即resolve为'real api',表示使用真实的API请求。