# 窗帘工厂管理系统 — 技术框架与功能简介 ## 一、项目概述 窗帘工厂管理系统是一套面向窗帘制造企业的全流程业务管理平台,覆盖从客户预约、测量报价、订单生产、安装交付到售后服务的完整业务闭环,同时整合财务管理、采购库存、人员管理、数据分析等支撑模块。 - **项目名称**:窗帘工厂管理系统 (Curtain Factory Management System) - **版本**:v1.0.0 - **开发语言**:前端 JavaScript (Vue 3) / 后端 Java (Spring Boot) - **界面语言**:简体中文 --- ## 二、全栈技术架构 ### 2.1 架构全景图 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 客户端 (Browser) │ │ Vue 3 + Vite · Pinia · Chart.js · Font Awesome │ │ Hash Router · 路由懒加载 · 路由守卫 │ └──────────────────────────┬──────────────────────────────────────┘ │ HTTP / JSON (RESTful API) ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 网关层 (Nginx / Gateway) │ │ 反向代理 · 负载均衡 · HTTPS · 静态资源 │ └──────────────────────────┬──────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 业务服务层 (Spring Boot 2.7) │ │ ┌─────────────┬────────────────┬─────────────────────────────┐ │ │ │Spring Sec │ AOP 切面 │ 全局异常处理 @RestControllerAdvice │ │ │JWT 认证 │ 操作日志 │ 统一响应体 R │ │ │RBAC 鉴权 │ 接口限流 │ 参数校验 JSR-303 │ │ └─────────────┴────────────────┴─────────────────────────────┘ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Controller → Service → Repository (JPA/Hibernate) │ │ │ └──────────────────────────────────────────────────────────┘ │ └──────────────────────────┬──────────────────────────────────────┘ │ ┌────────────┴────────────┐ ▼ ▼ ┌──────────────────────┐ ┌──────────────────────┐ │ MySQL 8.0 (主库) │ │ Redis (缓存/Session) │ │ · 读写分离 │ │ · JWT Token 黑名单 │ │ · 慢查询日志 │ │ · 验证码存储 │ │ · 索引优化 │ │ · 热点数据缓存 │ └──────────────────────┘ └──────────────────────┘ ``` ### 2.2 技术栈明细 | 层级 | 技术选型 | 版本 | 用途 | |------|----------|------|------| | **前端框架** | Vue 3 (Composition API) | ^3.3.4 | 组件化 UI 构建 | | **构建工具** | Vite | ^4.4.5 | 开发服务器 / HMR / 生产构建 | | **路由管理** | Vue Router | ^4.6.4 | Hash 模式 SPA 路由 | | **状态管理** | Pinia | ^2.1.7 | 全局状态与跨组件通信 | | **图表可视化** | Chart.js | ^4.4.0 | KPI 仪表盘与数据分析图表 | | **图标库** | Font Awesome 6 | CDN | 2000+ 矢量图标 | | **样式方案** | CSS Variables + Scoped CSS | — | 设计令牌 + 组件隔离 | | **后端框架** | Spring Boot | 2.7.x | 约定优于配置的微服务基座 | | **安全框架** | Spring Security + JWT | — | 无状态认证 + RBAC 鉴权 | | **ORM** | Spring Data JPA (Hibernate) | — | 对象关系映射 | | **缓存** | Redis | 7.x | Token 黑名单 / 验证码 / 热点缓存 | | **数据库** | MySQL | 8.0 | 主数据存储 | | **API 文档** | Knife4j (Swagger) | — | 自动生成 RESTful API 文档 | | **构建工具** | Maven | 3.8+ | 依赖管理与打包 | --- ## 三、前端项目架构 ### 3.1 目录结构 ``` html-vue3/ ├── index.html # 入口 HTML(挂载 #app + Font Awesome CDN) ├── package.json # 项目依赖与 pnpm/npm 脚本 ├── vite.config.js # Vite 配置(@别名 / 端口3001) │ └── src/ ├── main.js # 应用入口:createApp → Pinia → Router ├── App.vue # 根组件( 路由出口) │ ├── assets/css/ │ └── global.css # 全局样式:CSS变量 / 卡片 / 按钮 / 表格 / 模态框 / Toast │ ├── components/ │ ├── common/ │ │ └── PagePlaceholder.vue │ └── layout/ │ ├── MainLayout.vue # 主布局:Sidebar + TopBar + │ ├── Sidebar.vue # 左侧导航(260px / 可折叠 / 13组菜单) │ └── TopBar.vue # 顶部栏(侧栏切换 / 面包屑 / 全局搜索 / 用户信息) │ ├── composables/ # 可复用逻辑 │ ├── useModal.js # 模态框 open/close/loading │ ├── usePagination.js # 分页:page/size/total/pageChange │ ├── useSearch.js # 搜索:keyword/loading/search │ └── useToast.js # Toast:message/type/show/autoHide │ ├── router/index.js # 路由配置(Hash模式 / 42条路由 / 路由守卫) │ ├── stores/ # Pinia 状态管理 │ ├── customerStore.js # 客户 CRUD + 统计 │ ├── orderStore.js # 订单 CRUD + 状态流转 │ └── userStore.js # 登录/登出/持久化 │ ├── utils/ │ └── dataService.js # 演示数据生成器 │ └── views/ # 42 个业务页面(按模块分目录) ├── Login.vue ├── Dashboard.vue ├── Workflow.vue ├── NotFound.vue ├── customer/ # 3页 ├── quote/ # 2页 ├── order/ # 6页 ├── production/ # 3页 ├── install/ # 4页 ├── aftersale/ # 2页 ├── finance/ # 2页 ├── purchase/ # 3页 ├── product/ # 2页 ├── staff/ # 2页 ├── system/ # 5页 └── analysis/ # 4页 ``` ### 3.2 前端技术亮点 | 特性 | 实现方式 | |------|----------| | **Composition API** | 全部页面采用 `