奈雪小程序任务脚本

功能概述

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

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

注意事项

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

相关推荐
长沙三为智能科技3 小时前
家政小程序门店运营模块设计:会员、下单、派单、结算四段链路的落地拆解
python·小程序·内容运营
weixin_177297220695 小时前
回收小程序做自营还是撮合?先看你手里有什么
小程序
Knight_AL5 小时前
从 EasyExcel 到 Apache Fesod:Java Excel 处理生态的一次重构
java·apache·excel
andrsted5 小时前
练题簿在线免费刷题:Word、PDF 导题与预览补全,把现成资料变成可练习题库
微信小程序·小程序·pdf·word·学习方法·刷题
AI行业应用研究5 小时前
会务信息载体的演进:纸质、PDF 与结构化数据源的分发成本与版本一致性
大数据·人工智能·安全·小程序·架构·pdf
Geek_Vison6 小时前
保险APP已经用了Flutter,还能接入小程序吗?
flutter·小程序·uni-app·mpaas·小程序容器
FX1317887KP_15 小时前
从KET到PET口语进阶:词汇量翻倍后,口语如何跟上?
小程序·ket口语·pet口语·fce备考·剑桥英语
m0_5873830016 小时前
工业场景设备维修维护实战技巧 全流程标准化落地与常见问题排查指南
java·spring·小程序·架构·需求分析
心易行者1 天前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache
m0_587383001 天前
深圳 24 小时自助健身房系统软件开发实战指南与案例解析
java·spring boot·小程序·架构·需求分析