整体UI修改
This commit is contained in:
+19
-23
@@ -1,5 +1,5 @@
|
||||
---
|
||||
项目名称: 91短剧web
|
||||
项目名称: 黄果吃瓜web
|
||||
一级部门: 北斗
|
||||
二级部门: 瑞升
|
||||
|
||||
@@ -48,7 +48,7 @@ DMP编码: JHA-1047
|
||||
|
||||
# 1. 项目说明
|
||||
|
||||
91短剧 Web 项目,DMP 编码 **JHA-1047**,应用及埋点 App ID 为 **1047**。采用 Next.js App Router、React、TypeScript,实现 PC 和移动端响应式页面,布局依据提供的 HTML 原稿还原。
|
||||
黄果吃瓜 Web 项目,DMP 编码 **JHA-1047**,站点域名为 **huangguocg.com**。采用 Next.js App Router、React、TypeScript,实现 PC 和移动端响应式页面,布局依据提供的 HTML 原稿还原。
|
||||
|
||||
本文按当前仓库代码整理,更新日期为 **2026-10-26**;该日期不代表安全审计或线上验收时间。人员信息沿用原登记信息,部署目标以当前脚本默认值为准。
|
||||
|
||||
@@ -56,10 +56,10 @@ DMP编码: JHA-1047
|
||||
|
||||
- 首页动态栏目、轮播、顶部及侧栏导航、广告与宫格广告弹窗。
|
||||
- 短剧列表、排行榜、专题、题材/标签、栏目更多页、搜索及独立分页。
|
||||
- 短剧详情、章节播放、HLS 播放、图片解密、点赞、收藏、评论与分享。
|
||||
- 游客/账号登录、个人中心、观看历史、我的收藏、我的点赞、已购剧集、账号设置。
|
||||
- 金币充值、VIP 套餐、章节解锁、反馈、App 下载、福利应用、回家的路和独立导航页。
|
||||
- 服务端 SEO 元数据、JSON-LD、robots.txt 与广告/页面/播放等埋点。
|
||||
- 短剧详情、章节播放、HLS 播放、图片解密、点赞、收藏与分享;详情/播放页以“推荐视频”代替评论。
|
||||
- 游客会话(已删除登录注册、个人中心、充值/VIP 和付费解锁)。
|
||||
- App 下载、福利应用、回家的路和独立导航页。
|
||||
- 服务端 SEO 元数据、JSON-LD、robots.txt。
|
||||
|
||||
本仓库负责网站页面、浏览器交互和服务端 API 代理,不包含 Go 业务服务、管理后台或数据库部署代码。独立“剧集”入口及 `/series/`、`/video/*` 页面已移除。
|
||||
|
||||
@@ -70,7 +70,7 @@ DMP编码: JHA-1047
|
||||
| `src/app/` | App Router 页面、API/媒体代理、robots 和健康检查 |
|
||||
| `src/components/site/` | 首页、详情、播放、导航等页面组件 |
|
||||
| `src/lib/api/` | 上游配置、接口白名单、会话、公共缓存和媒体请求 |
|
||||
| `src/lib/client/` | 登录、账户、播放、解锁、广告、图片及埋点交互 |
|
||||
| `src/lib/client/` | 游客会话、播放、广告及图片交互 |
|
||||
| `src/lib/routing.ts` | 路由解析、slug/ID、分页地址与导航匹配 |
|
||||
| `src/lib/seo*.ts`、`src/lib/structured-data.ts` | TDK、canonical、索引策略、SEO 快照和 JSON-LD |
|
||||
| `src/proxy.ts` | 页面尾斜杠规范化和首屏会话准备 |
|
||||
@@ -84,8 +84,6 @@ DMP编码: JHA-1047
|
||||
| 专题 / 标签 / 更多栏目 | `/topics/`、`/topics/{key}/`、`/tag/{key}/`、`/config/{key}/` |
|
||||
| 详情 / 播放 | `/detail/{key}/`、`/play/{key}/{chapterId}/` |
|
||||
| 搜索 | `/search/{keyword}/` |
|
||||
| 个人中心及书架 | `/member/center/`、`/member/history/`、`/member/favorites/`、`/member/likes/`、`/member/purchased/` |
|
||||
| 充值 / VIP | `/info/deposit/`、`/info/deposit/vip/` |
|
||||
| 官方入口 / 回家的路 / 福利应用 | `/navigation/`、`/home-road/`、`/apps/` |
|
||||
|
||||
内容地址优先使用有效英文/拼音 slug,无效或缺失时使用 ID;播放页章节段使用真实章节 ID。搜索词作为单个路径段编码。支持分页的页面使用 `/page/{N}/`,第一页使用基础路径;详情和播放页的分页对应评论。有效页面无尾斜杠访问返回 308,API、媒体和静态资源保留原路径。确认不存在的资源或越界分页返回 404,上游业务服务异常与资源不存在分别处理。
|
||||
@@ -101,7 +99,7 @@ DMP编码: JHA-1047
|
||||
- 浏览器请求本站 `/api/*`,Next.js 按白名单转发到 Go 后端的 `/api/app/*`。`UPSTREAM_API_URL` 仅服务端使用,`API_BASE_URL` 是兼容别名。
|
||||
- `/h5/m3u8/*`、`/enkey`、`/newenkey` 由媒体代理处理,保留签名查询、客户端相关请求信息;媒体和密钥不缓存,不转发应用登录 Cookie 或 Authorization。
|
||||
|
||||
登录会话通过 HttpOnly Cookie 传递;SSR 启动数据按字段白名单输出,不向浏览器暴露后端登录凭证。公共接口和账户、余额、订单、付费权限数据采用不同缓存策略。
|
||||
游客会话通过 HttpOnly Cookie 传递;SSR 启动数据按字段白名单输出,不向浏览器暴露后端登录凭证。公共接口和账户、余额、订单、付费权限数据采用不同缓存策略。
|
||||
|
||||
本仓库不直接连接 MongoDB、Redis 或 Elasticsearch。Go 后端是否使用这些中间件及其拓扑,由后端/运维文档确认;本仓库没有 Telegram Bot 部署通知实现。
|
||||
|
||||
@@ -109,9 +107,9 @@ DMP编码: JHA-1047
|
||||
|
||||
| 环境 | 配置文件 | Go API 上游 | 网站端口 | 构建目录 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 开发 | `config/development.env` | `http://172.104.181.99:21022` | `21021` | `.next-dev/` |
|
||||
| 测试 | `config/test.env` | `http://172.104.181.99:21022` | `21021` | `.next-test/` |
|
||||
| 生产 | `config/production.env` | `http://172.104.56.28:26125` | `21021` | `.next/` |
|
||||
| 开发 | `config/development.env` | `https://webhgcgapi.mfcg.me` | `21021` | `.next-dev/` |
|
||||
| 测试 | `config/test.env` | `https://webhgcgapi.mfcg.me` | `21021` | `.next-test/` |
|
||||
| 生产 | `config/production.env` | `https://webhgcgapi.mfcg.me` | `21021` | `.next/` |
|
||||
|
||||
配置由 [scripts/next-env.mjs](scripts/next-env.mjs) 加载,优先级为:进程环境变量 > `config/{环境}.local.env` > `config/{环境}.env`。开发环境兼容旧 `.env.local`,优先级低于 `config/development.local.env`;测试和生产不从旧 `.env.local` 加载本站业务配置。
|
||||
|
||||
@@ -121,11 +119,10 @@ DMP编码: JHA-1047
|
||||
|
||||
- 公共配置、页脚、导航、分类和标签选项默认缓存 60 秒,首页缓存 30 秒,进程内最多 128 条并合并并发请求;开发配置关闭缓存。`PUBLIC_DATA_CACHE_TTL_MS=0` 可关闭,正数仅缩短既有缓存上限。
|
||||
- 公共缓存按上游地址隔离,各实例独立;配置和首页刷新失败可沿用已成功的数据。账户及付费权限不进入公共缓存。
|
||||
- canonical 和站点身份取后台配置的永久域名,优先 `config.foreverUrlAddr`,其次 `newAddressInfo.foreverUrlAddr`。有效 SEO 配置保存在对应构建目录的 `cache/seo/`,异常时复用最近一次有效快照;不以 API IP 或访问 Host 作为正式域名。
|
||||
- 生产 `/robots.txt` 允许抓取公开资源,限制 `/api/` 和 `/healthz`;开发、测试禁止全站抓取。账户、充值、搜索、工具等页面另有页面级 `noindex` 规则。
|
||||
- 生产 robots 在取得有效永久域名后声明 `https://{永久域名}/sitemap.xml` 形式的绝对 URL。**本仓库没有 sitemap XML 生成或读取路由**;现有 XSL 和响应头配置不等于已提供 XML,需由后端/反向代理另行接入。规则见 [后端 Sitemap 对接约定](docs/sitemap-backend-contract.md)。
|
||||
- 导航、官方入口、商务 TG、用户反馈 TG 群、广告和下载地址由接口动态配置;未配置有效 App 下载链接时隐藏入口。
|
||||
- 埋点使用 App ID `1047`,优先读取接口 `reportSdkConfig`,构建配置 `NEXT_PUBLIC_TRACKER_ENCRYPTED_CONFIG` 为兜底;配置及上报链路需与后端保持一致。
|
||||
- canonical、sitemap 和页面展示的站点地址固定为 `https://huangguocg.com`(`src/lib/site.ts`),不读取后台 `foreverUrlAddr`。有效 SEO 配置保存在对应构建目录的 `cache/seo/`,异常时复用最近一次有效快照;不以 API IP 或访问 Host 作为正式域名。
|
||||
- 生产 `/robots.txt` 允许抓取公开资源,限制 `/api/` 和 `/healthz`;开发、测试禁止全站抓取。搜索、工具等页面另有页面级 `noindex` 规则。
|
||||
- 生产 robots 声明 `https://huangguocg.com/sitemap.xml`。**本仓库没有 sitemap XML 生成或读取路由**;现有 XSL 和响应头配置不等于已提供 XML,需由后端/反向代理另行接入。规则见 [后端 Sitemap 对接约定](docs/sitemap-backend-contract.md)。
|
||||
- 站名(导航页固定“黄果吃瓜”)、官方入口和联系方式(官方 TG `@jbd125`)固定;广告和下载地址由接口动态配置,未配置有效 App 下载链接时隐藏入口。
|
||||
|
||||
# 3. 运维部署
|
||||
|
||||
@@ -193,11 +190,11 @@ PREVIEW_URL=http://127.0.0.1:21021 npm run smoke:api
|
||||
|
||||
| 风险点 | 影响及处理要求 |
|
||||
| --- | --- |
|
||||
| 上游及反向代理配置错误 | SSR、登录或媒体可能失败;区分网站 `21021`、API `21022/26125` 和 SSH `22889`。本站 `/api/*` 应进入 Next.js,避免上游回环;如启用可选 `current` 模式,必须先确认 `/api/app/*` 转发到 Go。 |
|
||||
| 上游及反向代理配置错误 | SSR、游客会话或媒体可能失败;区分网站 `21021`、API `21022/26125` 和 SSH `22889`。本站 `/api/*` 应进入 Next.js,避免上游回环;如启用可选 `current` 模式,必须先确认 `/api/app/*` 转发到 Go。 |
|
||||
| 播放签名、IP、UA 或密钥异常 | 可能出现播放 502;保留签名查询和客户端信息,检查真实上游响应,AES 密钥必须为 16 字节。H.265 解码受设备及浏览器限制,前端不提供转码。 |
|
||||
| 个人数据误入共享缓存 | 可能造成身份或权限混用;新增接口需延续公开数据与账户、订单、付费权限隔离,首屏输出遵守字段白名单。 |
|
||||
| 发布包平台或环境不匹配 | 生产需匹配 Linux 架构/libc,测试包需安装运行依赖;同名产物发布前核对配置和校验值。 |
|
||||
| SEO 配置或 sitemap 未接入 | 测试环境禁止抓取;生产需核对 `APP_ENV`、永久域名、robots、页面索引标记及实际 sitemap 响应,不能只确认 Sitemap 声明。 |
|
||||
| SEO 配置或 sitemap 未接入 | 测试环境禁止抓取;生产需核对 `APP_ENV`、robots、页面索引标记及实际 sitemap 响应,不能只确认 Sitemap 声明。 |
|
||||
| 服务器更新脚本未交接 | 本地脚本成功不等于业务验收通过;运维应提供远端脚本、服务管理、日志、监控告警及回退说明。 |
|
||||
|
||||
# 5. 历史事故(可选)
|
||||
@@ -206,10 +203,9 @@ PREVIEW_URL=http://127.0.0.1:21021 npm run smoke:api
|
||||
|
||||
# 6. 交接说明(可选)
|
||||
|
||||
- **应用标识**:DMP 为 `JHA-1047`;三套环境的 `NEXT_PUBLIC_TRACKER_APP_ID` 均为 `1047`,对接后台与 SDK 时保持一致。
|
||||
- **应用标识**:DMP 为 `JHA-1047`。
|
||||
- **新增页面**:复用集中路由、slug/ID、分页和 SEO 规则,补充有效/缺失/异常状态处理。导航与下载入口优先消费动态配置,不写死演示链接。
|
||||
- **个人列表**:我的点赞入口为 `/member/likes/`,上游接口为 `GET /api/app/playlet/like/list`,与收藏、历史、已购共同保持私有响应及禁止索引。
|
||||
- **配置交接**:确认实际运行目录的私有覆盖、上游连通性、正式永久域名、TG 联系方式、广告、下载及埋点配置。新版本切换需保留服务器私有配置和对应 SEO 快照。
|
||||
- **配置交接**:确认实际运行目录的私有覆盖、上游连通性、广告及下载配置。新版本切换需保留服务器私有配置和对应 SEO 快照。
|
||||
- **发布交接**:确认 SSH 权限、远端 `run.sh`/`rsupdate.sh`、服务管理名称、日志与回退方法;本文记录的是仓库默认值,不替代服务器实际配置验收。
|
||||
- **待补登记**:最后审计人、最后审计时间、告警群,以及运维确认后的监控和事故台账;不将本次文档整理视为已完成审计。
|
||||
- **参考资料**:[运行与部署说明](README.md)、[页面接口对照](docs/api-contract.md)、[索引策略](docs/indexation-policy.md)、[Sitemap 对接约定](docs/sitemap-backend-contract.md)。历史核对记录以其日期为界,当前配置和行为以代码为准。
|
||||
|
||||
Reference in New Issue
Block a user