news 2026/10/18 4:48:51

i茅台自动预约系统一键部署指南:campus-imaotai 完整操作与配置教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
i茅台自动预约系统一键部署指南:campus-imaotai 完整操作与配置教程

i茅台自动预约系统一键部署指南:campus-imaotai 完整操作与配置教程

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

campus-imaotai 是一个 i茅台自动预约系统:基于 Java 和 Vue 开发,用管理后台集中管理多个 i茅台账号,每天 9 点由定时任务按分钟自动提交预约,18:05 拉取申购结果。用 Docker Compose 部署后,不再需要每天手动刷新 App。

🎯 谁适合用

先分清三种典型场景,判断这个项目是否覆盖你的需求。

如果你需要每天手动打开 App 提交 i茅台预约,它就能把 9 点预约、11 点旅行奖励、18:05 查结果全部交给定时任务,你只负责在后台维护账号。

如果你手里有多个 i茅台账号,它就能统一录入、统一调度,通过给每个账号设置不同的"预约分钟",让提交时间错开、不挤同一分钟。

如果你需要快速部署这类前后端分离项目来验证流程,它就能用 docker-compose 一条命令拉起 MySQL 5.7、Redis 6.2、Nginx 1.23 和业务服务四个容器,几分钟内访问管理后台。

⚙️ 核心能力一览

部署前先看能力清单,确认需求都在系统范围内。

能力解决的问题
i茅台账号批量管理后台统一增删改多个账号,替代逐个登录 App
9 点按分钟自动预约9:00–9:59 每分钟为"预约分钟"匹配的账号提交预约,替代手动刷新
门店选择两种模式按"本市出货量最大的门店"或"位置附近门店"自动选店
数据自动刷新每天 7:10 和 8:55 刷新商品版本、商品列表、门店列表
旅行奖励自动化11:00–11:59 每分钟自动领取小茅运旅行奖励
日志与结果推送每次预约写入 i_log 表,18:05 拉取申购结果,PushPlus 推送通知

以上能力都在管理后台操作,下面按实际操作顺序走一遍完整流程。

🖥️ 界面走查:从添加账号到查日志

这节解决"登录后先点什么、再点什么"的问题,按操作顺序分四步。

第一步:查看用户列表。登录后台进入"i茅台 → 用户管理",列表展示手机号、预约项目 code、省份、城市、到期时间,每行有"预约""修改""删除"操作。

用户管理列表:支持按手机号、省份、城市搜索,行内展开可看到 token、预约项目 code 等字段

第二步:刷新门店数据。进入"i茅台 → 门店列表",点"刷新茅台商品列表"同步最新门店和商品。添加用户时要选择门店商品 id,数据就来自这里。

门店列表:展示商品 ID、省市地区、完整地址、经纬度,左上方提供"刷新茅台商品列表"按钮

第三步:验证码添加账号。在用户管理页点"添加账号",输入手机号 → 点"发送验证码" → 填入验证码点"登录",系统自动保存 token 和 cookie,无需手动粘贴。

添加账号弹窗:输入 i茅台用户手机号,发送并填入验证码后点"登录"完成绑定

第四步:核对预约结果。9 点预约结束后进入"系统管理 → 操作日志",每个账号的每次预约都有记录,点"详情"可展开日志内容。

操作日志:记录日志编号、系统模块、操作状态、日志内容,支持按状态和时间搜索

🐳 用 Docker Compose 快速部署

这节解决"怎么在一台新机器上最快把服务跑起来"的问题,共三步。

第一步:获取代码并进入部署目录。

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

预期结果:当前目录下有 docker-compose.yml,定义了 mysql、redis、nginx-web、campus-server 四个容器。

第二步:一键启动服务。

docker-compose up -d docker ps

预期结果:四个容器全部 Up 即成功。注意所有服务都是 host 网络模式,会直接占用宿主机的 3306、6379、80、8160 端口,部署前这些端口必须空闲。

