Files
workspace/code/fms/.qoder/repowiki/zh/content/快速开始.md
T
2026-08-23 21:02:41 +08:00

12 KiB
Raw Blame History

快速开始

**本文引用的文件** - [fms-api/pom.xml](file://fms-api/pom.xml) - [fms-api/src/main/resources/application.yaml](file://fms-api/src/main/resources/application.yaml) - [fms-api/config/dbconfigs/README.md](file://fms-api/config/dbconfigs/README.md) - [fms-api/config/dbconfigs/G3HD.properties](file://fms-api/config/dbconfigs/G3HD.properties) - [fms-api/start.cmd](file://fms-api/start.cmd) - [fms-vue/package.json](file://fms-vue/package.json) - [fms-vue/vite.config.js](file://fms-vue/vite.config.js) - [fms-vue/src/views/login/index.vue](file://fms-vue/src/views/login/index.vue) - [fms-api/config/migrations/100_initialize_fms_new.sql](file://fms-api/config/migrations/100_initialize_fms_new.sql)

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖分析
  7. 性能考虑
  8. 故障排查指南
  9. 结论
  10. 附录

简介

本快速开始指南帮助你在本地环境搭建并运行 FMS 财务管理系统,包括:

  • 环境要求(Node.js、Java、数据库)
  • 后端服务启动与配置说明
  • 前端开发环境启动与代理配置
  • 首次登录与基础操作示例
  • 常见问题与排错建议

项目结构

FMS 采用前后端分离架构:

  • 后端:Spring Boot 应用(fms-api),提供 REST API、认证鉴权、数据访问与文件存储能力
  • 前端:Vue 3 + Vite(fms-vue),提供管理界面与交互逻辑
  • 数据库:SQL Server(通过 JDBC 连接),支持按机构分库配置
  • 文件存储:默认本地文件系统,可切换至对象存储
graph TB
subgraph "前端"
FE["fms-vue<br/>Vite 开发服务器"]
end
subgraph "后端"
BE["fms-api<br/>Spring Boot 应用"]
DB[("SQL Server<br/>数据库")]
FS["本地文件存储<br/>./data/files"]
end
FE --> |HTTP /api/*| BE
BE --> |JDBC| DB
BE --> |读写| FS

图表来源

章节来源

核心组件

  • 后端服务(fms-api)
    • 基于 Spring Boot,端口 8088,上下文路径 /api
    • 使用 Druid 连接池与 SQL Server JDBC 驱动
    • 支持 JWT 认证与过期时间配置
    • 文件存储默认本地目录 ./data/files,可通过配置切换
  • 前端应用(fms-vue)
    • 基于 Vue 3 + Vite,开发端口 5082
    • 开发时通过代理将 /api 请求转发到后端 http://127.0.0.1:8088
    • 登录页面收集机构码、账号、密码,调用后端登录接口
  • 数据库与迁移
    • 每个机构一个 properties 配置文件,存放数据库连接信息
    • 提供初始化脚本,创建基础表结构与初始数据

章节来源

架构总览

下图展示了从浏览器到后端再到数据库的完整请求链路,以及文件存储的位置。

sequenceDiagram
participant U as "用户浏览器"
participant FE as "fms-vue(Vite)"
participant BE as "fms-api(Spring Boot)"
participant DB as "SQL Server"
participant FS as "本地文件存储"
U->>FE : 打开登录页
FE->>BE : POST /api/auth/login (携带 orgId/account/password)
BE->>DB : 校验用户凭据
DB-->>BE : 返回用户信息
BE-->>FE : 返回 token 与用户信息
FE->>FE : 保存会话(持久化)
U->>FE : 进入首页/功能模块
FE->>BE : GET/POST 业务接口
BE->>DB : 读取/写入业务数据
BE->>FS : 上传/下载文件
FS-->>BE : 文件结果
BE-->>FE : 响应数据

图表来源

详细组件分析

后端服务(fms-api)

  • 启动方式
    • 使用 Maven 插件直接运行,或执行 start.cmd(需配置 JAVA_HOME 与 MAVEN_HOME)
  • 关键配置
    • 服务端口与上下文路径
    • JWT 密钥与过期时间
    • 数据库连接池参数
    • 文件存储类型与本地目录
  • 数据库连接
    • 在 config/dbconfigs 目录下为每个机构创建 {ORG_ID}.properties 文件
    • 包含 url、username、password、driver 等必要项
  • 初始化
    • 执行初始化迁移脚本以创建基础表结构与数据
flowchart TD
Start(["启动 fms-api"]) --> LoadCfg["加载 application.yaml"]
LoadCfg --> ReadDBCfg["读取 dbconfigs/*.properties"]
ReadDBCfg --> InitPool["初始化 Druid 连接池"]
InitPool --> Ready{"服务就绪?"}
Ready --> |是| Serve["处理 HTTP 请求"]
Ready --> |否| Error["输出错误日志并退出"]

图表来源

章节来源

前端开发环境(fms-vue)

  • 安装依赖与启动
    • 安装依赖:npm install(或 pnpm install)
    • 启动开发服务器:npm run dev
  • 代理配置
  • 登录流程
    • 输入机构码、账号、密码后调用后端登录接口
    • 成功后保存会话并跳转到首页
sequenceDiagram
participant Dev as "开发者终端"
participant FE as "fms-vue(Vite)"
participant BE as "fms-api"
Dev->>FE : npm install
Dev->>FE : npm run dev
Note over FE : 启动于 5082,代理 /api -> 8088
FE->>BE : 登录请求
BE-->>FE : 返回 token 与用户信息
FE->>FE : 保存会话并跳转

图表来源

章节来源

依赖分析

  • 后端依赖
    • Spring Boot WebMVC、JDBC、Druid、JWT、SQL Server JDBC 驱动
  • 前端依赖
    • Vue 3、Vue Router、Pinia、Axios、Vite、测试与代码质量工具
graph LR
A["fms-vue"] --> B["axios"]
A --> C["vue-router"]
A --> D["pinia"]
E["fms-api"] --> F["spring-boot-starter-webmvc"]
E --> G["spring-boot-starter-jdbc"]
E --> H["druid"]
E --> I["jjwt-*"]
E --> J["mssql-jdbc"]

图表来源

章节来源

性能考虑

  • 数据库连接池
    • 合理设置初始大小、最小空闲、最大活跃数与等待超时
    • 启用空闲检测与借还连接时的验证查询
  • 文件存储
    • 本地存储适合开发与单机部署;生产环境可切换至对象存储以提升扩展性
  • 前端代理
    • 开发阶段通过 Vite 代理减少跨域问题;生产环境建议使用反向代理统一入口

[本节为通用指导,不直接分析具体文件]

故障排查指南

  • 无法连接数据库
    • 检查 dbconfigs/{ORG_ID}.properties 中的 url、用户名、密码与驱动是否正确
    • 确认 SQL Server 服务可达且端口开放
    • 若连接旧版仅支持 TLS 1.0 的 SQL Server,参考 README 中提供的 JVM 参数方式启动
  • 后端启动失败
    • 确认 JAVA_HOME 与 MAVEN_HOME 已正确设置
    • 检查 application.yaml 中的端口是否被占用
    • 查看控制台日志定位异常堆栈
  • 前端无法访问后端接口
    • 确认后端已在 8088 端口启动
    • 确认 Vite 代理目标地址为 http://127.0.0.1:8088
    • 检查浏览器网络面板中 /api 请求是否被正确转发
  • 登录失败
    • 核对机构码、账号、密码是否正确
    • 查看后端日志确认认证流程是否成功
    • 若提示会话相关错误,检查 JWT 密钥配置是否一致

章节来源

结论

按照本指南完成环境准备、后端与前端启动、数据库初始化后,即可通过浏览器访问前端进行登录与基础操作。建议在开发过程中关注日志与网络请求,以便快速定位问题。生产部署时请根据实际环境调整数据库连接、文件存储与安全策略。

[本节为总结性内容,不直接分析具体文件]

附录

环境要求

  • Node.js:用于运行 fms-vue 前端开发环境
  • Java:21(由后端项目属性指定)
  • 数据库:SQL Server(通过 mssql-jdbc 驱动连接)

章节来源

环境搭建步骤

  • 后端
    • 准备 SQL Server 实例并创建数据库
    • 在 fms-api/config/dbconfigs 下为当前机构创建 {ORG_ID}.properties,填写连接信息
    • 执行初始化迁移脚本以创建基础表结构与数据
    • 启动后端服务(使用 Maven 或 start.cmd)
  • 前端
    • 进入 fms-vue 目录,安装依赖并启动开发服务器
    • 打开浏览器访问开发端口,进入登录页

章节来源

配置文件要点

  • 后端 application.yaml
    • 服务端口与上下文路径
    • JWT 密钥与过期时间
    • 数据库连接池参数
    • 文件存储类型与本地目录
  • 数据库连接
    • 每个机构一个 properties 文件,包含 url、用户名、密码、驱动
  • 前端 vite.config.js
    • 开发端口与代理目标地址

章节来源

首次登录与基础操作示例

  • 打开前端登录页,输入机构码、账号、密码
  • 提交后若成功,系统将保存会话并跳转到首页
  • 可在首页或系统菜单中进行基础业务操作(如查看模块列表、数据录入等)

章节来源