☰
i茅台自动预约系统完整部署指南
2026/10/18 1:26:03 网站建设 项目流程

i茅台自动预约系统完整部署指南

【免费下载链接】campus-imaotaii茅台app自动预约,每日自动预约,支持docker一键部署(本项目不提供成品,使用的是已淘汰的算法)项目地址: https://gitcode.com/GitHub_Trending/ca/campus-imaotai

Campus-iMaoTai 是一个基于 Java 的 i茅台自动预约系统,支持 Docker 部署,适合不想每天守在手机前抢号的用户。绑定 i茅台账号后,登录状态维护、选店、提交预约会按设定的分钟自动完成,申购结果在晚间批量查询。本教程面向会基本命令、装过 Docker 的用户,覆盖环境搭建、账号绑定、门店策略到日常运维的完整过程。

项目速览

  • 后端基于 Spring Boot + MyBatis-Plus + Redis,前端为 Vue + Element UI 管理后台,页面由 Nginx 托管。
  • Docker Compose 一次性拉起 4 个服务:MySQL(3306)、Redis(6379)、Nginx(80)、预约服务(8160)。
  • 预约、数据刷新、结果查询全部由 Spring cron 定时任务驱动,启动后无需人工触发。
  • 项目采用 Apache 2.0 许可开源,doc/docker/ 内提供全套部署配置与 SQL 文件。
  • README 声明所使用的算法已经淘汰、项目定位是学习和研究,实际投入使用前请先评估。

部署:三步跑通环境

环境检查

先确认机器已安装 Docker 与 Docker Compose:

docker version docker compose version

compose 文件中所有服务使用 host 网络模式,端口直接绑定到宿主机,因此 3306、6379、80、8160 需要空闲;数据与配置通过宿主机 /docker/ 目录下的 mysql、redis、nginx、server 四个子目录挂载,目录不存在时由 Docker 自动创建。

一键启动

git clone https://gitcode.com/GitHub_Trending/ca/campus-imaotai cd campus-imaotai/doc/docker docker-compose up -d
服务端口职责
mysql3306存储账号、门店、商品、日志数据
redis6379缓存商品版本、会话等运行数据
nginx-web80托管管理后台页面,把 /prod-api 请求转发给后端
campus-imaotai8160承担预约调度与业务接口

如需调整数据库或 Redis 连接地址,修改 /docker/server/conf/ 目录下的 application-prod.yml(仓库 doc/docker/server/conf/ 有说明),该文件挂载到容器 /home/campus/conf/ 后生效;Nginx 配置见 doc/docker/nginx/conf/nginx.conf,无需在文内展开完整 YAML。

数据库初始化与验证

compose 启动时已建好空库 campus_imaotai,接下来从 doc/sql/ 导入表结构:

cd campus-imaotai/doc/sql mysql -h localhost -u root -p campus_imaotai < campus_imaotai-1.0.5.sql mysql -h localhost -u root -p -e "USE campus_imaotai; SHOW TABLES;"

验证命令输出中出现 i_user、i_shop、i_item、i_log、sys_config 等表名,即表示初始化完成。

首次使用:从绑定账号到拿到预约结果

绑定第一个账号

用浏览器打开服务器 IP(80 端口)进入管理后台,进入「i茅台 → 用户管理」,点击「添加账号」:输入 i茅台手机号,点击「发送验证码」,填入收到的验证码完成登录。登录成功后,系统会自动保存该账号的 token、设备 ID 与到期时间,这些是后续每次预约的身份凭证。

图:添加账号弹窗,只需依次填写手机号与验证码,登录动作由后台代为完成。

选择门店策略

在用户编辑表单中填写预约项目 code(多个项目用 @ 分隔)、省份、城市、经纬度,再选择门店类型,系统支持三种方式:

策略工作方式适用场景
本市出货量最大门店取本市当天该商品出货量最大的门店,本市无货时自动改用省内距离最近门店希望押注投放量大的门店
位置附近门店按填写的经纬度计算距离,选择最近的门店图方便就近提货
自定义门店手动填写门店商品 ID,可在门店列表页查询获得有明确指定的目标门店

