Blog
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)

HiuZing

🍑
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)
  • 前端面试题

  • JavaScript

  • Vue2

  • port

  • CSS

  • Node.js

  • JavaScript优化

  • uniapp

  • Mini Program

  • TypeScript

  • 面向对象编程

  • UI组件

  • Plugin

  • Vue3

  • 性能优化

  • Axios

  • 状态管理

  • React

  • Mock

    • json-server
    • vite-plugin-mock
  • Icon

  • Template

  • 构建工具

  • 项目规范配置

  • Taro

  • SVG

  • React Native

  • 前端
  • Mock
HiuZing
2023-06-07

vite-plugin-mock

安装依赖:https://www.npmjs.com/package/vite-plugin-mock

  1. 安装

    pnpm install -D vite-plugin-mock mockjs
    
    1
  2. 在 vite.config.js配置文件启用插件

    import { UserConfigExport, ConfigEnv } from 'vite'
    import { viteMockServe } from 'vite-plugin-mock'
    import vue from '@vitejs/plugin-vue'
    export default ({ command })=> {
      return {
        plugins: [
          vue(),
          viteMockServe({
            localEnabled: command === 'serve',
          }),
        ],
      }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
  3. 在根目录创建mock文件夹:创建mock数据与接口

  4. 在mock/user.ts

    //用户信息数据(返回一个数组,数组里面包含两个用户信息)
    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} }
            },
        },
    ]
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
#Mock
上次更新: 2024/08/14, 04:14:33
json-server
阿里巴巴 iconfont

← json-server 阿里巴巴 iconfont→

最近更新
01
React Native 使用SVG
08-13
02
Docker基础命令
08-04
03
算数逻辑单元
07-30
更多文章>
Theme by Vdoing | Copyright © 2021-2024 WeiXiaojing | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式