3步跑通campus-imaotai:i茅台每日自动预约系统完整部署指南
【免费下载链接】campus-imaotaii茅台app自动预约,每日自动预约,支持docker一键部署(本项目不提供成品,使用的是已淘汰的算法)项目地址: https://gitcode.com/GitHub_Trending/ca/campus-imaotai
每天9点守着i茅台放号、多账号来回切换、抢不到还得反复刷新——这种手动操作既费时间,成功率还低。campus-imaotai就是来解决这件事的:它是一个i茅台app自动预约工具,把多个账号集中管理起来,到点自动执行预约、旅行和领取耐力值,并支持docker一键部署。适合想折腾的开发者、有服务器运维经验的人,或者单纯想跑通"定时任务+多账号+接口编排"完整闭环的个人玩家。
🚀 i茅台自动预约系统:核心能力速览
| 能力项 | 一句话说明 | 对你的实际收益 |
|---|---|---|
| 多账号管理 | 通过验证码登录i茅台,系统自动保存token、deviceId | 不用手工维护凭据,到期时间一目了然 |
| 定时自动预约 | 9点档每分钟批量执行,支持固定分钟或随机分钟 | 不再卡点守候,错过放号基本归零 |
| 智能门店匹配 | 按类型自动选"本市出货量最大的门店"或"位置附近门店" | 省掉人工挑门店,选择有数据依据 |
| 旅行与耐力值 | 自动执行小茅运旅行、首次分享、领取申购耐力值 | 日常重复小操作全部托管 |
| 结果推送与日志 | 每次申请写入操作日志,可配pushplus推送结果 | 不盯屏也能确认结果,失败可回溯 |
能力都放在后台界面里,先把环境跑起来,再一个个功能看。
🐳 从零到跑通:一键部署与首次配置
环境要求很轻,照单准备即可:
- Linux服务器(Ubuntu 20.04或CentOS 8均可)
- Docker(20.10+)与Docker Compose(2.0+)
- 至少2核CPU、4GB内存、20GB磁盘
部署步骤一共四步:
- 克隆仓库到本地:
git clone https://gitcode.com/GitHub_Trending/ca/campus-imaotai- 进入部署目录,compose文件在
doc/docker下,已包含 mysql、redis、nginx、campus-server 四个服务:
cd campus-imaotai/doc/docker- 一键启动所有容器:
docker-compose up -d- 查看状态,确认容器全部为
Up:
docker-compose ps看到四个容器都正常后,浏览器访问http://服务器IP(nginx监听80端口,/prod-api/反向代理到后端8160端口),用默认账号 admin/admin123 登录。左侧菜单能看到"i茅台"一级菜单,说明前后端都通了,部署成功。
如果页面打不开,第一条排查命令直接看后端日志:
docker-compose logs campus-imaotai重点看数据库连接和端口占用相关的报错。
📝 核心功能实操指南
跑通部署只是开始,真正用起来要按"注册账号→配置策略→执行与查结果"这条路径走一遍。
注册第一个i茅台账号
系统不要求你手工抓token,在界面上走一遍验证码登录,凭据就自动入库了。
- 左侧菜单进入「i茅台」→「用户管理」
- 点击「添加账号」,输入i茅台绑定的手机号,点「发送验证码」
- 填入收到的验证码,点「登录」,系统自动记录userId、token、deviceId
- 已有token的话用「直接新增」,跳过验证码流程
弹窗分两步走:先发验证码,再登录确认。登录成功后token有效期按30天计算,列表里的"到期时间"列就是它,快到期前重新走一遍登录即可续上。
配置预约策略:项目、门店与时间
每个账号的预约行为由三组参数决定:预约什么、在哪个门店、9点档的第几分钟。
- 预约项目code:在「预约项目」菜单里维护商品,账号上填对应code,多个项目用
@分隔,系统会逐个提交并在每个项目间随机延迟3~5秒 - 门店类型:填
1表示选本市出货量最大的门店(本市无店时自动回退到本省最近的);填2则按经纬度选距离最近的门店,此时lat/lng必须准确 - 预约分钟 minute:1~59,对应9点档的具体分钟;randomMinute设为
0时,系统每天1:10自动重排各账号的随机分钟,设为1则固定不变 - pushPlusToken:填了pushplus的token,申购结果会实时推送,不填则只看日志
列表把关键状态都摊开了:token、预约项目code、省市、经纬度、类型、到期时间。建议把同省账号的省市和经纬度统一核对一遍,"位置附近"策略完全依赖这两个字段。
管理门店与商品数据
门店数据是自动选店的依据,界面可以直接刷。
- 「i茅台」→「门店列表」,按商品ID、省市、地区、公司名称筛选
- 点「刷新茅台商品列表」拉取最新门店与投放数据
- 不手动刷也没关系:系统每天 7:10、7:55、8:10、8:55 四个时间点自动刷新版本号、预约项目和门店列表
表里每个门店都有完整地址、经纬度和公司全称,这正是"出货量最大/距离最近"两种选店逻辑的数据来源。留意最右侧的创建时间,能判断数据是不是刚刷新的。
执行预约并查看结果
预约由定时任务驱动,全程不需要人在场。9:00~9:59每分钟批量触发一次,只处理分钟数匹配到的账号,账号之间还有3秒固定间隔,天然削了峰值。
- 18:05 自动查询当日申购结果
- 11:00~11:59 每分钟执行一次旅行任务,条件不满足(耐力不足、旅行未结束等)会记入日志并跳过
- 所有动作都落在操作日志里,可筛选、可导出
「系统管理」→「操作日志」里按系统模块选"i茅台预约",就能按状态和时间范围过滤。每条记录的"日志内容"列存了请求明细,点「详情」可以看到具体接口返回,定位"哪个账号、哪一步失败"基本不用猜。
🏗️ 架构速览与关键技术选型
代码按职责分四层,目录结构一眼能看懂:
campus-imaotai/ ├── campus-admin/ # 后台控制器:登录、用户、菜单、日志 ├── campus-common/ # 公共组件:实体、工具类、异常、Redis ├── campus-framework/ # 框架层:安全、配置、mapper、通用service ├── campus-modular/ # 业务核心:i茅台预约逻辑与定时任务 ├── vue_campus_admin/ # Vue管理后台前端 └── doc/ ├── docker/ # 一键部署:compose与nginx、redis配置 └── sql/ # 数据库初始化脚本技术栈一行带过:后端 Spring Boot + MyBatis Plus + Redis,前端 Vue + Element UI,数据库 MySQL,部署 Docker Compose。
核心链路在campus-modular/business里:实体IUser(账号)与IShop(门店)承载配置,定时任务CampusIMTTask卡时间点,IMTServiceImpl负责对接i茅台接口——请求参数做AES加密、签名用MD5,预约、登录、旅行都从这里发出。想改策略,基本只需要动这两处。
🔧 调优技巧与高频问题
几条可直接执行的调优建议:
- 分钟错开:多账号建议开
randomMinute=0,让系统自动在9点档内摊开,避免几个账号挤同一分钟。 - 门店类型按情况选:省会城市库存充足时用
1(出货量最大);本市门店少但位置明确时用2,并把经纬度填到门牌级别。 - 盯住到期时间:用户列表的"到期时间"列是token有效期,提前2~3天用验证码重新登录,比任务失败后再排查省事。
- 每天18:05后看一次日志:确认"预约成功"记录是否生成、结果推送是否到达,形成固定习惯。
- 放号前确认门店已刷新:早上8点前看门店列表的创建时间,不是最新的就手动点一次刷新,别等9点才发现选店数据是旧的。
Q:预约显示失败,怎么定位?去操作日志按"i茅台预约"+失败状态过滤,看"日志内容"列的接口返回。最高频的两类:token过期(重新登录刷新)和门店取不到(检查该商品在你省市是否有投放门店)。
Q:旅行和耐力值是必须的吗?不是。它们属于小茅运活动的扩展功能,核心申购只依赖预约接口。旅行任务条件不满足时会自动跳过并记日志,不影响预约主流程。
Q:部署后访问一直转圈?先docker-compose ps确认四个容器都是 Up,后端首次启动较慢,等1分钟再刷新;仍不行就看docker-compose logs campus-imaotai的报错,九成是数据库连接配置问题。
⚠️ 边界与合规提醒
- 本项目仅供学习和研究使用,涉及的数据由使用者自行填写,项目方不对数据的真实性、准确性、合法性负责。
- 不得将本项目用于违反法律法规或平台规则的其他用途,使用行为产生的后果由使用者自行承担。
- 按项目声明,应在24小时内完成学习和研究,并及时删除相关内容;如有长期需求,应自行开发。
- 项目明确不提供成品,使用的是已淘汰的算法;任何修改与二开均为个人行为,与项目方无直接关联。
campus-imaotai把"每天卡点刷新"变成了"配好参数、系统托管",对想练手定时任务、接口签名与多账号编排的开发者来说是个现成的完整样本。下一步很具体:克隆仓库,docker-compose up -d跑起来,注册第一个账号并填好 minute 和门店类型,剩下的交给9点的操作日志。至于它到底能不能帮你约上,日志会先给你答案。
【免费下载链接】campus-imaotaii茅台app自动预约,每日自动预约,支持docker一键部署(本项目不提供成品,使用的是已淘汰的算法)项目地址: https://gitcode.com/GitHub_Trending/ca/campus-imaotai
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考