奈雪小程序任务脚本

功能概述

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

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

注意事项

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

相关推荐
白远山12 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
微擎应用市场16 小时前
心灵馆咨询系统小程序:一站式心理咨询服务解决方案
小程序
2501_9159184117 小时前
怎么把 Python 写的 Flet 应用打包成 iOS App 并上架 App Store?
android·ios·小程序·https·uni-app·iphone·webview
Geek_Vison17 小时前
小程序容器如何抹平系统差异,让一个小程序运行在 iOS、安卓、鸿蒙和电脑端
小程序·uni-app·harmonyos·mpaas
2601_949950631 天前
练题簿:把备考资料装进小程序,随时开启高效在线刷题
人工智能·小程序·刷题·练习·小程序推荐
飞梦工作室1 天前
H5页面能否直接播放视频号直播?实战方案与踩坑总结
微信小程序·小程序
河南花仙子科技2 天前
企业定制小游戏助力品牌软性传播
大数据·科技·游戏·小程序
StevenLdh2 天前
情绪小恐龙:一个微信小程序从架构设计到部署上线的全记录
微信小程序·小程序·notepad++
m0_587383002 天前
折扣卡CPS软件开发实战:从系统架构设计到上线指南
java·小程序·架构·需求分析
mykj15512 天前
赛事报名小程序系统:一站式解决赛事管理难题
小程序·app开发·体育赛事报名小程序·赛事app