# 会议核销SaaS 开发启动说明 ## 目录 - `backend/`:Spring Boot 后端工程(按模块分包)。 - `frontend/`:Vue3 + Element Plus 前端工程(按模块路由)。 - `基金会、协会、北京欣欣会议核销系统_完整版.md`:业务需求文档。 - `会议核销SaaS系统_技术开发文档.md`:技术开发文档。 ## 当前已落地MVP模块 - 后端核心接口 - `GET /api/system/health` - `GET/POST /api/projects` - `POST /api/projects/{id}/freeze` - `GET/POST /api/meetings` - `POST /api/meetings/{id}/submit` - `GET /api/audits/tasks` - `POST /api/audits/tasks/{id}/approve` - `POST /api/audits/tasks/{id}/reject` - `POST /api/audits/tasks/{id}/return` - `GET /api/finance/projects` - `POST /api/finance/payments` - 后端分层结构 - 已按 `controller/service/repository/model/dto` 分层。 - 已实现业务异常、参数校验、统一响应结构、错误码处理。 - 数据库与初始化 - `backend/src/main/resources/db/schema.sql` - `backend/src/main/resources/db/data.sql` - 调度任务(无MQ) - 已实现 `Scheduler + async_job` 内存版执行机制、重试与幂等防重。 - 前端模块页面 - 项目管理(新建/冻结/列表) - 会议管理(新建/会议级提交) - 审核管理(通过/拒绝/退回) - 财务管理(支付确认/列表) ## 第二阶段已落地 - 持久化升级 - 新增 JDBC 仓储实现(项目/会议/审核/支付/任务)。 - 支持通过 `APP_REPOSITORY_MODE` 切换 `jdbc` 与 `in-memory`。 - 数据库迁移 - 新增 Flyway 迁移脚本: - `backend/src/main/resources/db/migration/V1__init_schema.sql` - `backend/src/main/resources/db/migration/V2__seed_data.sql` - 系统设置基础模块 - 后端新增用户与角色接口:`/api/users`、`/api/roles` - 前端新增用户管理、角色管理页面与菜单。 - 文件能力 - 新增 OSS 预签名下载接口:`GET /api/files/presign-download` ## 第三阶段当前进展(已完成) - 认证与鉴权 - 新增 JWT 登录接口:`POST /api/auth/login` - 新增鉴权拦截器:统一校验 `Authorization: Bearer ` - 新增 RBAC 权限注解:`@RequirePermission` - 权限落地 - 项目、会议、审核、财务关键写操作已接入权限码校验。 - Flyway 迁移增强 - 新增 `V3__auth_rbac_seed.sql`,补齐用户、角色、权限与映射初始化数据。 - 前端登录与路由守卫 - 新增登录页 `/login` - 未登录自动跳转登录,token 过期自动清理并回登录页。 - 新增退出登录按钮。 ## 启动方式 ### 后端 1. 配置 `backend/src/main/resources/application.yml` 中的 MySQL 与 OSS 参数。 2. 在 `backend` 目录执行: - `mvn spring-boot:run` ### 前端 1. 在 `frontend` 目录执行: - `npm install` - `npm run dev` ## 测试与构建 ### 后端 - 在 `backend` 目录执行: - `mvn clean test` ### 前端 - 在 `frontend` 目录执行: - `npm run build` ## 试运行与发布 - 试运行与回滚预案见: - `docs/MVP_试运行与发布回滚预案.md` ## 下一阶段建议 1. 接入真实 MySQL 持久化仓储(替换内存仓储)。 2. 完成租户/用户/角色/权限模块。 3. 完善审核流配置化与任务告警通知通道。 4. 落地 OSS 上传、模板治理、专家模块。