图:门店列表页可按商品 ID、省份、城市等条件筛选,也支持一键刷新最新茅台商品门店数据。

设置预约时间与结果推送

预约动作由定时任务按固定节奏执行,你在界面上只需填好「预约分钟」:

  • 每天 07:10、07:55 刷新商品版本、门店列表与预约项目;
  • 每天 01:10 为选择随机预约的账号批量生成当天随机分钟;
  • 9 点期间每分钟执行一次,系统挑出「预约分钟」等于当前分钟号的账号提交预约,同一账号多个项目之间随机间隔 3~5 秒;
  • 11 点期间每分钟执行一次「小茅运旅行」活动奖励领取批次;
  • 18:05 批量查询申购结果并写入操作日志。

用户表单中还可以填 PushPlus token,预约结果会通过消息推送发到你的手机。

在操作日志中确认预约结果

预约结束后到操作日志页核对:按系统模块「i茅台预约」筛选,结合操作状态、操作时间查看每一条请求与返回内容,页面支持批量删除、清空与导出。预约成功的记录会在 18:05 结果查询后出现。

图:操作日志页记录每次预约请求的返回状态,可按状态与时间快速定位失败条目。

进阶:多账号管理与调优

图:用户管理列表集中展示各账号的 token、预约项目 code、门店类型与到期时间,支持按手机号、用户 ID、省份、城市筛选和批量操作。

  • 给不同账号设置不同的预约分钟与门店,把提交时间分散开,避免多账号集中在同一分钟。
  • 定期检查列表中的到期时间,token 过期后及时重新绑定,否则 9 点批次会失败。
  • 服务器时钟保持准确(开启 NTP 同步),预约批次依赖分钟级计时,时钟漂移会漏批次。
  • 用 PushPlus 推送结果,减少每天手动翻日志的动作。
  • 资源建议:内存不低于 4GB、磁盘不低于 10GB,网络稳定且延迟较低。
  • 定期备份 /docker/mysql/data 数据目录,账号数据都在里面。

避坑手册

现象可能原因处理
容器启动失败或端口被占3306、6379、80、8160 已被占用(host 网络模式)释放被占端口或调整部署
数据库连接失败mysql 容器未运行或 root 密码不一致检查容器状态,确认密码与 compose 默认值 123456789 一致
Redis 连接异常redis 容器未运行或配置文件挂载错误核对 /docker/redis/conf/redis.conf 与容器日志
前端页面打不开nginx-web 未运行或页面未放入 /docker/nginx/html检查 nginx-web 容器状态与 html 挂载目录
页面能打开但接口报错campus-server 未启动或缺少 application-prod.yml核对 /docker/server/conf/application-prod.yml 与容器日志
9 点没有预约记录token 过期或未填写预约项目 code查看用户列表到期时间,重新绑定并补填项目

日常运维

  • 每天检查 docker logs campus-imaotai 与操作日志页,确认预约批次没有报错。
  • 定期备份 /docker/mysql/data,并按需导出 i_user、i_shop 等重要表。
  • 版本更新按「备份数据 → 拉取新镜像 → 重启容器 → 验证一次预约流程」的顺序执行。
  • 修改数据库 root 密码,管理后台与 8160 端口不要无防护地暴露到公网。
  • 关注 token 到期时间及时重绑,并定期归档过期的操作日志。

这套部署流程适合想体验完整自动预约链路、或需要集中管理多个 i茅台账号的用户,注意 README 中已说明所用算法淘汰、项目定位为学习和研究。使用时请保管好数据库与 Redis 凭证,及时更新依赖,并限制后台与服务端口的公开访问。按本教程完成账号绑定后,系统就会按设定好的节奏自动完成每天的预约提交与结果确认。

【免费下载链接】campus-imaotaii茅台app自动预约,每日自动预约,支持docker一键部署(本项目不提供成品,使用的是已淘汰的算法)项目地址: https://gitcode.com/GitHub_Trending/ca/campus-imaotai

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询