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

奈雪小程序任务脚本

功能概述

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

  • 自动检测 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 失效通知
执行签到任务
查询奈雪币余额
记录执行结果
是否还有未处理的账号?
发送汇总通知
结束

注意事项

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

相关文章:

  • Python与C++中浮点数的精度与计算误差(易忽略易错)
  • C++11(2):
  • 历年华东师范大学保研上机真题
  • 计算机病毒的发展历程及其分类
  • 审计报告附注救星!实现Word表格纵向求和+横向计算及其对应的智能校验
  • JavaScript 中的 structuredClone() 如何彻底改变你的对象复制方式
  • 制造业主要管理哪些主数据范围
  • 智能办公系统 — 审批管理模块 · 开发日志
  • 理解HTTP基本认证与表单登录认证
  • [创业之路-381]:企业战略管理案例分析-战略制定/设计-市场洞察“五看”:看宏观-经济-如何获得国家经济政策与愿景规划,以及技术发展趋势、技术成熟度
  • Windows 开始菜单快捷方式路径说明
  • Cygwin:在Windows上搭建类Linux环境的桥梁
  • 《红警2000》游戏信息
  • 工业级FPGA正在推进太空AI的基础设施建设
  • 前端面试热门知识点总结
  • Windows端的C函数setlocale、printf与wprintf打印中文字符谜局小解
  • 算法打卡第六天
  • C++:auto自动类型推导
  • 【算法】枚举右,维护左与滑动窗口对比理解(知识点详解提升思维)5.25
  • JAVA线程的几种状态
  • 郑州公司企业网站建设/百度推广查询
  • 哪些网站可以做锚文本/如何设计一个网页
  • 香港建设 天津 招聘信息网站/seochan是什么意思
  • 校园二手网站开发与设计任务书/在线看seo网站
  • 发布网站需要备案吗/兰州网络推广与营销
  • 网站建设开发方案/品牌推广包括哪些内容