2025年10月28日星期二

文旅一卡通余票监控任务脚本

1.购买服务器阿里云:服务器购买地址https://t.aliyun.com/U/Bg6shY若失效,可用地

1.购买服务器

阿里云:

服务器购买地址

https://t.aliyun.com/U/Bg6shY

若失效,可用地址

https://www.aliyun.com/daily-act/ecs/activity_selection?source=5176.29345612&userCode=49hts92d

腾讯云:

https://curl.qcloud.com/wJpWmSfU

若失效,可用地址

https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=ad201ee2ef3b771157f72ee5464b1fea&from=console

华为云

https://activity.huaweicloud.com/cps.html?fromacct=64b5cf7cc11b4840bb4ed2ea0b2f4468&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905

2.部署教程

2024年最新青龙面板跑脚本教程(一)持续更新中

3.代码如下

/*cron: 0 0 9 * * **/const notify = require('./Notify')const axios = require('axios')function version() {    return new Promise(function (resolve, reject) {        resolve(axios.get("scripts"))    })}const formattedDate = new Date().toISOString().slice(010);async function main() {    await version().then(data => { console.log(data.data) })
  axios.get('https://card.ly2456.com/jxcard/api/booking/v1/storeBooking/listShowConfig', {  params: {    'uuid''4f016263126d49958e9bbbf3689aee59',    'bookingDate''2025-10-25'  },  headers: {    'Host''card.ly3618.com',    'Connection''keep-alive',    'burialDataEvId''D45602D582F15150',    'content-type''application/x-www-form-urlencoded;charset=utf-8',    'Authorization''bearer eb0050c4-ea3c-4cc7-bf11-eff6eebc1ab0',    'X-WECHAT-HOSTSIGN''{"noncestr":"51db2d7efcdac705ab268fc88e07a094","timestamp":1753454277,"signature":"1540823a8626fd579ae04a4b9149852e144cea86"}',    'Accept-Encoding''gzip,compress,br,deflate',    'User-Agent''Mozilla/5.0 (iPhone; CPU iPhone OS 17_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.60(0x18003c32) NetType/WIFI Language/zh_CN',    'Referer''https://servicewechat.com/wx34582ffaf5e753a0/97/page-frame.html'  }}).then((res) => {        (res.data.data)[0].surplusNum > 0 ? notify.sendNotify('有票了!',(res.data.data)[0].surplusNum+'张' ): console.log((res.data.data)[0].surplusNum+'王')    }).catch((error) => {        console.error(error)    })}main()

解析

该脚本为江西文旅一卡通余票监控脚本。

主要作用

  • 定时(cron:每天 09:00)请求江西文旅接口,查询指定 uuid 和 bookingDate 的余票数量

  • 若余票 surplusNum > 0,通过本地的 sendNotify 模块推送通知"有票了!";否则在控制台打印余票张数。

执行流程(main)

  1. axios.get(listShowConfig, { params, headers })

    • 请求接口:https://card.ly2456.com/jxcard/api/booking/v1/storeBooking/listShowConfig

    • 携带查询参数uuid(场馆/商品标识)、bookingDate(查询的预约日期)

    • 携带请求头(含 UA、Authorization、X-WECHAT-HOSTSIGN 等)

  2. 回包处理:

    • 从 res.data.data[0].surplusNum 读取余票;

    • > 0 ⇒ notify.sendNotify('有票了!', '<张数>张')

    • 否则 console.log('<张数>张')

  3. catch:打印错误。

关键参数与请求头说明

  • uuid:资源唯一标识(哪个园区/项目)。

  • bookingDate:查询日期(示例中固定为 "2025-10-25")。
    你可以改成今日或任意日期。

  • Authorizationbearer <token>——接口鉴权;通常会过期,需要按实际小程序/接口流程获取并更新。

  • X-WECHAT-HOSTSIGN

    签名(含 noncestr/timestamp/signature)。通常是按服务端/小程序规则生成,时间戳或签名不匹配会导致 401/403。

  • 其它头:User-AgentReferercontent-type 等用于模拟微信小程序环境。

可改的地方

  • bookingDate:改为你要盯的日期。

  • X-WECHAT-HOSTSIGN:按最新规则/时间戳实时生成或更新;否则很快失效。

  • 也可替换/刷新 Authorization



注意

本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。


历史脚本txt文件获取>>
服务器搭建,人工服务咨询>>

没有评论:

发表评论

如何进行产品差异化定位?

在一个产品泛滥、功能趋同的时代,差异化定位是唯一能让你脱颖而出的"护城河"。\x0d\x0a它不是一句营销标语,而是一场系统性思考:\x0d\x0a谁是我的客户?\x0d\x0a他们现在用什么?\x0d\x0a我与他们的选择相比,有何不同?\x0d\x0a这种...