我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vue3中简单使用Mock.js方法实例分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vue3中简单使用Mock.js方法实例分析

mock.js简介

官方链接:Mock.js (mockjs.com)

前端开发人员用来模拟虚拟数据,拦截ajax请求,方便模拟后端接口

安装

npm install mockjs

使用

本文主要介绍在Vue项目中使用mock.js,包括axios发送请求与请求简单封装

  1. 创建mock文件夹,新建index.js文件

    // 引入mockjs
    import Mock from "mockjs";
    // 获取 mock.Random 对象
    const Random = Mock.Random;
    // 使用mockjs模拟数据
    let tableList = [
      {
        id: "5ffa80aD-9CF4-0C77-eBFC-f6612BfAcF4F",
        account: "admin",
        password: "123456",
        address: "36918166@qq.com",
      },
      {
        id: "4FcC922C-C72c-95c3-Ef92-FbFAc24cc831",
        account: "ebHoL6",
        password: "i320Hu74fbn2Gi",
        address: "48165263@qq.com",
      },
    ]
    // for (let i = 0; i < 20; i++) {
    //   let newObject = {
    //     id: Random.guid(), // 获取全局唯一标识符
    //     account: /^[a-zA-Z0-9]{4,6}$/,
    //     password: /^[a-zA-Z]\w{5,17}$/,
    //     address: /[1-9]\d{7,10}@qq\.com/,
    //   };
    //   tableList.push(newObject);
    // }
    
    Mock.mock("/api/mockGetList", "get", () => {
      return {
        code: "0",
        data: tableList,
      };
    });
    
    Mock.mock("/api/add", "post", (params) => {
      let newData = JSON.parse(params.body);
      newData.id = Random.guid();
      tableList.push(newData);
      return {
        code: "0",
        message: "success",
        data: tableList,
      };
    });
    

    模拟数据可自己手动编写,也可由for循环自动生成,可以设置数量,字段(可以通过正则表达式限制输出格式)。最后可设定请求路径,请求方式以及返回内容,可根据自身需求进行更改。

  2. 创建api文件夹,新建http.js文件(请求封装)

    import axios from "axios";
    import { ElLoading, ElMessage } from "element-plus";
    let http = axios.create({
      baseURL: "",
      timeout: 10000,
    });
    let loadingInstance;
    // 拦截器的添加
    http.interceptors.request.use(
      (config) => {
        loadingInstance = ElLoading.service("加载中");
        return config;
      },
      (err) => {
        loadingInstance?.close();
        ElMessage.error("网络异常");
        return Promise.reject(err);
      }
    );
    //响应拦截器
    http.interceptors.response.use(
      (res) => {
        loadingInstance?.close();
        return res.data;
      },
      (err) => {
        loadingInstance?.close();
        ElMessage.error("请求失败");
        return Promise.reject(err);
      }
    );
    export default http;
    

    这部分主要是对请求进行封装

  3. 新建mockApi.js文件(接口封装)

    import http from "./http.js";
    export default {
      //用户列表
      findAll() {
        return http({
          url: `/api/mockGetList`,
          method: "get",
        });
      },
      //添加用户
      addUser(user) {
        return http({
          url: `/api/add`,
          method: "post",
          data: user,
        });
      },
    }
    

    注意:url与提交方法要与mock中模拟请求保持一致

  4. 调用封装好的接口

导入模拟数据与接口文件,根据自己的路径进行修改

import "../mock/index.js";
import mockApi from "../api/mockApi/mockApi.js";

调用接口

//页面数据请求
let tableData = reactive([]);
const getList = () => {
 mockApi
   .findAll()
   .then((res) => {
        console.log(res)
     if (res.code === "0"){ 
      tableData.push.apply(tableData, res.data);
      }
    })
    .catch(function (error) {
      console.log(error);
    });
};
getList(); //直接调用请求方法
//添加用户
mockApi
  .addUser(editUser)
  .then((res) => {
        console.log(res)
    if (res.code === "0") {
       ElMessage({
          message: "保存成功",
          type: "success",
         });
      }
    })
    .catch(function (error) {
       console.log(error);
});

项目结构

结构大体如上,mock中的Management.js就是文中说到的使用第一步,根据自身需要进行修改

PS:ApiFox中如今也集成了mock.js的功能,提供了postman类似的模拟发送请求功能之外,还提供了更多的web程序开发所需要的定制化功能!

