前端模拟数据插件mockjs的使用

场景:模拟一个获取轮播图的数据

😺step1:模拟后端-生成模拟数据

src->mock

在这里插入图片描述

banner.json中是返回的模拟数据

[
    {
        "id":"1",
        "imgUrl":"/images/1.webp"

    },
    {
        "id":"2",
        "imgUrl":"/images/2.webp"

    },
    {
        "id":"3",
        "imgUrl":"/images/3.jpeg"

    },
    {
        "id":"4",
        "imgUrl":"/images/4.jpeg"

    }
]

mockServe.js中,生成模拟数据

import Mock from 'mockjs'
import banner from './banner.json'

Mock.mock("/mock/banner",{code:200,data:banner})

在总的main.js中注册虚拟服务器import '{你的地址}/src/mock/mockServe'

😺step2:前端工作-制作api接口

arc->api文件夹

在这里插入图片描述

mockAjax.js中封装axios命名为mockRequest

import axios from "axios";
import nprogress from "nprogress"; //引入进度条插件
import "nprogress/nprogress.css" //引入进度条样式
/**
 * 重新封装了axios
 * 主要是为了利用发送和请求拦截器
 */
var mockRequest = axios.create({
    baseURL:'/mock',
    timeout: 5000
})

mockRequest.interceptors.request.use(function(config){
    nprogress.start()//进度条开始
    return config
})

mockRequest.interceptors.response.use(function(response){
    nprogress.done()//进度条结束
    return response
}, function(error){
    return Promise.reject(error)
})

export default mockRequest;

在api->index.js中写入,进行统一接口管理

import mockRequest from './mockAjax'
export const reqGetBannerList = ()=>{return mockRequest.get('/banner');}

😺step3:vuex仓库获取数据

在store->home->index.js中获取这个数据

home表示的是主页,这样写清晰,其实写成home.js也行

import {reqGetBannerList} from '@/api';//这个封装后的axios函数返回的是一个promise对象


const state = {
    bannerList:[]
};
const mutations = {
    GETBANNERLIST(state,bannerList){
        state.bannerList = bannerList
    }
};
const actions = {

    //获取首页轮播图
    async getbannerlist({commit}){
        let result = await reqGetBannerList();
        // console.log("获取到轮播!");
        if(result.data.code==200){
            commit("GETBANNERLIST",result.data.data);
        }
        
    }
};
const getters= {};

export default{
    namespaced:true,//开启命名空间
    state,
    mutations,
    actions,
    getters
}

😺step4:vuex使用数据

...
  mounted() {
    this.$store.dispatch("home/getbannerlist");
  },
  computed: {
    ...mapState({
      bannerList: (state) => state.home.bannerList,
    }),
  },
 ...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jmockdata(再也不用苦逼的造测试数据了) Jmockdta是一款实现模拟JAVA类型或对象的实例化并随机初始化对象的数据的工具框架。单元测试的利器。     The plug-in of Jmockdata what through random algorithm mock java data.   Jmockdata插件通过随机算法模拟Java数据.   版本信息 Jmockdata-2.0 发布时间 2017-02-03 Jmockdata-1.0 发布时间 2017-01-04 具体介绍和用法可以参考如下:   0. 模拟数据入口方法 JMockData.mock(JmockDataWrapper) 1. 被模拟数据必须继承JmockDataWrapper经过它的包装 2. 被模拟数据最好是plain bean,只提供getter,setter,has,is方法的才可以被模拟 3. 框架默认实现了40个元数据类型的数据模拟器包括:   byte.class,Byte.class,byte[].class,Byte[].class, short.class,Short.class,short[].class,Short[].class, int.class,Integer.class,int[].class,Integer[].class, long.class,Long.class,long[].class,Long[].class, float.class,Float.class,float[].class,Float[].class, double.class,Double.class,double[].class,Double[].class, boolean.class,Boolean.class,boolean[].class,Boolean[].class, char.class,Character.class,char[].class,Character[].class, String.class,String[].class, BigDecimal.class,BigDecimal[].class, BigInteger.class,BigInteger[].class, Date.class,Date[].class 通过对以上基本元数据类型的模拟实现,本框架可以轻松模拟由以上元数据结构组成的BEAN、LIST、SET、ARRAY等复杂深度的数据结构的数据模拟。   4. 可以通过JmockDataContext 获取模拟过程的所有上下文信息,甚至可以打印整个模拟类型树   5. 可以通过JMockDataManager 注册模拟数据类型,重写模拟数据算法,注册模拟数据类拦截器等 6. 可以通过实现MockData来实现一个模拟数据类型 7. 可以通过实现JmockDataTemplate,或者继承JmockDataTemplateDefault来重写模拟数据算法 8. 可以通过实现JmockDataInterceptor来实现一个拦截器 9. 具体示例实践请参考https://github.com/jsonzou/jmockdata-demo 10. 有问题或者对本框架有新的想法,请联系我, 作者:jsonzou 标签:Jmockdata
使用Mock.js可以方便地模拟数据。在Vue-cli项目中,可以通过引入相关模块和配置来使用Mock.js模拟数据。首先,在项目的main.js文件中引入mockserver.js模块,并让其执行一遍。这样可以确保Mock.js的相关配置得到正确的加载和初始化。然后,在需要使用模拟数据的地方,可以使用Mock.mock()方法来模拟接口的返回数据。例如,可以在一个接口请求的地方使用Mock.mock()来模拟轮播图的数据,通过传入一个对象来定义模拟数据结构。这样,在开发过程中就可以使用模拟数据来进行测试和调试,而无需依赖真实的后端接口。Mock.js还提供了丰富的数据生成规则和语法,可以根据需求来生成各种类型的模拟数据使用Mock.js模拟数据可以提高开发效率,减少对后端接口的依赖,并且可以模拟各种不同的场景和数据情况,以便更好地测试和调试前端代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [使用mockjs模拟数据](https://blog.csdn.net/guhanfengdu/article/details/126021744)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [详解在vue-cli项目下简单使用mockjs模拟数据](https://download.csdn.net/download/weixin_38748769/12950790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值