i茅台自动预约系统campus-imaotai:5分钟部署完成每日9点定时申购
2026/8/27 16:27:59 网站建设 项目流程

i茅台自动预约系统campus-imaotai:5分钟部署完成每日9点定时申购

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

campus-imaotai 是一个 i茅台自动预约系统。它把 i茅台账号托管在服务器上,每天 9 点按账号各自的时间自动提交预约,晚间 18:05 自动查询结果,并可把成败推送到手机。适合想自己部署、并愿意动手维护接口的用户。

🚀 快速上手:从零到跑起来

环境要求

组件版本用途
Docker + Compose17+ / 3.x容器化启动全部服务
MySQL5.7存账号、门店、商品、日志四张业务表
Redis6.2缓存 i茅台 App 版本号和会话
Nginx1.23托管管理后台前端页面
campus/campus-imaotai 镜像1.0.13后端服务,监听 8160 端口

机器 2 核 4G 够用,比配置更重要的是每天 9 点前后保持在线。

部署步骤

git clone https://gitcode.com/GitHub_Trending/ca/campus-imaotai cd campus-imaotai/doc/docker docker-compose up -d docker-compose ps

ps里 mysql、redis、nginx-web、campus-imaotai 四个容器都是 Up 即成功。数据库 campus_imaotai 会自动创建,表没生成时手动导入 初始化脚本。

首次访问

  • 地址:http://localhost:8160
  • 账号:admin / admin123
  • 登录后左侧有「i茅台」(用户管理、预约项目、门店列表)和「系统管理」两组菜单,先添加账号,定时任务才跑得起东西。

核心能力实战

用验证码绑定账号

输入手机号和短信码,系统自动调 i茅台登录接口取回 token、cookie、设备号入库,不用手动抓包。 路径:i茅台 → 用户管理 → 添加账号:填手机号,点发送验证码,填码后点登录。成功后列表出现该账号,到期时间按登录起 30 天计算;已有现成信息也可以用「直接新增」手填。

添加账号弹窗:只需手机号和验证码,token 与设备号由系统自动获取

配置预约商品与门店策略

每个账号要配两件事:约什么、约哪家店。 路径:用户管理 → 修改。预约商品编码从「预约项目」菜单里选,多个用 @ 分隔;类型 1 为「本市出货量最大的门店」,类型 2 为「位置附近门店」,后者要填准省份、城市和经纬度;预约分钟可指定 9:00–9:59 的某一分钟,留空则由系统每天 1:10 随机分配。

跟踪执行与结果推送

每天 9 点起,「系统管理 → 操作日志」按账号逐条记录,内容含预约项目、门店 ID 和平台原始返回;18:05 查询成功时会补写「申购成功」一条。想在手机上看,就在用户配置里填 PushPlus token,该账号每次执行成败都会收到推送。

界面走查

用户管理列表:顶部是手机号、用户 id、省份、城市四条件筛选,中间展示各账号 token、预约项目、坐标、门店类型和到期时间,行内带「预约」按钮,可在 9 点前手动触发一次验证配置。用户管理列表:账号凭证、预约项目、门店类型、到期时间一屏可见

门店列表:按商品 ID、省份、城市、地区、公司名称筛选,表格给出各门店地址与坐标,顶部「刷新i茅台商品列表」可手动更新门店和商品数据,用于核对预约目标门店是否存在。门店列表:展示各区域门店的地址和经纬度,供核对预约目标

操作日志:按系统模块、操作人员、状态、时间筛选,点「详情」可看完整日志内容,定位是哪个接口失败。操作日志:每个账号每天一条执行记录,详情里是平台原始返回

⚙️ 进阶配置

配置项默认值建议值为什么改
预约分钟 minute空,每天 1:10 随机分配开启随机分钟多账号错开同一分钟,避开 9:00 整点并发
门店类型 shopType1 本市出货量最大要自提则设 2类型 2 依赖经纬度,选最近门店
预约商品 itemCode必须填填目标商品编码决定每天约什么,空则该账号被跳过
PushPlus token填自己的填了才有手机推送
SERVER_PORT8160冲突时改在 docker-compose.yml 环境变量里

实用技巧

  1. 多账号错峰。每个账号设不同预约分钟;账号超过 60 个后系统自动改成把分钟均匀铺满时间窗,不要手动集中在同一分钟。
  2. 先用手动触发验通路。列表行的「预约」按钮会在当前时刻立即执行一次,9 点前点一遍能提前暴露 token 失效、商品编码错误等问题。
  3. 早上不用手动刷新数据。7:10 和 8:55 系统会自动刷新 App 版本号、门店、商品列表;换商品后点「刷新i茅台商品列表」立即生效。
  4. 盯到期时间列。token 登录起 30 天到期,列表显示过期后重新走一遍验证码登录即可续上。
  5. 留意 11 点的旅行任务。系统 11 点整自动跑「小茅运旅行」领耐力(9–20 点支持,开始需耐力 ≥ 100),失败会写进日志但不影响 9 点预约。

幕后机制

系统是一个 campus(RuoYi 系)管理框架加四张业务表:i_user 存账号、i_shop 存门店、i_item 存商品、i_log 存执行日志。自动化全部由定时任务驱动,模拟 i茅台 App 的请求方式,在 HTTP 调用上加 MD5 签名和 AES 加密。

组件职责
CampusIMTTask5 个 cron:1:10 分配随机分钟、7:10/8:55 刷新数据、9:00–9:59 每分钟预约、11:00–11:59 旅行奖励、18:05 查询结果
IMTServiceImpl发验证码、登录、选门店、调预约接口、领耐力
IShopServiceImpl门店选择:本市出货量最大或按坐标最近
PushPlusApi把执行结果文本推送到手机
MySQL / Redis业务数据存取 / 版本号与会话缓存

界面代码在 vue_campus_admin/src/views/imt/,改字段或加筛选条件都在这里。

⚠️ 常见坑

  1. 接口失效。项目基于 2023 年的 i茅台 App 接口,README 写明「使用的是已淘汰的算法」。App 升级后签名盐或 AES 密钥可能变化导致预约失败,解法是对照新版请求自己改 IMTServiceImpl.java 里的参数。
  2. 时区不对。定时任务全部依赖容器时间,compose 里 TZ 已设为 Asia/Shanghai;机器在其他时区时先date确认。
  3. 端口占用。8160 被占就改 docker-compose.yml 里 SERVER_PORT,再 up -d。
  4. 商品没配置。itemCode 为空时账号静默跳过、不报错,9 点前检查「预约项目code」列。
  5. 旅行奖励报错。「活动未开始」(不在 9–20 点)和「耐力不足」都按异常写日志,属正常现象,无需处理。

campus-imaotai 的定位是一套能完整跑通「账号管理—定时预约—结果跟踪」链路的 i茅台自动预约样例。想要稳定的成品工具,它满足不了;想看懂 Java + Vue 怎么落地这类任务并在此基础上跟进接口变化,值得部署一遍再读源码。

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

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

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

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

立即咨询