Files
web_huakui_server/README.md
rootandClaude Opus 4.7 85c0071fd8 feat: 从黄果 NET hgdjnet-server 9bfbafe 导入 HKDJ 官网后端
来源:hgdjnet-server 9bfbafe10d417deea959bd53117bc88a10e60a83
项目身份 HKDJ / JHA-216,独立官网仓库,Jenkins 守卫键 hkdjnet
测试目录 /server/hkdj_net,App/Web API 30331/30332

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-10-16 11:20:04 +08:00

55 lines
4.6 KiB
Markdown

# 花魁 NET 官网后端
项目身份:HKDJ / 花魁短剧 / JHA-216。独立仓库 `hkdj-web-server`,不替代现有 `hkdj-server`。
复刻来源为黄果 NET 后端 `jha-1045-hgdjnet-server` 的 `main` 提交 `9bfbafe10d417deea959bd53117bc88a10e60a83`。首次初始化已按本人批准的准确索引方案适配花魁;MongoDB索引定义保持源项目原样,ES使用花魁独立名称。准确版本、构建/运行及接口证据见[测试交付记录](docs/测试交付记录-20261010.md)。
## 服务划分
| 服务 | 代码/责任 | 测试端口 | 目录 |
| --- | --- | --- | --- |
| H5 业务 API | 后端 `app` | 30331 | `/server/hkdj_net/app` |
| 后台管理 API | 后端 `web` | 30332 | `/server/hkdj_net/web` |
| 后台前端 | 前端静态页面,由 Nginx 提供入口 | 30333 | `/server/hkdj_net/houtai/dist` |
| H5 前端 | 前端独立 H5/SSR 服务 | 30334 | `/server/hkdj_net/h5` |
2026-10-10 部署前已只读确认四个端口未监听、无 Nginx/Supervisor 配置引用。App/Web按测试部署守卫逐组件安装;前端两个入口保持预留。后台、H5 两个前端服务分别交付;不复用黄果的服务目录、前端产物、监听端口或业务数据库。
## 配置与构建
App/Web 配置只包含非敏感字段和 `${HKDJNET_*}` 环境变量。凭据由权限 600 的独立 `.env` 加载,不能提交。运行配置与测试模板见 `app/conf/app.yaml`、`web/conf/web.yaml`、`deploy/test/`。
```bash
make app
make web
```
构建脚本通过工作区 Go 全局锁,产物写入忽略目录 `.build/`。业务包保留 NET 的 App/Web 能力;不生成、构建或部署 Swagger。
运行目录分别为 `app`、`web`,从 `conf/app.yaml` 或 `conf/web.yaml` 加载配置;缺少必要环境变量会停止。App 健康检查仍为 `POST /api/app/health/ping`,认证标识和签名密钥改为环境变量 `HKDJNET_HEALTH_GROUP_ID`、`HKDJNET_HEALTH_SECRET`,不沿用黄果值。H5播放票据使用本项目 `tsAuthKey`,不同项目票据互不通用。
IndexNow 在 Web 运行目录的 `conf/web.yaml` 中直接配置,默认留空且外部推送关闭:
```yaml
indexNow:
key: ""
```
将 `indexNow.key` 填为本站的验证 key,并在 SEO 域名下提供同名 `{key}.txt` 文件,文件内容为该 key。SEO 域名优先取系统配置 `foreverUrlAddr`,为空时回退到 `webAddr`。修改 YAML 后需重启 Web 服务。不再读取 `HKDJNET_INDEXNOW_KEY` 环境变量,原环境变量的值需迁移到此配置项;留空或省略该项不影响启动,但无法提交 IndexNow。实际外部推送仍要求代码中的 `seoPushEnabled=true` 且 `runMod=prod`。
M3U8 解密密钥从各服务运行目录下的文件读取:普通密钥 `conf/m3u8.key`、新版密钥 `conf/newm3u8.key`、老司机密钥 `conf/lsjm3u8.key`。文件内容必须是原始 16 字节二进制密钥,不是十六进制文本,不添加换行;不再读取对应的 `HKDJNET_*M3U8_KEY_HEX` 环境变量。App/Web 的 `conf` 目录均需按需配置本项目密钥文件,权限设为 600,不提交仓库。文件缺失、不可读或长度错误时,密钥接口返回错误。
## 数据与外部服务
使用独立测试业务库 `hkdj_net`、日志库 `hkdj_net_log`、Redis DB24 和花魁搜索索引。已完成206项MongoDB索引请求和ES映射回读核验。本人已于2026-10-10批准独立测试库首次初始化;准确keys、顺序和unique/TTL/partial选项见 `deploy/test/index-plan.json`,清单SHA-256为 `3f56441d0c496a9817c5d2f269084eab8450a2d73bcaec9f45a415cbd1751541`。改变该准确方案需重新确认。
支付、短信、媒资、广告、统计上报和内容回流的黄果凭据没有复制。测试模板中的可选外部接入地址留空;按花魁实际产品标识和本项目凭据另行接入。花魁所属媒体库为嘉华,不能沿用黄果独立媒体库。支付与外部内容发布不在本次验证范围内。
未配置广告和媒资地址时跳过拉取;Web `mediaJobsEnabled=false`,媒资同步、封面/水印、AI回流等任务不注册,旧赤果自动回流已移除。未配置统计上报时不启动其定时任务。测试库没有迁移黄果内容,播放功能尚待嘉华媒资接入。
## 分支与交付状态
空仓库本地基线为 `f7534bf`;开发分支 `feat/net-import`。开发分支经检查后提交推送,并集成到独立`test`分支;Jenkins任务“花魁NET”只部署此仓库的准确`test`版本。未初始化正式环境,未发布生产版本。
Web、App 对接说明分别见[后台接入](docs/Web-后台接入.md)、[H5接入](docs/App-H5接入.md)。前端30333/30334尚未监听,Nginx配置仅为交接模板。