# file-control **Repository Path**: jinzhehhh/file-control ## Basic Information - **Project Name**: file-control - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-25 - **Last Updated**: 2026-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # file-control 一个前后端分离的文件管理练习项目,基于 **Vue 3 + Vite**(前端)与 **Express + MySQL**(后端)。 ## 目录结构 ``` file-control/ ├── backend/ # Node.js + Express 服务 └── frontend/ # Vue3 + Vite 前端应用 ``` ## 本地开发(WSL 直接运行) 在 WSL 中直接运行前后端,开发时无需使用 Docker。进入项目根目录: ```bash # 一次性安装根目录 + 前后端依赖 npm install # 启动前端(开发环境,默认 http://localhost:5173) npm run dev # 启动后端(开发环境,默认 http://localhost:3000) npm run backend ``` 也可以分别进入子目录运行: ```bash cd frontend npm install npm run dev cd ../backend npm install npm start ``` ## 使用 Docker 打包与运行(部署/演示环境) 当需要打包上线或一键拉起前后端 + MySQL 时,使用根目录下的 `Dockerfile` 和 `docker-compose.yml`: ```bash # 在项目根目录构建应用镜像 docker build -t file-control . # 使用 docker compose 启动:包含 MySQL + 后端(会提供打包后的前端静态资源) docker compose up -d # 停止运行 docker compose down ``` 开发阶段建议直接在 WSL 里运行 Node/Vite,Docker 仅用于打包和部署场景。 ## TEE (C++ gRPC 服务) Docker 使用说明 仓库中的 `backend/cpp` 是基于 gRPC 的 C++ 服务实现(仓库中二进制名为 `teectl_server`)。下面是常见的构建与运行流程说明与建议: **依赖说明:**`backend/cpp/Dockerfile` 会尝试使用仓库根目录下的 `grpc-1.51.1` 目录来构建 gRPC(见 `COPY grpc-1.51.1 /opt/grpc`)。确保在构建镜像前该目录存在且包含必要源码;否则镜像构建会失败。 构建镜像:生产/一次性 ```bash cd backend/cpp ./docker_build.sh ``` 生产/持久化运行:容器不会被 --rm 删除,使用 volume 保存数据 ```bash cd backend/cpp ./docker_run.sh # 若容器已存在,此脚本会尝试启动它 docker stop teectl-cpp docker start teectl-cpp ``` 开发模式:不重建镜像,而是把主机源码挂载到容器内并在容器内编译运行,适用于频繁改动源代码 ```bash cd backend/cpp ./docker_run_dev.sh # 该命令会挂载仓库根目录到容器内并在容器里执行 cmake/make 然后运行服务 ```