vue3 + vite + Mock数据模拟

安装mock.js
npm install mockjs
文件配置

在src文件夹下新建mock文件夹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sN4h5bJy-1671357082198)(C:\Users\lzz\AppData\Roaming\Typora\typora-user-images\image-20221218172731147.png)]

index.js内容
// 首先引入Mock
import Mock from 'mockjs'
// 设置拦截ajax请求的相应时间
Mock.setup({
    timeout: '200-600'
});
let configArray = [];
// vite遍历文件
const files = import.meta.globEager('./*.js')
Object.keys(files).forEach((key) => {
    if (key === './index.js') return;
    configArray = configArray.concat(files[key].default);
    console.log(configArray)

});

// 注册所有的mock服务
configArray.forEach((item) => {
    for (let [path, target] of Object.entries(item)) {
        let protocol = path.split('|');
        console.log(protocol)
        Mock.mock(new RegExp('^' + protocol[1]), protocol[0], target);
    }
});

data.js内容
// 返回值
let demoList = [{
    id: 1,
    name: 'zs',
    age: '23',
    job: '前端工程师'
}, {
    id: 2,
    name: 'ww',
    age: '24',
    job: '后端工程师'
}]

// 导出接口
export default {
    /**
     * get请求
     * url:/parameter/get
     * @param option
     * @return { Object }
     * */
    'get|/parameter/get': option => {
        console.log(option,'----get---')
        return {
            status: 200,
            message: 'success',
            data: demoList
        };
    },
    /**
     * post请求
     * url:/parameter/query
     * @param option
     * @return { Object }
     * */
    'post|/parameter/query': option => {
        let response = {
            status: 200,
            message: 'success',
        }
        if (JSON.parse(option.body).id === 1) {
            response.data = demoList
        } else {
            response.status = '400'
            response.message = 'error'
        }
        return response

    }
}

main.js引入
import './mock'
使用
get_test('/parameter/get').then(res=>{
    console.log(res,'----get ')
})
post_test('/parameter/query',{id:1}).then(res=>{
    console.log(res,'----post ')
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值