You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

3.3 KiB

任务管理系统部署指南

环境要求

后端环境

  • Go 1.19+
  • MySQL 8.0+
  • Git

前端环境

  • Node.js 16+
  • npm 或 yarn
  • 现代浏览器(Chrome, Firefox, Safari, Edge)

快速启动

方法一:使用启动脚本(推荐)

Windows:

# 双击运行
start.bat

# 或命令行运行
.\start.bat

Linux/macOS:

chmod +x start.sh
./start.sh

方法二:手动启动

  1. 启动后端服务器
cd backend
go mod tidy
go run main.go
  1. 启动前端服务器
cd frontend
npm install
npm run dev

访问地址

数据库配置

  1. 创建MySQL数据库:
CREATE DATABASE task_track CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 修改后端配置文件 backend/config.yaml
database:
  host: localhost
  port: 3306
  user: your_username
  password: your_password
  database: task_track

功能测试

1. 用户注册和登录

  • 访问登录页面
  • 注册新用户或使用测试账号登录

2. 创建任务

  • 进入任务管理页面
  • 点击"创建任务"按钮
  • 填写任务信息
  • 上传附件(支持拖拽)
  • 保存任务

3. 管理附件

  • 在任务列表中查看附件数量
  • 点击附件数量查看详情
  • 下载或删除附件

4. API测试

使用 api_test_tasks.http 文件测试所有API端点:

  • 文件上传
  • 任务CRUD操作
  • 附件管理
  • 搜索和筛选

目录结构

task_track/
├── frontend/           # Vue3前端应用
├── backend/           # Go后端服务
├── uploads/          # 文件上传目录
├── database/         # 数据库初始化脚本
├── api_test_tasks.http  # API测试文件
├── start.bat         # Windows启动脚本
├── start.sh          # Linux/macOS启动脚本
└── README.md         # 项目说明

故障排除

常见问题

  1. 后端启动失败

    • 检查Go版本和环境变量
    • 确认MySQL服务运行正常
    • 检查数据库连接配置
  2. 前端启动失败

    • 检查Node.js版本
    • 删除 node_modules 重新安装依赖
    • 检查端口5173是否被占用
  3. 文件上传失败

    • 确认 backend/uploads 目录存在
    • 检查目录写入权限
    • 确认文件大小和格式限制
  4. API请求失败

    • 检查后端服务是否正常运行
    • 确认CORS配置正确
    • 检查认证token是否有效

日志查看

  • 后端日志: 控制台输出
  • 前端日志: 浏览器开发者工具
  • 网络请求: 浏览器Network面板

生产部署

后端部署

cd backend
go build -o task-track main.go
./task-track

前端部署

cd frontend
npm run build
# 将 dist/ 目录部署到Web服务器

环境变量

设置以下环境变量用于生产环境:

  • GIN_MODE=release
  • DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME
  • JWT_SECRET

安全注意事项

  1. 文件上传安全

    • 限制文件类型和大小
    • 扫描恶意文件
    • 使用独立的文件存储服务
  2. API安全

    • 使用HTTPS协议
    • 实现请求频率限制
    • 定期更新JWT密钥
  3. 数据库安全

    • 使用强密码
    • 限制数据库访问权限
    • 定期备份数据