1. 本项目仅供技术学习和交流,纯属学习使用,不可用作商业行为,任何违法违规造成的问题与本人无关
2. 不要长时间运行, runInterval时长调长一些,不然有可能账号会被风控,导致无法获取购物车信息。
2022年初,由于上海疫情告急,出现了全民线上抢菜盛况
叮咚买菜每6:00,8:30开放让人们睡不好还基本抢不到
于是研究了一下叮咚买菜小程序,搞了这么一个脚本可以自动下单脚本
快速开始
git clone git@github.com:theajack/dingdong-node.git
cd dingdong-node
npm i
# 按照 2.填入用户配置 自行配置用户信息
npm start
抓包环境安装配置好之后,在叮咚买菜小程序上刷新购物车,找到一条 /cart/index的请求,找 query-string,基本需要的参数都在里面了
module.exports = {
// 叮咚买菜小程序用户信息
'uid': '',
'longitude': '',
'latitude': '',
'station_id': '',
'city_number': '',
's_id': '',
'openid': '',
'device_token': '',
// 以下为邮箱配置 非必需 如果要启动定时发送邮件提醒可以选一下 详情见readme.md
'fromEmail': '', // 发送邮件的邮箱
'toEmail': '', // 接受邮件的邮箱
'emailCode': '', // 邮箱授权码, QQ邮箱在 设置 -> 账户 -> POP3/SMTP服务 中开启
'emailHost': 'smtp.qq.com', // 邮箱服务器地址 如非qq邮箱 请自行更改
// 抢菜策略,
'runMode': 'traffic', // normal 为非高峰期策略,traffic 为高峰期策略
'runInterval': 1000, // 每一个请求的轮询间隔
'maxTime': 5, // 单次运行最长时间 防止被风控 单位分钟
'useLogger': false, // 是否开启log,一般为调试使用
};
邮件通知需要准备两个邮箱,这里以两个QQ邮箱为例
另外还需要使用iphone自带的邮件APP
发送邮箱需要到 设置 => 账户 => 开启 POP3/SMTP服务;
然后将授权码和邮箱配置到 emailCode 和 fromEmail
接受邮箱需要到 设置 => 账户 => 开启 IMAP/SMTP服务,复制下授权码
然后邮件APP绑定QQ邮箱,需要填入授权码
然后将邮箱配置到 toEmail
另外,如要开启强通知(类似电话铃声),需要在iphone设置里面邮件提示声音
这个功能搭配服务器定时任务,可以有很多种玩法,比如固定时间给你发送通知,收到评论、回复通知到手机,比一般的APP通知提醒更好,可以像闹钟一样的开启
见config.js
{
'runMode': 'normal', // normal 为非高峰期策略,traffic 为高峰期策略
'runInterval': 1000, // 每一个请求的轮询间隔 可以自行修改
'maxTime': 5, // 单次运行最长时间 防止被风控 单位分钟
}
以下方案适用于mac和linux,windows系统请自行找方案
命令行运行
crontab -e
在vim窗口输入
{min} {hour} * * * {nodePath} {path}/dingdong-node/main.js
min和hour表示时间,比如每天5:50开始运行,就是:50 5
nodePath 为你本地node程序的绝对目录
path为当前项目的绝对目录
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。