前端mock数据——使用mockjs进行mock数据

前端mock数据——使用mockjs进行mock数据

  • 一、安装
  • 二、mockjs的具体使用

一、安装

  1. 首选需要有nodejs环境
  2. 安装mockjs:npm install mockjs
    在这里插入图片描述

若出现像上图这样的错,则只需npm install mockjs --legacy-peer-deps即可

  1. src下新建mock文件夹:
    在这里插入图片描述
mock
├─ api.ts // mock数据接口,前端最终调用的接口
├─ data.ts // 定义数据和规则
├─ pmockAxios.ts // 模拟数据库mock 重新封装Axios,因为baseURL不同了
├─ request.ts // 根据数据模板生成模拟数据,生成接口给前端调用 

二、mockjs的具体使用

最终获取到的数据:在这里插入图片描述

// mockAxios.ts 
// 模拟数据库mock 重新封装Axios,因为baseURL不同了,在项目中会存在后端的接口调用路径,所以再使用mock数据时需重新封装axios

// 对axios进行配置(二次封装)
import axios from 'axios'
 
const mockRequestor = axios.create({
    // 配置对象
    baseURL: '/mock',
    timeout: 5000
})
 
// 请求拦截器
mockRequestor.interceptors.request.use((config) => {
    return config
})
 
// 响应拦截器
mockRequestor.interceptors.response.use((res) => {
    return res.data
}, (err) => {
    return new Error(err)
})
 
export default mockRequestor
// data.ts 这里是mock的响应模板
// 定义数据和规则
import Mock from 'mockjs';

const data = Mock.mock({
  records: [
    {
      id: '1111',
      gmtCreate: 1710224932000,
      gmtModified: null,
      name: '测试',
      // 等等...
    },
  ],
});

const data = Mock.mock({
  records: [
    {
      id: '1111',
      gmtCreate: Mock.Random.date('yyyy-MM-dd') + ' ' + Mock.Random.time('HH:mm:ss'), // 自定义时间格式,
      gmtModified: null,
      name: '测试',
      // ...
    },
  ],
  total: 1,
  size: 100,
  current: 1,
  optimizeCountSql: true,
  searchCount: true,
  countId: null,
  maxLimit: null,
  pages: 1,
});

export default data

注意: 若有多个不同的接口可分成多个data接口文件,最后在request中引用即可。最好是将各个请求模块分开,否则容易混乱。

// service.ts 这里是响应的接口 提供给前端的接口
// 创建server入口文件
import Mock from 'mockjs';
// 导入mock数据
import data from './data';

// 根据数据模板生成模拟数据
// Mock.mock('/api/feeCategory','get',data: data.records)
// 默认get方法可不设置,其他方法需设置
Mock.mock('/mock/list', { code: 200, data: data.records });
Mock.mock('/mock/pages', { code: 200, data: data.records });

// api.ts 这里是前端最终请求mock接口的地方
import mockRequestor from './mockAxios';

/*
 * mock数据接口1
 */
export const getList = () => {
  return mockRequestor({
    method: 'GET',
    url: '/list', // 对应配置mockRequest时的URL,请求URL=baseRUL+url
  });
};

/*
 * mock数据接口2
 */
 // 需要传递参数则在这里传递即可
 export const getPage= ({current:1,size:100,total:0}) => {
   return mockRequestor({
     method: 'GET',
     url: '/pages', // 对应配置mockRequest时的URL,请求URL=baseRUL+url
   });
 };

// main.ts入口文件中  引入mock server
import '@/mock/service'; 
// List.vue
// 在组件中的使用
<template>
  <el-table :data="tableData" style="width: 100%">
    <el-table-column
      prop="name"
      :label="t('List.name')"
      width="180"
    />
  </el-table>
</template>

<script lang="ts">
import { defineComponent, onMounted, ref, unref, watchEffect } from 'vue';
import { useI18n } from 'vue-i18n';
import useState from '@/hooks/useState';
import { useRouter } from 'vue-router';
import { getFeeCategory } from '@/mock/api';

