在模块化开发中如何使用mock模拟数据

使用步骤
1.安装并导入mock模块
2.安装并导入axios-mock-adapter
3.安装axios

1.在项目中创建一个mock文件

import axios from "axios"
import MockAdapter from "axios-mock-adapter"
5.创建api文件夹将所有的请求都写在这里统一处理
import {get,post} from "./common"; 
let base = "";
export const requestData = function (params){
	return post(`${base}/getDataContainer`,params).then(res => {
			 res.data
		})
}

2.在mock文件下创建一个data目录,新建data.js(用于存放mock的数据)

import Mock from "Mock.js"
const data_container = [];
for(let i = 0; i < 3; i ++){
	data_container .push(Mock.mock({
		element:i,
		id:i*2,
	}))
}

3.在mock文件夹下的index.js文件夹下导入数据

import data_container  from "./data/data.js"

4.封装一个拦截的方法,在入口的地方调用

export default {
	bootstrap(){
		let mock = new MockAdatpter(axios);
		mock.onGet("/success").reply(200,{
			msg:"success"
		})
		mock.onGet("/error").reply(200,{
			msg:"success"
		})
		//模拟接口,导入数据
        mock.onGet("./getDataContainer  ").reply(config => {
            return new Promise((resolve,reject) => {
                setTimeout(() => {
                    resolve([200,{
                        code:200,
                        data:data_container  
                    }])
                })
            })
        })
	}
}
封装好后在入口文件中
import Mock from "../mock";(导入文件)
Mock.bootsrtap()

6.对后台数据进行统一的封装,即对步骤5中get,post

import axios from "axios"
axios.default.withCredentials = true;
export function get(url,params){
	return axios({
		method:"get",
		url:url,
		params:params,
		headers:{
				"Content-Type":"application/json"
			},
	})
	.then(res => {
		console.log("success!!!")
		return parseResult(res)
	})
	.catch(res => {
		alert("服务器错误")
	})
}
function parseResult(res){
	if(res.status === 200){
		return Promise.resolve(res.data)
	}else if(res.data.error_code  !=== 0){
		return Promise.reject(res.data)
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值