第三步:访问管理后台。前端页面放在 /docker/nginx/html 挂载目录(页面目录映射见 nginx.conf),浏览器访问http://<服务器IP>(80 端口),用 admin / admin123 登录,看到首页即部署成功。

🕐 进阶配置:预约时间窗口与门店类型

这两个参数最直接影响预约行为,正式使用前值得逐个设置。

模式/参数行为适合场景
minute(预约分钟,1–59,默认 5)9 点后该分钟整,为分钟值匹配的账号提交预约多个账号错开提交时间
randomMinute(随机分钟,0=随机,1=不随机)每天 01:10 为开启随机的账号重新抽取一个随机分钟多账号避免固定挤同一分钟
shopType(门店类型,1 或 2)1=预约本市出货量最大的门店,2=预约用户经纬度附近门店要全市销量大店,或要就近提货

其余运行参数如需修改,走外部配置文件:在 /docker/server/conf 下创建 application-prod.yml,compose 里已用 spring.config.additional-location 指向该路径,外置配置说明有完整描述。

# /docker/server/conf/application-prod.yml server: port: 8160

🛠️ 踩坑与调优

以下是实际使用中概率最高的五个问题,每条按"现象 → 原因 → 处理"说明。

  1. 添加用户时提示"门店商品id不存在"原因:所选门店不在 i_shop 表中,通常是门店数据没有刷新过。 处理:先到门店列表页点"刷新茅台商品列表",再回用户表单选择门店。

  2. 预约时返回"商品预约code为空"原因:账号的 item_code 字段为空,7:10 或 8:55 的刷新任务没有写入商品编码。 处理:手动刷新一次商品数据,并在用户管理的展开行里确认预约项目 code 已填充。

  3. 9 点预约全部失败,日志显示接口报错原因:i茅台账号 token 过期,系统登录成功后默认 30 天到期,用户列表有"到期时间"列。 处理:对该账号重新走一次"添加账号"的验证码流程,更新 token 和 cookie。

  4. 部署后页面打不开或 404原因:Nginx 的页面目录 /docker/nginx/html 是空的,没有静态文件。 处理:把前端 vue_campus_admin 的构建产物放入该目录后刷新页面。

  5. 容器起不来或报端口冲突原因:compose 对四个服务都设置了 network_mode: host,直接绑定 3306、6379、80、8160。 处理:检查上述端口是否被占用,释放端口或修改 SERVER_PORT 与 Nginx 代理端口后重启。

📦 技术概览

这节解决"要改代码时,该去哪个模块"的问题。

后端是 Spring Boot 单体,拆成四个 Maven 模块:campus-modular 承载全部 i茅台业务,含 CampusIMTTask 五个定时任务、预约流程和用户/门店/商品/日志;campus-framework 提供登录、权限、Redis 与 MyBatis-Plus 等框架能力;campus-common 放通用实体和工具类;campus-admin 只有系统管理控制器。前端是 Vue2 + Element UI,构建后由 Nginx 提供静态服务。

组件职责
campus-modular/i茅台业务:用户、门店、商品、日志,5 个定时任务
campus-framework/登录鉴权、Redis、MyBatis-Plus、全局异常处理
campus-admin/系统管理控制器:用户、角色、菜单、字典
vue_campus_admin/管理后台前端(Vue2 + Element UI)
doc/docker/四容器部署:mysql / redis / nginx / campus-server

❓ 常见问题

按"装不上 / 配置不对 / 跑失败"三类整理。

Q:启动后管理后台地址和默认账号是什么?A:Nginx 监听 80 端口,访问http://<服务器IP>;默认账号 admin,密码 admin123(初始化脚本 campus_imaotai-1.0.5.sql 内置该管理员)。

Q:docker-compose 报端口冲突怎么办?A:四个服务都是 host 网络,3306、6379、80、8160 必须空闲。要么释放被占端口,要么改 SERVER_PORT 和 nginx.conf 里的监听与代理端口后重启。

