奈雪小程序任务脚本

功能概述

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

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

使用方法

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

完整代码实现

以下是完整的脚本代码:

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

注意事项

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

相关推荐
游戏开发爱好者82 小时前
iOS 26 崩溃日志深度解读,获取方式、系统变动、定位策略
android·macos·ios·小程序·uni-app·cocoa·iphone
郑州光合科技余经理4 小时前
微服务架构:基于Spring Cloud ,构建同城生活服务平台
java·spring cloud·微服务·小程序·架构·uni-app
2501_916008895 小时前
JavaScript调试工具有哪些?常见问题与常用调试工具推荐
android·开发语言·javascript·小程序·uni-app·ecmascript·iphone
流***陌5 小时前
智慧寄件新体验:快递小程序如何简化日常生活
小程序
一直在学习的小白~6 小时前
小程序开发:开启定制化custom-tab-bar但不生效问题,以及使用NutUI-React Taro的安装和使用
webpack·小程序·webapp
weixin_lynhgworld8 小时前
淘宝扭蛋机小程序的社交化运营策略
大数据·小程序·扭蛋机
梦想养猫开书店9 小时前
38、spark读取hudi报错:java.io.NotSerializableException: org.apache.hadoop.fs.Path
java·spark·apache
低代码布道师10 小时前
少儿舞蹈小程序(20):手机号登录与多角色注册
低代码·小程序
说私域10 小时前
基于开源AI智能名片的S2B2C商城小程序中搜索联想功能的优化策略研究
人工智能·小程序
boonya17 小时前
Apache Doris 大数据仓库全面解析
数据仓库·apache