美文网首页
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