奈雪小程序任务脚本

功能概述

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

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

注意事项

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

相关推荐
小小王app小程序开发10 小时前
抽赏小程序特殊赏玩法开发全解析:技术实现+架构支撑+合规落地
小程序·架构
江南西肥肥11 小时前
从手绘图到小程序,我用AI花了2个小时完成
小程序·vibecoding·claudecode
柠檬树^-^16 小时前
小程序定位
小程序
计算机毕设指导617 小时前
基于微信小程序民宿预订管理系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
lang2015092818 小时前
Java反射利器:Apache Commons BeanUtils详解
java·开发语言·apache
oMcLin19 小时前
如何在 Debian 11 上通过构建大数据湖,使用 Apache Spark 加速电商平台的数据分析与实时推荐引擎
spark·debian·apache
tjjucheng19 小时前
专业小程序定制开发公司推荐
大数据·小程序
莫非技术栈19 小时前
我模仿“死了吗“做了一个打卡签到的小程序
小程序
Apache IoTDB19 小时前
Apache IoTDB “入驻” Google Code Wiki 技术知识库!
apache·iotdb