export default defineComponent({
  name: 'List',
  components: {
  },
  setup() {
    const { t } = useI18n();
    const router = useRouter();

    const tableData = ref<any[]>([]);

    onMounted(() => {
      const res = getList().then((result) => {
        console.log(result);
        tableData.value = result.data
        console.log(tableData.value,'value');
      });
    });

    return {
      t,
      tableData,
    };
  },
});
</script>

<style scoped></style>
<i18n src="./List.json"></i18n>

其他mock方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/532445.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务-网关

在微服务架构中&#xff0c;每个服务都是一个可以独立开发和运行的组件&#xff0c;而一个完整的微服务架构由一系列独立运行的微服务组成。其中每个服务都只会完成特定领域的功能&#xff0c;比如订单服务提供与订单业务场景有关的功能、商品服务提供商品展示功能等。各个微服…

SpringBoot文件上传--头像上传

目录 1.在配置文件中写好物理路径和访问路径 2.写配置文件 3.页面上传 4.控制层 5.效果 1.在配置文件中写好物理路径和访问路径 &#xff08;自定义&#xff09;file:uploadPath: D:/upload/img/ 物理路径path: /file/** 访问路径 2.写配置文件 package com.example…

BCLinux8U6系统基线加固致无法su的问题分析

本文对BCLinux8U6系统进行基线加固致无法su的问题分析。 一、问题现象 对BCLinux8U6系统进行基线加固&#xff0c;su切换用户失败&#xff0c;报错信息如下&#xff1a; [ABCDlocalhost ~]$ su - 密码&#xff1a; su: 模块未知 二、问题分析 1、错误排查 出错前&#xf…

探索进程控制第一弹(进程终止、进程等待)

文章目录 进程创建初识fork函数fork函数返回值fork常规用法fork调用失败的原因 写时拷贝进程终止进程终止是在做什么&#xff1f;进程终止的情况代码跑完&#xff0c;结果正确/不正确代码异常终止 如何终止 进程等待概述进程等待方法wait方法waitpid 进程创建 初识fork函数 在…

自定义校验(这里是Validation)

1.自定义注解State package com.itheima.anno;import com.itheima.Validator.StateValidator; import jakarta.validation.Constraint; import jakarta.validation.Payload;import java.lang.annotation.*;Documented//元注解 Target(ElementType.FIELD) Retention(RetentionP…

力扣HOT100 - 239. 滑动窗口最大值

解题思路&#xff1a; class Solution {public int[] maxSlidingWindow(int[] nums, int k) {if(nums.length 0 || k 0) return new int[0];Deque<Integer> deque new LinkedList<>();int[] res new int[nums.length - k 1];// 未形成窗口for(int i 0; i <…

瑞山集团携手数环通iPaaS,实现ERP与CRM无缝对接

01 客户背景 瑞山集团位于粤港澳大湾区核心商圈----佛山市&#xff0c;是一家致力于各种新型材料添加剂应用推广&#xff0c;集科研、销售和服务于一身的新材料企业&#xff0c;产品覆盖了塑料黏胶剂、水性涂料、3D打印材料、电子材料、纳米材料等各种行业。 公司旗下拥有几间不…

pdffactory pro 8注册码序列号下载 附教程

PdfFactory Pro可以说是一款行业专业且技术领先的的PDF虚拟打印机软件。其不仅占用系统内存小巧&#xff0c;功能强大&#xff0c;可支持用户无需使用Acrobat来创建Adobe PDF即可以进行PDF组件的创建和打印。同时&#xff0c;现在全新的PdfFactory Pro 8也正式上线来袭&#xf…

雄安建博会:中矿雄安新区的总部开工建设

中矿落位雄安&#xff1a;助力国家战略与新区发展 雄安新区&#xff0c;作为中国未来发展的重要战略支点&#xff0c;正迎来一系列央企总部的疏解与建设。最近&#xff0c;中国矿产资源集团有限公司&#xff08;简称“中矿”&#xff09;在雄安新区的总部项目正式开工建设&…

在win10上虚拟一个LoongOS系统(类似虚拟机)作为开发环境

