student-dx-intelligence-main/mock/data/user.js

545 lines
14 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Mock from "mockjs";
const login = (params) => {
const data = JSON.parse(params.body);
const users = {
admin: {
token: "admin-token",
avatar:
"https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
nickname: "Admin",
group: "admin",
},
editor: {
token: "editor-token",
avatar:
"https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
nickname: "Editor",
group: "editor",
},
};
if (!users[data.username]) {
return {
code: 0,
message: "Account and password are incorrect.",
};
}
return {
code: 1,
data: users[data.username],
};
};
const loginOut = (params) => {
return {
code: 1,
data: params,
};
};
const authRoutes = (params) => {
let body = JSON.parse(params.body);
if (body.group == "admin") {
// 当你一个路由下面的 children 声明的路由大于1个时自动会变成嵌套的模式--如组件页面
// 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面
// 若你想不管路由下面的 children 声明的个数都显示你的根路由
// 你可以设置 alwaysShow: true这样它就会忽略之前定义的规则一直显示根路由
// 你可以设置 keepAlive: true这样它就会缓存页面
const routes = [
{
path: "/",
component: "layout/index.vue",
redirect: "/dashboard",
meta: {
title: "home",
icon: "ri-home-line",
keepAlive: false,
tabShow: false,
},
alwaysShow: false,
name: "app",
children: [
{
path: "dashboard",
component: "dashboard/index.vue",
name: "dashboard",
meta: {
title: "dashboard",
icon: "ri-home-line",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
{
path: "/profile",
component: "layout/index.vue",
redirect: "/profile/index",
meta: {
title: "profile",
icon: "ri-home-line",
keepAlive: false,
tabShow: false,
},
name: "profile",
alwaysShow: false,
hidden: true,
children: [
{
path: "index",
component: "profile/index.vue",
name: "profileIndex",
meta: {
title: "profileIndex",
icon: "ri-home-line",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
{
path: "/auth",
component: "layout/index.vue",
redirect: null,
meta: {
title: "auth",
icon: "ri-file-user-line",
keepAlive: false,
tabShow: false,
},
alwaysShow: true,
name: "auth",
children: [
{
path: "admin",
component: "admin/index.vue",
name: "admin",
meta: {
title: "admin",
icon: "ri-admin-line",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
{
path: "adminLog",
component: "adminLog/index.vue",
name: "adminLog",
meta: {
title: "adminLog",
icon: "ri-file-list-line",
keepAlive: true,
tabShow: true,
},
alwaysShow: false,
redirect: null,
},
{
path: "adminGroup",
component: "adminGroup/index.vue",
name: "adminGroup",
meta: {
title: "adminGroup",
icon: "ri-group-line",
keepAlive: true,
tabShow: true,
},
alwaysShow: false,
redirect: null,
},
{
path: "adminRule",
component: "adminRule/index.vue",
name: "adminRule",
meta: {
title: "adminRule",
icon: "ri-menu-line",
keepAlive: true,
tabShow: true,
},
alwaysShow: false,
redirect: null,
},
],
},
{
path: "/error_page",
component: "layout/index.vue",
name: "error_page",
redirect: null,
meta: {
title: "error_page",
icon: "ri-error-warning-line",
keepAlive: false,
tabShow: false,
},
alwaysShow: true,
children: [
{
path: "401",
component: "401/index.vue",
name: "page401",
meta: {
title: "page401",
icon: "ri-error-warning-line",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
{
path: "404",
component: "404/index.vue",
name: "page404",
meta: {
title: "page404",
icon: "ri-error-warning-line",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
//嵌套路由示例
{
path: "/nested",
component: "layout/index.vue",
name: "nested",
redirect: null,
meta: {
title: "nested",
icon: "ri-stack-fill",
keepAlive: false,
tabShow: false,
},
alwaysShow: true,
children: [
{
path: "menu",
component: "noComponent",
name: "menu",
meta: {
title: "menu",
icon: "ri-apps-2-fill",
keepAlive: false,
tabShow: false,
},
redirect: null,
alwaysShow: true,
children: [
{
path: "menu2",
component: "noComponent",
name: "menu2",
meta: {
title: "menu2",
icon: "ri-apps-2-fill",
keepAlive: false,
tabShow: false,
},
redirect: null,
alwaysShow: true,
children: [
{
path: "menu4",
component: "menu4/index.vue",
name: "menu4",
meta: {
title: "menu4",
icon: "ri-apps-2-fill",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
{
path: "menu3",
component: "menu3/index.vue",
name: "menu3",
meta: {
title: "menu3",
icon: "ri-apps-2-fill",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
{
path: "menu1",
component: "menu1/index.vue",
name: "menu1",
meta: {
title: "menu1",
icon: "ri-apps-2-fill",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
];
return {
code: 1,
data: routes,
};
} else {
// 当你一个路由下面的 children 声明的路由大于1个时自动会变成嵌套的模式--如组件页面
// 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面
// 若你想不管路由下面的 children 声明的个数都显示你的根路由
// 你可以设置 alwaysShow: true这样它就会忽略之前定义的规则一直显示根路由
// 你可以设置 keepAlive: true这样它就会缓存页面
const routes = [
{
path: "/",
component: "layout/index.vue",
redirect: "/dashboard",
meta: {
title: "home",
icon: "ri-home-line",
keepAlive: false,
tabShow: false,
},
alwaysShow: false,
name: "app",
children: [
{
path: "dashboard",
component: "dashboard/index.vue",
name: "dashboard",
meta: {
title: "dashboard",
icon: "ri-home-line",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
{
path: "/profile",
component: "layout/index.vue",
redirect: "/profile/index",
meta: {
title: "profile",
icon: "ri-home-line",
keepAlive: false,
tabShow: false,
},
name: "profile",
alwaysShow: false,
hidden: true,
children: [
{
path: "index",
component: "profile/index.vue",
name: "profileIndex",
meta: {
title: "profileIndex",
icon: "ri-home-line",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
{
path: "/auth",
component: "layout/index.vue",
redirect: null,
meta: {
title: "auth",
icon: "ri-file-user-line",
keepAlive: false,
tabShow: false,
},
alwaysShow: true,
name: "auth",
children: [
{
path: "admin",
component: "admin/index.vue",
name: "admin",
meta: {
title: "admin",
icon: "ri-admin-line",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
{
path: "adminLog",
component: "adminLog/index.vue",
name: "adminLog",
meta: {
title: "adminLog",
icon: "ri-file-list-line",
keepAlive: true,
tabShow: true,
},
alwaysShow: false,
redirect: null,
},
],
},
{
path: "/error_page",
component: "layout/index.vue",
name: "error_page",
redirect: null,
meta: {
title: "error_page",
icon: "ri-error-warning-line",
keepAlive: false,
tabShow: false,
},
alwaysShow: true,
children: [
{
path: "401",
component: "401/index.vue",
name: "page401",
meta: {
title: "page401",
icon: "ri-error-warning-line",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
{
path: "404",
component: "404/index.vue",
name: "page404",
meta: {
title: "page404",
icon: "ri-error-warning-line",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
//嵌套路由示例
{
path: "/nested",
component: "layout/index.vue",
name: "nested",
redirect: null,
meta: {
title: "nested",
icon: "ri-stack-fill",
keepAlive: false,
tabShow: false,
},
alwaysShow: true,
children: [
{
path: "menu",
component: "noComponent",
name: "menu",
meta: {
title: "menu",
icon: "ri-apps-2-fill",
keepAlive: false,
tabShow: false,
},
redirect: null,
alwaysShow: true,
children: [
{
path: "menu2",
component: "noComponent",
name: "menu2",
meta: {
title: "menu2",
icon: "ri-apps-2-fill",
keepAlive: false,
tabShow: false,
},
redirect: null,
alwaysShow: true,
children: [
{
path: "menu4",
component: "menu4/index.vue",
name: "menu4",
meta: {
title: "menu4",
icon: "ri-apps-2-fill",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
{
path: "menu3",
component: "menu3/index.vue",
name: "menu3",
meta: {
title: "menu3",
icon: "ri-apps-2-fill",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
{
path: "menu1",
component: "menu1/index.vue",
name: "menu1",
meta: {
title: "menu1",
icon: "ri-apps-2-fill",
keepAlive: true,
tabShow: true,
},
redirect: null,
alwaysShow: false,
},
],
},
];
return {
code: 1,
data: routes,
};
}
};
export { login, loginOut, authRoutes };