mock在vite项目中如何配置

2024-06-17  本文已影响0人  Peter_2B
import { viteMockServe } from 'vite-plugin-mock';

plugins: [
    vue(),
    viteMockServe({
    enable: command === 'serve', // 是否使用mock接口;等于serve是开发阶段使用mock接口
    }),
],
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: '获取用户信息成功' },
            };
        },
    },
];
import axios from 'axios';
axios({
    url: '/api/user/login',
    method: 'post',
    data: {
        username: 'admin',
        password: '123456',
    },
});
上一篇 下一篇

猜你喜欢

热点阅读