i茅台自动预约工具Campus-imaotai:定时智能调度与Docker一键部署指南

发布时间:2026/10/18 16:30:39
i茅台自动预约工具Campus-imaotai:定时智能调度与Docker一键部署指南
i茅台自动预约工具Campus-imaotai定时智能调度与Docker一键部署指南【免费下载链接】campus-imaotaii茅台app自动预约每日自动预约支持docker一键部署本项目不提供成品使用的是已淘汰的算法项目地址: https://gitcode.com/GitHub_Trending/ca/campus-imaotai每天上午9点i茅台的申购通道开放手动抢预约往往拼不过网络和手速。Campus-imaotai 是一款 i茅台自动预约工具把每日9点自动预约这件事交给系统基于 Spring Boot 和 Vue 实现多账号管理、门店智能选择、定时批量预约、结果查询与消息推送整套环境支持 Docker 一键部署。它解决什么问题适合谁用手动预约的核心负担在于每天固定时刻的重复操作以及选哪个门店申购的决策。Campus-imaotai 把这两件事都自动化了一次绑定多个 i茅台账号手机号 验证码方式之后每天无需人工介入每天 9 点起按账号配置自动执行预约18:05 自动拉取申购结果支持两种门店策略本市出货量最大的门店、基于经纬度距离最近的门店附带自动旅行、首次旅行分享、申购耐力值获取结果通过 PushPlus 推送适合两类人想学习定时任务 异步批量 第三方接口对接这套工程模式的开发者以及需要多账号批量预约、不想每天手动蹲点的用户。需要提前说明的是项目声明本项目仅提供源码学习研究使用的是已淘汰的算法i茅台接口更新后需要自行跟进。3条命令完成Docker部署部署前先创建挂载目录并处理 Redis 数据目录的写权限项目 doc/docker/redis/data/README.md 有明确要求否则 Redis 无法写入数据mkdir -p /docker/mysql/{data,conf,logs} /docker/redis/{conf,data} /docker/nginx/{html,cert,conf,log} /docker/server/conf cp -r doc/docker/nginx/conf/* /docker/nginx/conf/ chmod 777 /docker/redis/data然后在项目doc/docker目录下启动全部服务MySQL、Redis、Nginx、后端均使用 host 网络模式cd doc/docker docker-compose up -d最后初始化数据库把 doc/sql/campus_imaotai-1.0.5.sql 导入容器内的 MySQLroot 密码在 doc/docker/docker-compose.yml 中已固定为123456789docker exec -i mysql mysql -uroot -p123456789 campus_imaotai ../sql/campus_imaotai-1.0.5.sql管理界面由 Nginx 托管把前端构建产物放入/docker/nginx/html浏览器访问http://localhost即可。Nginx 会将/prod-api/前缀的请求代理到后端 8160 端口见 doc/docker/nginx/conf/nginx.conf。若需修改后端配置容器会加载/docker/server/conf/application-prod.yml作为外部配置创建该文件即可覆盖默认值。部署后怎么用从绑定账号到日常预约第一步绑定账号。登录后进入左侧菜单「i茅台 → 用户管理」点「添加账号」填写手机号点「发送验证码」输入手机收到的短信验证码后点「登录」。系统随即调用 i茅台登录接口把账号的 token、cookie、设备 ID 写入本地数据库默认有效期 30 天到期时间列可见。第二步配置预约参数。在用户行上点「修改」重点字段有三个字段说明预约项目 code想预约的商品 code多个用分隔在「预约项目」页查看类型shop_type1 本市出货量最大的门店2 按你的经纬度选最近的门店预约分钟minute9 点当小时内第几分钟发起预约1-59开启随机分钟后每天自动换一个时间多账号可借此错峰第三步日常运行。配置完成后基本无需干预每天 9 点开始自动预约「操作日志」页可逐条查看执行状态与返回结果18:05 申购结果拉取后推送通知。门店全量数据可在「门店列表」页手动刷新。实现亮点定时调度与门店选择策略定时任务矩阵。所有调度集中在 campus-modular/src/main/java/com/oddfar/campus/business/task/CampusIMTTask.java 一个类里用ScheduledAsync编排了一条完整的时间线每天 07:10 和 07:55 刷新版本号、预约商品与门店列表09:00-09:59 每分钟执行一次批量预约11 点时段每分钟领取旅行奖励18:05 拉取申购结果。账号级别的分钟偏移minute 字段让多账号请求错开而不是同一秒并发压上去。双策略门店选择。核心逻辑在 campus-modular/src/main/java/com/oddfar/campus/business/service/impl/IShopServiceImpl.java先拉取本省商品投放列表并缓存 60 分钟再按shop_type分路——出货量优先策略取本市inventory最大的门店本市没有则回退到省内最近门店距离策略用 WGS84 球面距离公式对用户与门店经纬度做排序取最近者。预约真正执行时的签名与 AES 加密细节则在同目录的 IMTServiceImpl.java 中。最容易踩的4个坑Q1docker-compose up -d后 Redis 起不来怎么办Redis 容器以 root 用户运行如果宿主机挂载的数据目录不允许 root 写入容器就会反复退出。执行chmod 777 /docker/redis/data再重启即可。Q2绑定账号一直失败是不是要抓包不一定要。账号绑定走的是手机号 短信验证码流程且需要有效的设备 IDdeviceId。先用「添加账号」流程走通一次若仍失败再对照 IUserController.java 中的sendCode/login接口和日志排查请求返回。Q3多个账号会不会在同一秒挤爆接口不会强制挤在同一秒。minute 字段控制 9 点当小时的执行分钟开启随机分钟random_minute后每天 01:10 会由定时任务updateUserMinuteBatch批量重抽各账号的时间天然形成错峰。Q4跑了一直报接口错误是部署问题吗大概率不是。项目声明使用的是已淘汰的算法i茅台接口升级后签名参数、URL 都可能变化。这类问题需要对照接口返回自行改代码项目保留价值主要在架构和流程参考上README 的声明部分也写明了仅用于学习研究、使用后果自负请遵守相关规则。从哪里继续学习想深入细节可以看 官方文档 和 README 里附的演示视频数据库表结构i_user、i_item、i_shop、i_log四张业务表直接在 doc/sql/campus_imaotai-1.0.5.sql 中阅读即可。建议把它当作一个定时任务 批量异步 Web 管理端的完整范例来拆解而不是当作可直接使用的抢购工具。【免费下载链接】campus-imaotaii茅台app自动预约每日自动预约支持docker一键部署本项目不提供成品使用的是已淘汰的算法项目地址: https://gitcode.com/GitHub_Trending/ca/campus-imaotai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考