ApiFox官网下载地址:https://apifox.com/

或本站下载地址:https://www.jb51.net/softs/737017.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vue3中简单使用Mock.js方法实例分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vue3中简单使用Mock.js方法实例分析

这篇文章主要介绍了Vue3中简单使用Mock.js方法,mock.js在模拟后端接口数据响应与协调统一前后端开发接口规范方面有着重要的应用,需要的朋友可以参考下
2023-05-14

Vue3中如何使用Mock.js方法

今天小编给大家分享一下Vue3中如何使用Mock.js方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。mock.js简介前
2023-07-06

Vue3中怎么使用Mock.js方法

mock.js简介前端开发人员用来模拟虚拟数据,拦截ajax请求,方便模拟后端接口安装npminstallmockjs使用本文主要介绍在Vue项目中使用mock.js,包括axios发送请求与请求简单封装创建mock文件夹,新建index.js文件//引入mockjsimportMockfrom"mockjs";//获取mock.Random对象constRandom=Mock.Random;//使用mockjs模拟数据lettableList=[{id:"5ffa
2023-05-16

vue3中watch和watchEffect使用实例分析

watchwatch监听单个数据import{ref,watch}from&#39;vue&#39;consttext1=ref(&#39;&#39;)watch(text1,(newVal,oldVal)=>{console.log(&#39;监听单个数据&#39;,newVal,oldVal)})watch监听多个数据import{ref,watch}from&#39;vue&#39;consttext1=ref(&
2023-05-14

Android AnalogClock简单使用方法实例

本文实例讲述了Android AnalogClock简单使用方法。分享给大家供大家参考,具体如下: AnalogClock组件的使用很简单,先来看看效果图:AnalogClock组件的使用只需要在布局中指定的显示位置写入此组件即可使用,不需
2022-06-06

java Swing组件setBounds()简单用法实例分析

本文实例讲述了java Swing组件setBounds()简单用法。分享给大家供大家参考,具体如下:先看API:public void setBounds(Rectangle r)移动组件并调整其大小,使其符合新的有界矩形 r。由 r.x
2023-05-30

Java方法使用实例分析

这篇“Java方法使用实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java方法使用实例分析”文章吧。一、方法的概念
2023-06-30

Vue3源码分析reactivity实现方法示例

这篇文章主要为大家介绍了Vue3源码分析reactivity实现方法原理示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-28

Python 编码Basic Auth使用方法简单实例

本片博文主要介绍在Python3 环境下把用户名密码编码成字符串。 代码如下:import base64 def get_basic_auth_str(username, password):temp_str = username + ':
2022-06-04

Android使用vcard文件的方法简单实例

本文实例讲述了Android使用vcard文件的方法。分享给大家供大家参考,具体如下:FileOutputStream os = null; try {os = VCardTest.this.openFileOutput("Android.
2022-06-06

vue3 中computed 新用法的示例分析

这篇文章给大家介绍vue3 中computed 新用法的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。vue3 中 的 computed 的使用,由于 vue3 兼容 vue2 的选项式API,所以可以直接使用
2023-06-21

Android TabLayout(选项卡布局)简单用法实例分析

本文实例讲述了Android TabLayout(选项卡布局)简单用法。分享给大家供大家参考,具体如下: 我们在应用viewpager的时候,经常会使用TabPageIndicator来与其配合。达到很漂亮的效果。但是TabPageIndi
2022-06-06

es6中some和every方法使用简单示例

JavaScript在ES6版本后提供了一些更加便捷的方法供开发者使用,实现原理其实是在对应的构造函数原型提供方法,下面这篇文章主要给大家介绍了关于es6中some和every方法使用的相关资料,需要的朋友可以参考下
2023-05-14

vue3使用element ui的方法实例

vue3出来好一段时间了,一直想着用一下,下面这篇文章主要给大家介绍了关于vue3使用element ui的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2022-11-13

Android中SurfaceView用法简单实例

本文实例讲述了Android中SurfaceView用法。分享给大家供大家参考,具体如下: 这里贴上一个小程序代码,主要运用SurfaceView来实现在屏幕上画一个圆,你可以通过按方向键和触摸屏幕来改变圆的位置 代码: Activity:
2022-06-06

HTML表单输入方法实例分析

今天小编给大家分享一下HTML表单输入方法实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。HTML 表单表单是一个包含
2023-06-27

编程热搜

目录