文章目录 1.安装1.1.下载这三个东西1.2.安装好qemu。1.3.创建一个启动脚本startup_mate.bat&#xff0c;然后把三部分东西放到一起1.4.然后双击startup.bat就可以启动了。 2.文件的传输2.1.使能虚拟机系统的ssh2.2.连接ssh 3.Qt相关安装Qt安装opencv 1.安装 注意&#xff0c;一…

Web前端—属性描述符

属性描述符 假设有一个对象obj var obj {a:1 }观察这个对象&#xff0c;我们如何来描述属性a&#xff1a; 值为1可以重写可以遍历 我们可以通过Object.getOwnPropertyDescriptor得到它的属性描述符 var desc Object.getOwnPropertyDescriptor(obj, a); console.log(desc);我…

uniapp 2.0可视化开发工具:提升跨平台应用开发效率的新篇章

摘要 随着移动互联网的迅猛发展&#xff0c;跨平台应用开发成为前端开发者关注的热点。uniapp作为一款优秀的跨平台应用框架&#xff0c;其2.0版本的发布为开发者带来了更多的便利和可能性。其中&#xff0c;可视化开发工具的出现更是为前端开发带来了革命性的变革&#xff0c…

Windows下docker-compose部署DolphinScheduler

参照&#xff1a;快速上手 - Docker部署(Docker) - 《Apache DolphinScheduler v3.1.0 使用手册》 - 书栈网 BookStack 下载源文件 地址&#xff1a;https://dolphinscheduler.apache.org/zh-cn/download/3.2.1 解压到指定目录&#xff0c;进入apache-dolphinscheduler-xxx-…

【Qt 学习笔记】Qt信号和槽的其他说明及Lambda表达式

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt信号和槽的其他说明及Lambda表达式 文章编号&#xff1a;Qt 学习笔记…

ctfshow--web入门--文件上传--web168--web170

web168 法一免杀脚本 还是检查&#xff0c;准备上传图片马 我写的是<?php eval($_POST[a]);?> 上传之后没反应 那么查一下&#xff0c;原来是发现对eval,system还有$_POST和$_GET进行过滤,$_REQUEST还可以用 那么再写一个马&#xff08;免杀脚本&#xff09; <?…

ht1622不显示无反应问题解决

如果你正在写ht1622 驱动时&#xff0c;怎么看程序都没问题&#xff0c;抓取波形&#xff0c;示波器分析波形&#xff0c;如果都没有问题&#xff0c;那么很大可能是硬件问题&#xff0c;检测看看 ht1622 RD是不是接地了。 RD 低会进入读取模式&#xff0c;所以不用RD 请将RD悬…

2024年河北省职业院校技能大赛高职组“信息安全管理与评估”赛项样题

培训、环境、资料、考证 公众号&#xff1a;Geek极安云科 网络安全群&#xff1a;775454947 网络系统管理群&#xff1a;223627079 网络建设与运维群&#xff1a;870959784 极安云科专注于技能提升&#xff0c;赋能 2024年广东省高校的技能提升&#xff0c;受赋能的客户院校均…

某次众测的加解密对抗

前言 起源于某次众测中&#xff0c;遇到请求包响应包全密文的情况&#xff0c;最终实现burp中加解密。 用到的工具有 sekiro&#xff08;rpc转发&#xff09;flask&#xff08;autodecoder自定义接口&#xff09;autodecoder&#xff08;burp插件转发&#xff09; debug部分…

<网络> 网络Socket编程基于TCP协议模拟简易网络通信

目录​​​​​​​ 前言&#xff1a; 一、字符串回响 &#xff08;一&#xff09;程序结构 &#xff08;二&#xff09;初始化服务器 &#xff08;三&#xff09;启动服务器 1. 处理连接请求 2. 业务处理 3. 回调函数 &#xff08;四&#xff09;填充server源文件 &…

公司刚招了一个5年测试,竟然连抓包都不会

大家都知道&#xff0c;无论是测试人员还是开发人员&#xff0c;移动端抓包都是必须掌握的关键技能。然而还有人在测试岗位上干了这么久&#xff0c;还是不懂如何进行抓包&#xff01;今天就跟大家分享两款在日常工作中常用的抓包工具&#xff1a;Fiddler和Charles Fiddler和C…