部署在 Cloudflare Workers 上的东航“趣游神州 / 趣游全球”卡查询工具,支持全部卡产品代码、动态航线、整月余票、单日有票航线和往返查询。
前端静态文件由 Workers Static Assets 在边缘直接提供;/api/* 请求由 Module Worker 处理,再从服务端访问东航公开接口,因此浏览器不受上游跨域限制。项目不读取或保存东航账号、Token、Cookie 等个人信息。
原来的 Python 本地服务器版本完整保留在 legacy 分支。
产品目录来自东航当前 H5 配置,共 18 个唯一后端产品代码:
- 趣游神州:全国版单次卡、5 次卡、10 次卡
- 趣游全球:全球版单次卡、中泰 4 次卡
- 趣游全球经济舱:全球版 6 / 10 次卡、亚洲版单次卡、亚洲版 6 / 10 次卡
- 趣游全球公务舱:亚洲公务版 6 / 10 次卡
- 全球版、亚洲版和亚洲公务版的 6 / 10 次卡同时保留新旧产品代码,方便查询不同批次卡券
东航销售配置中的“519 特惠版”与普通版共用同一个后端产品代码,因此航线查询结果完全相同,本工具按产品代码合并展示。卡产品目录固定来自当前官方配置,每个卡种的航线和余票仍会在查询时实时读取;即使某个卡种暂时返回空航线,也不会从选择列表删除。
需要 Node.js 22 或更高版本:
npm install
npm run devWrangler 会输出本地访问地址,通常是 http://localhost:8787。
运行测试:
npm test第一次部署需要登录 Cloudflare:
npx wrangler login
npm run deploy也可以将仓库连接到 Cloudflare Workers Builds:
- 构建命令:留空
- 部署命令:
npx wrangler deploy - 根目录:仓库根目录
项目不需要 KV、D1、R2 或环境变量。Worker 名称和兼容日期可以在 wrangler.jsonc 中调整。
src/index.js:Worker 入口和静态资源回退src/api.js:东航接口代理、月度聚合、单日发现和往返查询src/products.js:东航当前 18 个唯一卡产品代码及国内/国际查询类型public/:由 Workers Static Assets 托管的网页test/:Node.js 内置测试wrangler.jsonc:Cloudflare Workers 部署配置docs/:接口分析文档research/:接口定位脚本与公开 H5 快照artifacts/:本机抓取产物,不进入 Git
- 航线:
POST /openApi/redeemable/queryRedeemableRouteListV2 - 日期状态:
POST /openApi/redeemable/queryRedeemableDetailNew - 卡产品代码:由页面所选卡种决定,并由 Worker 白名单校验
- 渠道:
7401(Base64 值NzQwMQ==)
上游每次仅返回七天状态,本工具会在 Worker 内自动拆分和合并整月结果。状态含义:
2:可兑换1:无可兑换座位3:不可兑换- 其他或缺失:暂无直达航班
最终结果与能否下单,以东航官方兑换页面为准。