Files
order_site/apps/backend/package.json
T
yml2213 bce1168bbb chore(douyin-mashida): 新增推送订阅与自测脚本
排查「下了单但本地什么都没收到」时定位到根因:**平台推送是订阅制的**,
只填 uid/secret 不会收到任何消息,必须调「消息设置」接口 `message.config`
配置 `message_url` + `topics` + `status=1`。此脚本把这一步自动化:

- 订阅:从后台配置读真实 uid/secret → 调 message.config(status=1)
  → 打印平台返回;`--disable` 可关闭推送(隧道失效时避免平台一直推空地址)
- 自测:打平台 `messagetest` 入口尝试触发一次推送
  (注:该入口对 data 的解析要求未探明,实测各种编码/字段形态都返回
   `20006 data参数内容解析异常`,故不把它当作必过项;真实下单才是权威验证)
- 顺带修复 lint:`Boolean(args.test)` 属多余的布尔转换

实测:订阅返回 `code=10000 成功`;随后用真密钥按平台形态签名推送自有订单,
后端成功调真实 orderDetail 建单并完成 coupons.syncV2(sync_status=success)。
2026-10-09 12:43:34 +08:00

60 lines
2.9 KiB
JSON

{
"name": "order-site-backend",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"cleanup:dev-data": "tsx scripts/cleanup-dev-data.ts",
"build": "tsc -p tsconfig.build.json && rm -rf dist/db/migrations && mkdir -p dist/db && cp -R src/db/migrations dist/db/migrations && mkdir -p dist/services/platforms/pdd && cp src/services/platforms/pdd/pdd_anti.cjs dist/services/platforms/pdd/pdd_anti.cjs",
"db:migrate": "tsx src/db/migrate.ts",
"db:migrate:create": "tsx scripts/create-migration.ts",
"db:migrate:status": "tsx scripts/migration-status.ts",
"storage:migrate": "tsx scripts/migrate-storage.ts",
"storage:migrate:built": "node dist/storage-migrate.js",
"check:sql": "tsx scripts/check-sql-guard.ts",
"dev": "tsx watch --clear-screen=false src/index.ts",
"format": "prettier --config ../../.prettierrc.json --ignore-path ../../.prettierignore --write \"src/**/*.{ts,js,json}\" \"scripts/**/*.{ts,js}\" eslint.config.js package.json tsconfig.json tsconfig.build.json tsconfig.eslint.json",
"format:check": "prettier --config ../../.prettierrc.json --ignore-path ../../.prettierignore --check \"src/**/*.{ts,js,json}\" \"scripts/**/*.{ts,js}\" eslint.config.js package.json tsconfig.json tsconfig.build.json tsconfig.eslint.json",
"lint": "eslint \"src/**/*.ts\" \"scripts/**/*.ts\"",
"lint:check": "npm run lint -- --quiet",
"lint:fix": "npm run lint -- --fix",
"mock:open91": "tsx scripts/mock-open91-order.ts",
"douyin-mashida:set-public-url": "tsx scripts/douyin-mashida-set-public-url.ts",
"douyin-mashida:preflight": "tsx scripts/douyin-mashida-preflight.ts",
"douyin-mashida:subscribe": "tsx scripts/douyin-mashida-subscribe.ts",
"test": "node --import tsx --test $(find src \\( -name '*.test.ts' -o -name '*.test.js' \\) -print)",
"test:industry": "tsx scripts/test-kuaishou-industry.ts",
"test:industry:http": "tsx scripts/test-kuaishou-industry-http.ts",
"test:industry:gen": "tsx scripts/gen-test-cases.ts",
"test:industry:curl": "tsx scripts/curl-send-callback.ts",
"typecheck": "tsc -p tsconfig.json --noEmit",
"check": "npm run format:check && npm run check:sql && npm run lint:check && npm run typecheck && npm test && npm run build",
"start": "node dist/index.js",
"start:src": "tsx src/index.ts"
},
"dependencies": {
"@alicloud/dysmsapi20170525": "^4.6.0",
"@alicloud/openapi-client": "^0.4.15",
"@alicloud/tea-util": "^1.4.11",
"@aws-sdk/client-s3": "^3.1116.0",
"express": "^5.1.0",
"multer": "^2.2.0",
"node-pg-migrate": "^8.0.4",
"pg": "^8.16.3",
"sharp": "^0.35.3"
},
"devDependencies": {
"@eslint/js": "10.0.1",
"@types/express": "^5.0.6",
"@types/multer": "^2.2.0",
"@types/node": "^25.6.0",
"@types/pg": "^8.20.0",
"eslint": "10.8.1",
"globals": "17.11.0",
"prettier": "3.8.3",
"tsx": "^4.22.3",
"typescript": "^6.0.2",
"typescript-eslint": "8.67.0"
}
}