flask-libroro/old_routes/mock_data.py

181 lines
5.4 KiB
Python
Raw Normal View History

2025-02-20 09:50:47 +00:00
from typing import List, Dict
# 定义用户信息类型
UserInfo = Dict[str, str | int | List[str]]
# 模拟用户数据
MOCK_USERS: List[UserInfo] = [
{
'id': 0,
'password': '123456',
'realName': 'Vben',
'roles': ['super'],
'username': 'vben'
},
{
'id': 1,
'password': '123456',
'realName': 'Admin',
'roles': ['admin'],
'username': 'admin',
'homePath': '/workspace'
},
{
'id': 2,
'password': '123456',
'realName': 'Jack',
'roles': ['user'],
'username': 'jack',
'homePath': '/analytics'
}
]
# 模拟代码数据
MOCK_CODES = [
{
'codes': ['AC_100100', 'AC_100110', 'AC_100120', 'AC_100010'],
'username': 'vben'
},
{
'codes': ['AC_100010', 'AC_100020', 'AC_100030'],
'username': 'admin'
},
{
'codes': ['AC_1000001', 'AC_1000002'],
'username': 'jack'
}
]
# 模拟菜单数据
dashboard_menus = [
{
'meta': {
'order': -1,
'title': 'page.dashboard.title'
},
'name': 'Dashboard',
'path': '/dashboard',
'redirect': '/analytics',
'children': [
{
'name': 'Analytics',
'path': '/analytics',
'component': '/dashboard/analytics/index',
'meta': {
'affixTab': True,
'title': 'page.dashboard.analytics'
}
},
{
'name': 'Workspace',
'path': '/workspace',
'component': '/dashboard/workspace/index',
'meta': {
'title': 'page.dashboard.workspace'
}
}
]
}
]
def create_demos_menus(role: str):
role_with_menus = {
'admin': {
'component': '/demos/access/admin-visible',
'meta': {
'icon': 'mdi:button-cursor',
'title': 'demos.access.adminVisible'
},
'name': 'AccessAdminVisibleDemo',
'path': '/demos/access/admin-visible'
},
'super': {
'component': '/demos/access/super-visible',
'meta': {
'icon': 'mdi:button-cursor',
'title': 'demos.access.superVisible'
},
'name': 'AccessSuperVisibleDemo',
'path': '/demos/access/super-visible'
},
'user': {
'component': '/demos/access/user-visible',
'meta': {
'icon': 'mdi:button-cursor',
'title': 'demos.access.userVisible'
},
'name': 'AccessUserVisibleDemo',
'path': '/demos/access/user-visible'
}
}
return [
{
'meta': {
'icon': 'ic:baseline-view-in-ar',
'keepAlive': True,
'order': 1000,
'title': 'demos.title'
},
'name': 'Demos',
'path': '/demos',
'redirect': '/demos/access',
'children': [
{
'name': 'AccessDemos',
'path': '/demosaccess',
'meta': {
'icon': 'mdi:cloud-key-outline',
'title': 'demos.access.backendPermissions'
},
'redirect': '/demos/access/page-control',
'children': [
{
'name': 'AccessPageControlDemo',
'path': '/demos/access/page-control',
'component': '/demos/access/index',
'meta': {
'icon': 'mdi:page-previous-outline',
'title': 'demos.access.pageAccess'
}
},
{
'name': 'AccessButtonControlDemo',
'path': '/demos/access/button-control',
'component': '/demos/access/button-control',
'meta': {
'icon': 'mdi:button-cursor',
'title': 'demos.access.buttonControl'
}
},
{
'name': 'AccessMenuVisible403Demo',
'path': '/demos/access/menu-visible-403',
'component': '/demos/access/menu-visible-403',
'meta': {
'authority': ['no-body'],
'icon': 'mdi:button-cursor',
'menuVisibleWithForbidden': True,
'title': 'demos.access.menuVisible403'
}
},
role_with_menus[role]
]
}
]
}
]
MOCK_MENUS = [
{
'menus': [*dashboard_menus, *create_demos_menus('super')],
'username': 'vben'
},
{
'menus': [*dashboard_menus, *create_demos_menus('admin')],
'username': 'admin'
},
{
'menus': [*dashboard_menus, *create_demos_menus('user')],
'username': 'jack'
}
]