You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.6 KiB
TypeScript
43 lines
1.6 KiB
TypeScript
// 根据角色动态生成路由
|
|
import { defineFakeRoute } from 'vite-plugin-fake-server/client';
|
|
|
|
export default defineFakeRoute([
|
|
{
|
|
url: '/login',
|
|
method: 'post',
|
|
response: ({ body }) => {
|
|
if (body.username === 'admin') {
|
|
return {
|
|
success: true,
|
|
data: {
|
|
avatar: '/user_small.png',
|
|
username: 'admin',
|
|
nickname: 'Levi',
|
|
// 一个用户可能有多个角色
|
|
roles: ['admin'],
|
|
// 按钮级别权限
|
|
permissions: ['*:*:*'],
|
|
accessToken: 'eyJhbGciOiJIUzUxMiJ9.admin',
|
|
refreshToken: 'eyJhbGciOiJIUzUxMiJ9.adminRefresh',
|
|
expires: '2030/10/30 00:00:00',
|
|
},
|
|
};
|
|
} else {
|
|
return {
|
|
success: true,
|
|
data: {
|
|
avatar: 'https://avatars.githubusercontent.com/u/52823142',
|
|
username: 'common',
|
|
nickname: '小林',
|
|
roles: ['common'],
|
|
permissions: ['permission:btn:add', 'permission:btn:edit'],
|
|
accessToken: 'eyJhbGciOiJIUzUxMiJ9.common',
|
|
refreshToken: 'eyJhbGciOiJIUzUxMiJ9.commonRefresh',
|
|
expires: '2030/10/30 00:00:00',
|
|
},
|
|
};
|
|
}
|
|
},
|
|
},
|
|
]);
|