Files
web_huakui_web/package.json
T
谢宇宁andClaude Opus 5.5 d2ddb1c321 [Ai] feat: 花魁短剧 Next.js 站点初始提交
- 原生 Next.js App Router + 严格 TypeScript 实现花魁短剧 PC/H5 页面,按 src/features/{catalog,content,playback} 组织,保留完整 SEO(metadata、JSON-LD、canonical、robots、llms、sitemap、IndexNow)。
- 主域名通过 SITE_URL=https://huakuidj.com 强制覆盖后端 foreverUrlAddr(config/*.env、src/server/config.ts、src/server/seo/shared.ts、src/server/services/shared.ts),支持邮箱改为 support@huakuidj.com。
- 移除登录与账户体系:删除 /account 全部页面、登录/注册/充值弹窗、收藏点赞、评论、金币解锁及对应 BFF 接口;旧账户地址 GET/HEAD 统一 301 到首页(src/lib/routes.ts REMOVED_ACCOUNT_PATHS),保留游客会话、反馈、图片上传、观看上报与搜索联想。
- 播放页:评论位改为同类推荐 + 热播榜单,锁定集改为 App 观看遮罩与底部弹层,新增简介标签、分集图例与独立视觉皮肤(src/features/playback、src/styles/pages/playback.css)。
- 卡片:短剧/视频卡状态与时长移至信息行胶囊标签,封面角标移至左上角(src/components/catalog/Cards.tsx、src/styles/foundations/base.css)。
- 同步更新单元测试、浏览器冒烟脚本、路由清单与 README。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 11:33:31 +07:00

66 lines
2.7 KiB
JSON

{
"name": "huakui-drama-web",
"version": "1.0.0",
"private": true,
"scripts": {
"dev": "tsx scripts/next-env.ts development dev",
"dev:charles": "bash scripts/dev-charles.sh",
"dev:test": "tsx scripts/next-env.ts test dev",
"build": "tsx scripts/next-env.ts production build",
"build:dev": "tsx scripts/next-env.ts development build",
"build:test": "tsx scripts/next-env.ts test build",
"start": "tsx scripts/next-env.ts production start",
"start:dev": "tsx scripts/next-env.ts development start",
"start:test": "tsx scripts/next-env.ts test start",
"typecheck": "tsc --noEmit",
"test": "tsx --test tests/*.test.ts tests/*.test.tsx",
"check": "npm run typecheck && npm test",
"test:browser": "tsx scripts/browser-smoke.ts",
"test:ui": "tsx scripts/ui-check.ts",
"test:actions": "tsx scripts/catalog-react-smoke.ts",
"test:popups": "tsx scripts/native-site-smoke.ts",
"test:install": "tsx scripts/native-site-smoke.ts",
"assets:sync": "tsx scripts/sync-figma-assets.ts && tsx scripts/sync-figma-icons.ts && tsx scripts/compose-placeholder.ts",
"assets:check": "tsx scripts/sync-figma-assets.ts --check && tsx scripts/sync-figma-icons.ts --check && tsx scripts/compose-placeholder.ts --check",
"assets:pwa": "tsx scripts/compose-pwa-icons.ts && tsx scripts/build-pwa.ts",
"assets:pwa:check": "tsx scripts/compose-pwa-icons.ts --check && tsx scripts/build-pwa.ts --check",
"bundle": "tsx scripts/package-standalone.ts production",
"bundle:test": "tsx scripts/package-standalone.ts test",
"bundle:linux": "tsx scripts/prepare-production-runtime.ts",
"deploy:test": "bash deploy_test.sh",
"deploy:prod": "bash deploy_prod.sh",
"test:catalog": "tsx scripts/catalog-react-smoke.ts",
"test:playback": "tsx scripts/playback-smoke.ts",
"test:pwa": "tsx scripts/pwa-smoke.ts",
"test:presentation": "tsx scripts/page-presentation-smoke.ts",
"test:ssr": "tsx scripts/native-ssr-smoke.ts",
"sitemap:sync": "tsx scripts/sync-sitemap.ts",
"routes:export": "tsx scripts/export-page-routes.ts",
"routes:check": "tsx scripts/export-page-routes.ts --check"
},
"dependencies": {
"dotenv": "^17.2.3",
"next": "16.4.0",
"qrcode": "^1.5.4",
"react": "19.3.0",
"react-dom": "19.3.0",
"xgplayer": "3.0.26",
"xgplayer-hls": "3.0.26"
},
"devDependencies": {
"@playwright/test": "^1.56.0",
"@types/node": "^22.0.0",
"@types/qrcode": "^1.5.6",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"esbuild": "0.28.2",
"sharp": "0.35.5",
"tsx": "^4.20.0",
"typescript": "^5.9.3"
},
"engines": {
"node": ">=20.9.0"
},
"type": "module"
}