Skip to content

About

冷水坑杯3线上报名系统

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

冷水坑杯 #3 比赛管理系统

《明日方舟》冷水坑杯 #3 赛事管理系统是一个基于 Flask + SQLite/MySQL 的 Web 应用,用于管理赛事报名、队伍创建、比赛匹配、积分计算等全流程。

功能概览

用户系统

  • ✅ 用户注册与登录(密码强度验证:8位+字母+数字)
  • ✅ 四级角色:超级管理员、管理员、队长、选手
  • ✅ 密码加密存储与强制修改机制
  • ✅ 登录会话管理(24小时超时)
  • ✅ 用户审批流程(注册→待审核→通过/拒绝)
  • ✅ 新手引导系统

队伍系统

  • ✅ 队长创建队伍
  • ✅ 4人队伍结构(队长1人 + 队员3人)
  • ✅ 队伍名称、口号、照片管理
  • ✅ 队长邀请选手 + 选手主动申请加入(双向)
  • ✅ 位置分配:冷水位、普通位①、普通位②、坑位

比赛系统

  • ✅ 自动匹配(按肉鸽分组,同队回避)
  • ✅ 比赛时间协商与确认
  • ✅ 双方独立难度选择
  • ✅ 比赛结果提交与自动判定
  • ✅ 争议处理(管理员裁定)
  • ✅ 弃权机制
  • ✅ 选手间留言沟通

积分系统

  • ✅ 最终积分 = 原始成绩 × 难度倍率
  • ✅ 难度倍率 = 1 + (难度 - 肉鸽最低难度) × 难度阶级
  • ✅ 每个肉鸽独立配置难度范围与倍率
  • ✅ 队伍积分 = 队员积分之和 × 加成倍率
  • ✅ 积分重置与全量重算

肉鸽系统

  • ✅ 动态肉鸽管理(增删改查)
  • ✅ 每队人数上限控制
  • ✅ 独立难度配置(最低/最高/阶级)

排行榜

  • ✅ 队伍排行榜(积分 > 特殊分 > 小分)
  • ✅ 晋级名单管理
  • ✅ 赛事结果展示(冠亚季军)

管理后台

  • ✅ 仪表盘(赛事统计概览)
  • ✅ 用户管理(审批、角色升降级、删除)
  • ✅ 队伍管理(查看、删除、积分修改)
  • ✅ 比赛管理(结果修改、审核、成绩日志)
  • ✅ 肉鸽管理(动态增删改查)
  • ✅ 轮播图管理(数据库驱动,支持图片/视频)
  • ✅ 积分配置(胜负平积分、加成倍率)
  • ✅ 报名控制(开放/关闭)
  • ✅ 赛事流程控制(报名→匹配→比赛→结束)
  • ✅ Excel 报名表导出
  • ✅ 操作审计日志(SystemLog)

前端设计

  • ✅ Bootstrap 5 响应式设计
  • ✅ 深色主题(明日方舟风格)
  • ✅ 轮播图组件(淡入淡出 + 触摸滑动)
  • ✅ PC 端 + 移动端适配
  • ✅ Font Awesome 图标库

系统需求

  • Python 3.10+
  • pip 包管理器
  • (可选)MySQL 8 用于生产环境

快速启动

# 方式一:使用 run.py(自动安装依赖)
python run.py

# 方式二:手动安装依赖后启动
pip install -r requirements.txt
python app.py

应用将在 http://localhost:19198 启动

默认账号

系统首次启动时自动创建:

用户名 密码 角色
admin admin123 管理员
sahu (见部署文档) 超级管理员

⚠️ 重要: 管理员首次登录必须修改密码!密码要求至少8位,包含字母和数字。

项目结构

├── app.py                   # 单文件后端(配置/模型/表单/路由/工厂)
├── run.py                   # 启动脚本(自动检测环境+安装依赖)
├── main.py                  # 简化启动入口
├── app/
│   ├── templates/           # Jinja2 模板
│   │   ├── admin/           # 管理后台模板
│   │   ├── auth/            # 认证模板
│   │   ├── captain/         # 队长模板
│   │   ├── player/          # 选手模板
│   │   └── tournament/      # 赛事模板
│   └── static/              # 静态文件(CSS/JS/上传文件)
├── image/                   # 轮播图片/视频
├── .db/                     # SQLite 数据库(自动创建)
├── requirements.txt         # 依赖清单
└── README.md

所有后端代码整合在 app.py 中,便于 Docker 打包部署。

数据库

默认使用 SQLite(。db/lskb.db),生产环境通过 DATABASE_URL 环境变量切换 MySQL。

用户指南

选手流程

  1. 注册账号 → 2. 等待管理员审批 → 3. 接受邀请/主动申请 → 4. 选择肉鸽 → 5. 填写宣言 → 6. 设置可用时间 → 7. 参加比赛

队长流程

  1. 注册并升级为队长 → 2. 创建队伍 → 3. 邀请选手/审核申请 → 4. 分配位置 → 5. 选择肉鸽和宣言 → 6. 参加比赛

管理员流程

  1. 登录后台 → 2. 审批用户 → 3. 管理赛事流程 → 4. 处理争议 → 5. 导出数据

安全特性

  • ✅ Flask-Login 用户认证
  • ✅ 四级 RBAC 权限控制
  • ✅ CSRF 防护(Flask-WTF)
  • ✅ 密码加密存储(Werkzeug)
  • ✅ SQL 注入防护(SQLAlchemy ORM)
  • ✅ 密码强度验证(8位+字母+数字)
  • ✅ 操作审计日志(SystemLog)
  • ✅ 路径穿越防护

故障排除

数据库连接失败

  • 检查 MySQL 服务是否运行
  • 检查连接字符串中的用户名、密码、主机名
  • 确保数据库已创建

导入包错误

pip install --upgrade pip
pip install -r requirements.txt

模板错误

  • 检查 app/templates 目录是否存在
  • 检查模板文件名是否正确

开发建议

  • 使用 FLASK_ENV=development 启用调试模式
  • 定期备份数据库
  • 生产环境更改 SECRET_KEY
  • 使用环境变量管理敏感配置

许可证

Copyright © 2026 冷水坑杯 #3 赛事组委会


有问题或建议?请联系管理员。 "# lskb-competition"

About

冷水坑杯3线上报名系统

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages