美文网首页
mock在vite项目中如何配置

mock在vite项目中如何配置

作者: Peter_2B | 来源:发表于2024-06-17 09:35 被阅读0次
  • npm搜索:vite-plugin-mock

  • 安装:npm install vite-plugin-mock mockjs -D

  • 配置 vite.config.ts

import { viteMockServe } from 'vite-plugin-mock';

plugins: [
    vue(),
    viteMockServe({
    enable: command === 'serve', // 是否使用mock接口;等于serve是开发阶段使用mock接口
    }),
],
  • 根目录创建 mock/user.ts,和node_moudules同级;
function createUserList() {
    return [
        {
            userId: 1,
            avatar: '',
            username: 'admin',
            password: '123456',
            desc: '平台管理员',
            roles: ['平台管理员'],
            buttons: ['curser.detail'],
            routes: ['home'],
            token: 'Admin Token',
        },
        {
            userId: 2,
            avatar: '',
            username: 'system',
            password: '123456',
            desc: '系统管理员',
            roles: ['系统管理员'],
            buttons: ['curser.detail', 'curser.user'],
            routes: ['home'],
            token: 'System Token',
        },
    ];
}

export default [
    {
        url: '/api/user/login',
        method: 'post',
        timeout: 2000,
        response: ({ body }) => {
            const { username, password } = body;
            const hasUser = createUserList().find(
                (item) =>
                    item.username === username && item.password === password,
            );

            if (!hasUser) {
                return { code: 201, data: { message: '账号或密码错误' } };
            }

            const { token } = hasUser;
            return { code: 200, data: { token, message: '登录成功' } };
        },
    },
    {
        url: '/api/user/info',
        method: 'get',
        response: (request) => {
            const token = request.headers.token;
            const hasUser = createUserList().find(
                (item) => item.token === token,
            );
            if (!hasUser) {
                return { code: 201, data: { message: '获取用户信息失败' } };
            }
            return {
                code: 200,
                data: { hasUser, message: '获取用户信息成功' },
            };
        },
    },
];
  • 在项目中测试是否连接mock接口
import axios from 'axios';
axios({
    url: '/api/user/login',
    method: 'post',
    data: {
        username: 'admin',
        password: '123456',
    },
});

相关文章

网友评论

      本文标题:mock在vite项目中如何配置

      本文链接:https://www.haomeiwen.com/subject/tucxcjtx.html