# HiTennis **Repository Path**: chiyou-debug/hi-tennis ## Basic Information - **Project Name**: HiTennis - **Description**: 随着网球运动的普及,球友之间自发组织打球活动存在信息分散、约球效率低、费用结算不便等痛点。本应用旨在通过小程序为球友提供便捷的组局、报名、支付及参与活动的一站式服务,后台端用于管理用户、组局及订单数据。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 0 - **Created**: 2026-04-18 - **Last Updated**: 2026-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HiTennis - 偶尔网球 一款面向网球爱好者的组局约球平台。通过微信小程序发布和参加网球活动,后台管理端进行运营管理。 ## 技术栈 | 端 | 技术 | | -------- | ---------------------------------------------- | | 小程序端 | 微信原生小程序 | | 管理后台 | Vue 3 + Element Plus + Vite + Pinia + ECharts | | 后端服务 | Spring Boot 3.2.5 + MyBatis-Plus + JWT + Redis | | 数据库 | MySQL 8.0 | | 部署 | Docker Compose(MySQL + Redis + 后端 + Nginx) | ## 功能介绍 ### 小程序端 - 微信一键登录,登录页一步收集头像、昵称、手机号 - 基于地理位置的组局推荐:用户通过地图选点定位,按距离排序展示附近活动 - 地图定位切换城市:点击顶部位置栏打开地图选点,切换查看不同区域的组局 - 按省市区三级联动筛选组局,支持时间、等级筛选 - 发布组局(分步表单:基础信息 / 时间地点 / 人数费用 / 联系电话) - 组局详情:参与者列表、报名/取消、费用展示(线下支付)、联系发布者、距离展示 - 个人中心:用户信息、发布/参与统计、我的组局 ### 管理后台 - 仪表盘:用户数/组局数统计、等级分布图表 - 用户管理:用户列表、详情、封禁/解封 - 组局管理:组局列表、详情、强制取消 - 场地管理:场地增删改,关联省市区,支持经纬度坐标配置 - 等级配置:NTRP 等级管理 - 管理员设置:账号增删改、密码重置、角色分配(super_admin / admin) ## 项目截图 ### 小程序端 ### 管理后台 ## Docker 部署 项目根目录提供了完整的 `docker-compose.yml`,包含 MySQL、Redis、Spring Boot 后端、Nginx(管理后台)四个服务,支持一键部署。 ### 1. 克隆项目 ```bash git clone https://gitee.com/chiyou-debug/hi-tennis.git cd hi-tennis ``` ### 2. 配置环境变量 ```bash cp .env.example .env ``` 编辑 `.env` 文件,填写实际值: ```env # MySQL MYSQL_ROOT_PASSWORD=your_password MYSQL_DATABASE=hi_tennis # JWT 密钥(请使用随机字符串) JWT_ADMIN_SECRET=your-admin-jwt-secret JWT_WX_SECRET=your-wx-jwt-secret # CORS 允许的来源(管理后台访问地址) CORS_ORIGINS=http://localhost ``` ### 3. 构建并启动 ```bash docker compose up -d --build ``` 首次启动需要构建镜像,耗时较长。启动完成后: - MySQL 自动导入建表脚本和省市区数据 - Spring Boot 自动创建默认管理员账号 `admin` / `admin123` ### 4. 验证服务 ```bash # 查看各服务运行状态 docker compose ps # 查看后端日志 docker compose logs -f backend ``` 访问 `http://localhost` 打开管理后台,使用 `admin` / `admin123` 登录。 ### 5. 常用命令 ```bash # 停止所有服务 docker compose down # 停止并清除数据卷(会删除数据库数据) docker compose down -v # 重新构建某个服务 docker compose build backend docker compose up -d backend # 查看实时日志 docker compose logs -f ``` ### 服务架构 ``` Host :80 | [ Nginx ] ── 管理后台静态文件 | /api/* 反向代理 | [ Backend :8080 ] / \ [ MySQL ] [ Redis ] ``` ### 生产环境补充 部署到云服务器时,需额外处理: 1. 修改 `.env` 中 `CORS_ORIGINS` 为实际域名 2. 在 Nginx 或云服务商层面配置 HTTPS(微信小程序要求 HTTPS) 3. 微信公众平台添加服务器域名到 request 合法域名 4. 小程序 `miniprogram/services/api.js` 中将 `USE_MOCK` 设为 `false`,`BASE_URL` 改为服务器地址 ## License [MIT](./LICENSE)