Files
tick-stock-panel/frontend/package.json
T
shy3130 755c114390 feat(tier): API 检测重构为 5 档,新增「无」档 + 修复 CapabilityDenied 返回 500
检测逻辑(复权因子分水岭):
- 无 key / 乱填(连单只日K都拿不到) → none 档,不存 key,走 free-api 服务器
- 免费有效 key(有日K无复权) → free 档,存 key,走 free-api 服务器
- 付费 key(有复权) → starter/pro/expert,走 api.tickflow.org

主要改动:
- save_tickflow_key 改为先探后存:无效 key 不持久化,前端提示「Key 无效」
- none/free 档统一走 TickFlow.free(),实时行情开关置灰
- tiers.yaml 新增 none 档,free 档补 kline.daily.batch
- 注册 CapabilityDenied 全局 handler → 403(此前返 500)
- /health mode 三态化,watchlist 无行情能力时提前 return
- 看板页 none 档显示黄色升级提示(含邀请码超链接)

版本: 0.1.36
2026-06-24 17:44:58 +08:00

43 lines
1.1 KiB
JSON

{
"name": "tickflow-stock-panel-frontend",
"private": true,
"version": "0.1.36",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"preview": "vite preview",
"lint": "eslint ."
},
"dependencies": {
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@tanstack/react-query": "^5.55.0",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"echarts": "^5.5.0",
"echarts-for-react": "^3.0.2",
"framer-motion": "^11.5.0",
"lightweight-charts": "^4.2.0",
"lucide-react": "^0.439.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^6.26.0",
"tailwind-merge": "^2.5.2"
},
"devDependencies": {
"@types/node": "^25.9.3",
"@types/react": "^18.3.5",
"@types/react-dom": "^18.3.0",
"@vitejs/plugin-react": "^4.3.1",
"autoprefixer": "^10.4.20",
"postcss": "^8.4.45",
"tailwindcss": "^3.4.10",
"tailwindcss-animate": "^1.0.7",
"typescript": "^5.5.4",
"vite": "^5.4.3"
},
"packageManager": "pnpm@9.10.0"
}