奈雪小程序任务脚本

功能概述

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

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

注意事项

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

相关推荐
说私域9 小时前
日本零售精髓赋能下 链动2+1模式驱动新零售本质回归与发展格局研究
人工智能·小程序·数据挖掘·回归·流量运营·零售·私域运营
说私域12 小时前
流量裂变与数字重塑:基于AI智能名片小程序的短视频全域引流范式研究
人工智能·小程序·流量运营·私域运营
蓝帆傲亦1 天前
支付宝小程序性能暴增秘籍:UniApp项目极限优化全攻略
小程序·uni-app
CodeToGym1 天前
【Java 办公自动化】Apache POI 入门:手把手教你实现 Excel 导入与导出
java·apache·excel
CHU7290351 天前
淘宝扭蛋机抽盒小程序前端功能解析:解锁趣味抽盒新体验
前端·小程序
码云数智-大飞1 天前
保姆级教程:零基础快速上手 Apache SeaTunnel(原 Waterdrop)
apache
yuluo_YX1 天前
Reactive 编程 - Java Reactor
java·python·apache
2501_933907211 天前
深圳本凡科技专业企业APP开发,助力手机应用创新优化
科技·微信小程序·小程序
每天都要加油呀!1 天前
TypeError: uni.requestPayment is not a function
小程序
java1234_小锋1 天前
分享一套优质的微信小程序校园志愿者系统(SpringBoot后端+Vue3管理端)
微信小程序·小程序·校园志愿者