Q:如何修改数据库或端口等配置?A:在 /docker/server/conf 创建 application-prod.yml,compose 的 spring.config.additional-location 已指向该文件,改完重启容器生效。

Q:预约结果全是失败怎么办?A:先展开操作日志详情看报错。最常见原因是账号 token 过期(查到期时间列)和商品 code 为空,分别用重新添加账号、手动刷新商品解决。

Q:App 改版后系统不动了怎么办?A:README 明确声明本项目不提供成品、使用的是已淘汰的算法,接口调用集中在 IMTServiceImpl,需自行跟进最新接口,项目定位是学习和研究。

下一步

整套"账号—门店—9 点预约—结果同步"由五个定时任务串起,但项目已声明接口算法过时,价值在流程与架构而非开箱即用的抢购工具。建议部署并登录后台后,先在"用户管理"添加第一个账号,再在第一个 9 点到"操作日志"里核对它的预约记录。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/18 4:47:56

手写webpack自定义loader与plugin:从零掌握构建扩展原理

不要从“我”开始建议不要使用“本文”、“我”等第一人称视角作为开篇方式&#xff0c;切换到更客观、中立的叙述口吻会更好。下面我调整一下&#xff0c;重写开头&#xff0c;给你一个更干净、更自然的版本。webpack作为前端打包工具里的老大哥&#xff0c;几乎每个项目都绕不…

作者头像 李华
网站建设 2026/10/18 4:47:35

Compose 副作用(Side Effects)等API 详解

官网&#xff1a;Compose 中的附带效应 | Jetpack Compose | Android Developers 前置概念&#xff1a;什么是副作用&#xff1f; Compose 的核心理念是声明式 UI 重组&#xff08;Recomposition&#xff09;。重组可能随时发生、可能部分执行、可能被取消。因此&#xf…

作者头像 李华
网站建设 2026/10/18 4:44:40

IDA花指令对抗实战:从反汇编原理到脚本化清理

开头做逆向这块的朋友&#xff0c;不管是分析恶意样本还是自己调试商业软件&#xff0c;迟早都会撞上花指令这堵墙。我第一次在 IDA 里碰到花指令时&#xff0c;反汇编窗口里一片飘红&#xff0c;F5 出来的伪代码完全没法看&#xff0c;函数边界被切得支离破碎&#xff0c;光是…

作者头像 李华
网站建设 2026/10/18 4:44:07

Codex 入门实践笔记:从安装到安全避坑

一、Codex 是什么OpenAI Codex 是 OpenAI 推出的 AI 编程 Agent&#xff0c;2026 年已全面升级&#xff0c;提供本地 CLI、VS Code 扩展、Cursor/Windsurf 集成和桌面应用四种使用形态。核心能力是在终端中自主完成代码编写、修改、执行 Shell 命令、搜索文件和抓取网页等完整工…

作者头像 李华
网站建设 2026/10/18 4:43:21

软件开发合同避坑指南:从条款拆解到自动化排期与验收

简介&#xff1a;这份软件开发合同文档面向需要签订或参考软件委托开发协议的甲方客户、乙方开发团队及法务人员&#xff0c;用于规范会员积分制刷卡消费管理系统、公司宣传网站、微信公共服务平台、店铺零售结算系统等多模块项目的合作流程。资源包内含1个doc文件&#xff0c;…

作者头像 李华
网站建设 2026/10/18 4:37:57

智能体设计方法论:从PEAS模型到ReAct架构的工程实践

最近几年&#xff0c;做大模型应用的人越来越绕不开一个词&#xff1a;智能体&#xff08;Agent&#xff09;。我见过不少团队&#xff0c;LLM API接得贼溜&#xff0c;RAG流程也跑得通&#xff0c;但一问到“你的智能体是怎么设计的”&#xff0c;就支支吾吾说不出个所以然。问…

作者头像 李华