当前位置: 首页 > ds >正文

奈雪小程序任务脚本

功能概述

该脚本用于自动完成奈雪点单小程序的每日任务,包括:

  • 自动检测 Token 有效性
  • 自动签到(如果未签到)
  • 获取用户基础信息(昵称、手机号)
  • 查询当前奈雪币余额
  • 记录连续签到天数
  • 支持多账号执行,适用于 Node.js 脚本自动化平台(如青龙面板)定时运行。
    在这里插入图片描述

使用方法

  1. 配置环境变量 NAIXUE_TOKEN,内容为 Bearer Token(去掉 Bearer)。
  2. 多账号用 & 或换行分隔。
  3. 定时运行脚本。

完整代码实现

以下是完整的脚本代码:

const init = require('init')
const {$, notify, sudojia, checkUpdate} = init('奈雪点单');
const crypto = require('crypto');
const naiXueList = process.env.NAIXUE_TOKEN ? process.env.NAIXUE_TOKEN.split(/[\n&]/) : [];
let message = '';
// 接口地址
const baseUrl = 'https://tm-web.pin-dao.cn'
// openId
const openId = 'AsaSsGzbziPlZwfiXM';!(async () => {await checkUpdate($.name, naiXueList);for (let i = 0; i < naiXueList.length; i++) {const index = i + 1;$.token = naiXueList[i];console.log(`\n*****第[${index}]个${$.name}账号*****`);const isLogin = await baseUserInfo();if (!isLogin) {console.error(`Token 已失效`);await notify.sendNotify(`【Token失效通知】`, `${$.name}账号[${index}] Token 已失效,请重新登录获取 Token\n\n`);continue;}message += `📣====${$.name}账号[${index}]====📣\n`;message += `${$.nickName}(${$.mobile})\n`;await $.wait(sudojia.getRandomWait(800, 1200));await main();await $.wait(sudojia.getRandomWait(2000, 2500));}if (message) {await notify.sendNotify(`${$.name}`, `${message}`);}
})().catch((e) => $.logErr(e)).finally(() => $.done());// ... existing code ...

功能说明

方法列表

方法名作用描述
baseUserInfo()校验当前用户 Token 是否有效,获取用户昵称、手机号等基础信息
queryAndHandleSignIn()查询当前是否已签到,未签到则调用 performSignIn() 执行签到
performSignIn(nowDate)执行当天的签到操作(POST 提交签到日期)
queryUserCoin()查询用户当前奈雪币余额与连续签到天数
sendRequest(apiOptions)所有接口请求的封装方法,自动附带签名和通用参数
getBody()生成请求签名和结构,包括 HMAC-SHA1 签名逻辑和时间戳
randomString()生成用于签名的 nonce 随机字符串(默认6位)
formatDate(date)格式化日期为 YYYY-MM-DD 格式,用于签到接口参数

关键变量

变量名说明
NAIXUE_TOKEN环境变量,内容是 Bearer Token(去掉 Bearer)
$.token当前用户的 token,用于 Authorization
$.signCount连续签到的天数
$.nickName当前用户昵称
$.mobile当前用户手机号
openId固定写死的 openId,签名计算需要

执行流程图

以下是脚本的主要执行流程(Mermaid 语法):

开始
初始化环境和变量
遍历所有账号
Token 是否有效?
获取用户信息
发送 Token 失效通知
执行签到任务
查询奈雪币余额
记录执行结果
是否还有未处理的账号?
发送汇总通知
结束

注意事项

本文部分仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性、准确性、完整性和有效性,请根据情况自行判断。

http://www.xdnf.cn/news/8861.html

相关文章:

  • 计算机病毒的发展历程及其分类
  • Lua 脚本在 Redis 中的运用-22
  • leetcode 39. Combination Sum和40. Combination Sum II
  • 容器化:用于机器学习的 Docker 和 Kubernetes
  • 正则表达式全解:一文学会正则表达式【附在线正则表达式练习网站】
  • Android事件分发学习总结
  • SpringBoot-配置文件
  • MLA:Transformer的智能变形金刚——解密多头潜在注意力的进化密码
  • Linux `|` 管道操作符深度解析与高阶应用指南
  • Leetcode 刷题记录 11 —— 二叉树第二弹
  • BTC官网关注巨鲸12亿美元平仓,XBIT去中心化交易平台表现稳定
  • 深入理解设计模式之建造者模式
  • 数组染色
  • RabbitMQ 断网自动重连失效
  • 3d世界坐标系转屏幕坐标系
  • 解锁未来AI:使用DACA模式和Agentic技术提高开发效率
  • TCP 的四次挥手
  • AI重塑数据治理的底层逻辑
  • Java求职者面试指南:Spring、Spring Boot、MyBatis技术栈深度解析
  • Windows逆向工程提升之异常处理机制
  • docker 镜像完整生成指南
  • ResponseBodyEmitter与SseEmitter使用
  • MyBatis实战指南(二)如何实现小鸟图标与导入Teacher数据库表实战
  • 《深入剖析:Python自动化测试框架之unittest与pytest》
  • 微服务——网关
  • TypeScript
  • OpenCV 第7课 图像处理之平滑(一)
  • Flink流水线集成Gravitino
  • 微软Build 2025五大AI发布
  • 人工智能数学基础实验(五):牛顿优化法-电动汽车充电站选址优化