添加后端基础架构和API功能

- 配置.env文件支持环境变量管理
- 集成MyBatis Plus ORM框架并配置数据库连接
- 实现JWT认证和Spring Security安全配置
- 添加全局异常处理机制和统一响应结果封装
- 配置CORS跨域资源共享支持
- 实现用户认证API包括登录、注册、刷新token功能
- 开发完整的药品管理系统包含分类、药品、库存管理
- 实现出入库管理功能包括供应商、客户管理
- 添加角色权限管理和菜单配置
- 实现仪表盘统计和过期预警功能
- 配置分页查询和数据验证功能
```
This commit is contained in:
2026-07-06 20:04:44 +08:00
parent 15da4fe492
commit 258bae75b2
102 changed files with 3054 additions and 128 deletions

View File

@@ -10,6 +10,12 @@ const constantRoutes = [
component: () => import('@/views/login/LoginView.vue'),
meta: { title: '登录', noAuth: true },
},
{
path: '/register',
name: 'Register',
component: () => import('@/views/login/RegisterView.vue'),
meta: { title: '注册', noAuth: true },
},
{
path: '/',
name: 'MainLayout',
@@ -48,6 +54,7 @@ export const componentMap = {
'views/stockOut/StockOutForm': () => import('@/views/stockOut/StockOutForm.vue'),
'views/user/UserList': () => import('@/views/user/UserList.vue'),
'views/role/RoleList': () => import('@/views/role/RoleList.vue'),
'views/menu/MenuList': () => import('@/views/menu/MenuList.vue'),
}
// 根据后端菜单数据生成路由
@@ -79,13 +86,12 @@ router.beforeEach(async (to, _from, next) => {
return
}
// TODO: 暂时跳过登录验证(开发阶段)
// if (!userStore.token) {
// next('/login')
// return
// }
if (!userStore.token) {
next('/login')
return
}
// 动态注册菜单路由(仅首次),开发阶段使用本地 mock 菜单
// 动态注册菜单路由(仅首次)
if (!isMenusLoaded) {
try {
const menus = await userStore.getMenus()