2c9ecc833e
管理端「支付 · 配置 → 积分包」每行加「生成付款码」:下单 → 二维码 → 盯到终态, 用来确认「渠道配置 → 下单 → 扫码 → 回调/查单 → 幂等入账 → 积分到账」在当前 环境真的通。 刻意走用户面的 /api/v1/billing/*,不做 admin 专用旁路 —— 造条测试专线的话, 验过了也不能说明线上用户那条路通。租户由服务端按登录用户解析,无需带租户头。 代价是这会真实扣款,所以: - 弹窗顶部显著提示是真单、会真扣钱,并指向「订单与对账」的退款入口; - 已下架的包按钮禁用(服务端本就会拒,别让人白扫)。 弹窗展示订单号/状态/轮询次数/到账积分,出问题时能直接判断卡在哪一环, 比只说一句"成功/失败"有用。轮询策略与 sundynix-web 支付弹窗保持一致: 递归 setTimeout、切后台暂停、失败指数退避、倒计时以服务端 expires_at 为准。 依赖:admin 新增 qrcode(懒加载进 PaymentConfigPage 分块,不进主包)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
39 lines
943 B
JSON
39 lines
943 B
JSON
{
|
|
"name": "sundynix-admin",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc && vite build",
|
|
"preview": "vite preview",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"dependencies": {
|
|
"clsx": "^2.1.1",
|
|
"lucide-react": "^1.25.0",
|
|
"qrcode": "^1.5.4",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"react-router-dom": "^7.1.0",
|
|
"tailwind-merge": "^3.6.0"
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"@vitejs/plugin-react": "^4.3.0",
|
|
"autoprefixer": "^10.4.0",
|
|
"jsdom": "^29.1.1",
|
|
"postcss": "^8.4.0",
|
|
"tailwindcss": "^3.4.0",
|
|
"typescript": "^5.6.0",
|
|
"vite": "^5.4.0",
|
|
"vitest": "^4.1.9"
|
|
}
|
|
}
|