Vue3+TypeScript集成Mock的方法

 更新时间:2025年04月24日 09:35:13   作者:码农张3  
这篇文章主要介绍了Vue3+TypeScript集成Mock的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

mock.js用来做什么

在项目开发中,会通过调用接口来获取数据,然后进行渲染。现在前后端分离开发,有时后端并不能够及时开发完成接口,这个时候我们就可以通过mock.js来模拟产生一些虚拟的数据,可以让前端在后端接口还没有开发出来时独立开发,使项目可以正常进行,节约了宝贵时间,等到后端接口编写完毕后,再替换成真正的接口就方便快捷很多。

安装依赖

pnpm install -D vite-plugin-mock mock.js

注册插件

vite.config.ts

...
import { defineConfig } from 'vite'
import { viteMockServe } from 'vite-plugin-mock'
...
export default defineConfig(() => {
  return {
    plugins: [
      vue(),
      viteMockServe({
        // mockPath: 'mock', // 默认
        enable: true,
      }),
    ],
  }
})

原代码 defineConfig({...}) 现在要改成 defineConfig(() => {return{...}})
参考网址:https://github.com/vbenjs/vite-plugin-mock/blob/main/README.zh_CN.md

创建假接口

/mock/user.ts

// 用户信息数据,createUserList:此函数执行会返回一个数组,数组里面包含两个用户信息
function createUserList() {
  return [
    {
      userId: 1,
      avatar:
        'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
      username: 'admin',
      password: '111111',
      desc: '平台管理员',
      roles: ['平台管理员'],
      buttons: ['cuser.detail'],
      routes: ['home'],
      token: 'Admin Token',
    },
    {
      userId: 2,
      avatar:
        'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
      username: 'system',
      password: '111111',
      desc: '系统管理员',
      roles: ['系统管理员'],
      buttons: ['cuser.detail', 'cuser.user'],
      routes: ['home'],
      token: 'System Token',
    },
  ]
}
//对外暴露一个数组:数组里面包含两个接口
//登录假的接口
//获取用户信息的假的接口
export default [
  // 用户登录接口
  {
    url: '/api/user/login',//请求地址
    method: 'post',//请求方式
    response: ({ body }) => {
      //获取请求体携带过来的用户名与密码
      const { username, password } = body;
      //调用获取用户信息函数,用于判断是否有此用户
      const checkUser = createUserList().find(
        (item) => item.username === username && item.password === password,
      )
      //没有用户返回失败信息
      if (!checkUser) {
        return { code: 201, data: { message: '账号或者密码不正确' } }
      }
      //如果有返回成功信息
      const { token } = checkUser
      return { code: 200, data: { token } }
    },
  },
  // 获取用户信息
  {
    url: '/api/user/info',
    method: 'get',
    response: (request) => {
      //获取请求头携带token
      const token = request.headers.token;
      //查看用户信息是否包含有次token用户
      const checkUser = createUserList().find((item) => item.token === token)
      //没有返回失败的信息
      if (!checkUser) {
        return { code: 201, data: { message: '获取用户信息失败' } }
      }
      //如果有返回成功信息
      return { code: 200, data: { checkUser } }
    },
  },
]

安装 axios

pnpm i axios

使用测试

/main.ts 临时测试

...
import axios from 'axios'
axios({
  url: '/api/user/login',
  method: 'post',
  data: {
    username: 'admin',
    password: '111111'
  }
})
app.mount('#app')

到此这篇关于Vue3+TypeScript集成Mock的方法的文章就介绍到这了,更多相关Vue TypeScript集成Mock内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 从Vue到Postman全面验证API接口跨域问题解决

    从Vue到Postman全面验证API接口跨域问题解决

    我们都知道跨域是同源策略导致的,域名不同、协议不同、端口号不同任意一种情况都会导致跨域,这篇文章主要介绍了从Vue到Postman全面验证API接口跨域问题,需要的朋友可以参考下
    2024-08-08
  • 学习Vue框架中必掌握的重点知识

    学习Vue框架中必掌握的重点知识

    这篇文章主要介绍了学习Vue中必掌握的重点知识,想了解vue的同学可以参考下
    2021-04-04
  • vue实现录音并转文字功能包括PC端web手机端web(实现过程)

    vue实现录音并转文字功能包括PC端web手机端web(实现过程)

    vue实现录音并转文字功能,包括PC端,手机端和企业微信自建应用端,本文通过实例代码介绍vue实现录音并转文字功能包括PC端web手机端web,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • 创建Vue项目以及引入Iview的方法示例

    创建Vue项目以及引入Iview的方法示例

    这篇文章主要介绍了创建Vue项目以及引入Iview的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • vue项目中常见的三种文件类型在线预览实现(pdf/word/excel表格)

    vue项目中常见的三种文件类型在线预览实现(pdf/word/excel表格)

    最近在项目中要做一个pdf在线预览的功能,索性给大家整理个全面的,这篇文章主要给大家介绍了关于vue项目中常见的三种文件类型在线预览实现的相关资料,文件类型分别是pdf/word文件/excel表格,需要的朋友可以参考下
    2022-05-05
  • 基于Vue3制作简单的消消乐游戏

    基于Vue3制作简单的消消乐游戏

    这篇文章主要为大家介绍了如何利用Vue3制作简单的消消乐游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-05-05
  • 如何去除element-ui中table的hover效果

    如何去除element-ui中table的hover效果

    这篇文章主要介绍了如何去除element-ui中table的hover效果,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • vue设置页面背景及背景图片简单示例

    vue设置页面背景及背景图片简单示例

    这篇文章主要给大家介绍了关于vue设置页面背景及背景图片的相关资料,在Vue项目开发中我们经常要向页面中添加背景图片,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • vue跳转同一路由报错的问题及解决

    vue跳转同一路由报错的问题及解决

    这篇文章主要介绍了vue跳转同一路由报错的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • vue中实现页面刷新以及局部刷新的方法

    vue中实现页面刷新以及局部刷新的方法

    这篇文章主要给大家介绍了关于vue中实现页面刷新以及局部刷新的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01

最新评论