# equipment **Repository Path**: guoshigen/equipment ## Basic Information - **Project Name**: equipment - **Description**: 公司资产管理系统,适用于轻资产公司。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-08 - **Last Updated**: 2026-10-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 企业资产管理系统(equipments) 办公资产管理系统:资产登记 / 领用 / 归还 / 统计看板 / 操作日志,支持管理员与普通员工两类角色。 技术栈:Java17 + Spring Boot 3 + MyBatis-Plus + MySQL8 + Redis + JWT;前端 Vue3 + TypeScript + Vite + Element Plus + ECharts。 ## 目录结构 ``` equipments/ ├── source/ │ ├── equip-backend/ # 后端(Spring Boot) │ │ └── Dockerfile │ └── equip-frontend/ # 前端(Vue3 + Vite) │ ├── Dockerfile │ └── nginx.conf # 容器内 nginx 反代 /api -> backend ├── docker/ │ └── mysql/ │ └── init.sql # equip 库完整快照(表结构+数据,Docker 首次启动直接灌入) ├── docker-compose.yml # 一键编排 mysql/redis/backend/frontend ├── start-all.bat # 本地一键启动前后端 ├── stop-all.bat # 本地一键停止前后端 └── README.md ``` ## 一、本地开发(依赖本机 MySQL / Redis / Maven / Node) 1. 确保本机已启动 MySQL(库名 `equip`,账号 `root/root`)与 Redis(密码 `12345a`)。 2. 初始化数据库:执行 `source/equip-backend/src/main/resources/db/` 下的 `schema.sql` 及各 `migration_*.sql`,或由 `DataInitializer` 在后端启动时自动种子化角色/菜单/管理员。 3. 双击 `start-all.bat` 启动前后端(后端 `mvn spring-boot:run`,前端 `vite`)。 4. 浏览器打开 http://localhost:5173 ,登录账号 `admin / 123456`。 > 若需停止:双击 `stop-all.bat`。 ## 二、Docker 一键部署 前置:安装 [Docker Desktop](https://www.docker.com/products/docker-desktop/)。 ```bash # 在仓库根目录执行(首次会拉取镜像并编译后端/前端,需联网,约几分钟) docker-compose up --build -d ``` 启动后访问 **http://localhost:8088** ,登录 `admin / 123456`。 ### 服务与端口 | 服务 | 容器内端口 | 宿主机映射 | 说明 | |------|-----------|-----------|------| | mysql | 3306 | 3307 | 数据持久化到卷 `mysql-data` | | redis | 6379 | 6380 | 密码 `12345a`(令牌黑名单) | | backend | 8080 | 18080 | REST API(`/api`) | | frontend | 80 | 8088 | nginx 托管静态资源 + 反代 `/api` | > 宿主机端口刻意避开本机常用端口(3306 / 6379 / 8080 / 5173),可与本地开发环境并存。 ### 初始化说明 - MySQL 首次启动会自动执行 `docker/mysql/init.sql`,将现有数据库(含角色、菜单、管理员 `admin/123456` 以及演示资产/申请/日志等数据)一次性灌入。 - 后端启动时的 `DataInitializer` 已做幂等处理(数据已存在则跳过),与预置数据兼容、不会冲突。 - 若需重置数据:`docker-compose down -v`(同时删除数据卷)。 ### 常用命令 ```bash docker-compose ps # 查看状态 docker-compose logs -f backend # 查看后端日志 docker-compose down # 停止(保留数据卷) docker-compose down -v # 停止并删除数据卷 ``` ## 三、默认账号 | 角色 | 账号 | 密码 | |------|------|------| | 管理员 | admin | 123456 | | 员工 | (由管理员在用户管理页创建) | — | ## 四、生产建议 - 修改 `application.yml` 中的 `jwt.secret` 为足够长的随机串。 - 修改 MySQL / Redis 密码,并同步更新 `docker-compose.yml` 中的环境变量。 - 当前 `init.sql` 为本机 `equip` 库的完整数据快照;若数据库结构或数据演进需更新,请用 `mysqldump --default-character-set=utf8mb4 equip > docker/mysql/init.sql` 重新导出(注意 Windows 下 `--result-file` 可能按 GBK 写出导致中文乱码,导出后请校验中文)。