- 原生 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>
66 lines
2.7 KiB
JSON
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"
|
|
}
|