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>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# 花魁 NET H5 接入
|
||||
|
||||
来源版本:黄果 NET `9bfbafe10d417deea959bd53117bc88a10e60a83`;花魁适配已推送开发分支并集成到独立test分支;本地构建、vet、配置/密钥隔离核验已通过,测试环境HTTP结果见交付记录。
|
||||
|
||||
H5 页面服务预留30334,目录 `/server/hkdj_net/h5`;H5 业务 API 为 `http://172.104.181.99:30331`。用户提供的测试页面域名为 `https://hkdjneth5.remoces.com`,域名代理待运维落地,不以域名已提供作为已部署页面的证明。
|
||||
|
||||
这里的“服务端渲染”指源黄果NET前端仓库 `ruisheng/jha-1021-91jhs/frontend/jha-1045-hgdjnet-web` 的Go页面程序读取模板并返回HTML。2026-10-10只读核验其Jenkins `Web_91YS_H5`:通过 `go build` 构建 `web_91ys_h5`,打包二进制、`static/`、`template/`,由Supervisor启动;源测试目录也存在对应静态资源和模板。因此H5需由前端交付独立Go页面程序及资源,不能套用HT的npm/dist上传脚本。
|
||||
|
||||
建议交接关系:H5测试域名的页面请求进入本项目30334页面服务;该页面服务/浏览器业务请求使用30331的App API。API服务和页面服务分别部署;源项目额外导航端口不在本次两前端入口规划内。
|
||||
|
||||
| 用途 | 方法 | 路径 |
|
||||
| --- | --- | --- |
|
||||
| 页面配置 | GET | `/api/app/config/info` |
|
||||
| 短剧首页 | GET | `/api/app/playlet/home` |
|
||||
| 短剧搜索 | GET | `/api/app/playlet/search` |
|
||||
| 应用列表 | GET | `/api/app/applist/list` |
|
||||
| 游客登录 | POST | `/api/app/auth/guest` |
|
||||
| 依赖健康检查 | POST | `/api/app/health/ping` |
|
||||
|
||||
`/api/app/*` 路径及 NET 的 JSON 返回协议保留。页面路由仍使用源项目的 `/play/...`、`/topic-detail/...`、`/tags/...` 等路径;前端不应直接替换为现有花魁短剧 H5 的路由。
|
||||
|
||||
游客、账号和 token 属于独立花魁 NET 测试库;不能向黄果或现有花魁短剧接口发送本次联调请求。支付、购买和外部发布不做测试。播放所需的花魁媒资地址、密钥和资源记录尚未接入,不能沿用黄果资源。
|
||||
|
||||
后台前端30333和H5前端30334是两个独立服务入口。H5采用独立SSR进程时,直接监听30334,不额外复制黄果导航服务;本次只准备后端与端口规划,H5前端服务尚未部署。
|
||||
|
||||
测试已通过页面配置、首页、搜索、应用列表和游客登录(HTTP200、业务200);专用游客ID10001,设备标识 `codex_hkdjnet_guest_20261010`。这些结果不代表已有可播放内容。`/enkey/`、`/newenkey/` 缺少有效播放票据时返回业务6020;鉴权后的 `/lsjenkey` 因未配置密钥返回6020。无效H5播放票据按源逻辑走占位视频路径,当前媒资域名未配置,最终返回6020;不能将该结果当作真实播放已通过。健康检查拒绝其他项目标识,合法签名下Redis/MongoDB/ES均为ok。
|
||||
|
||||
前端交接还需配置品牌、域名、SSR监听和API转发,使用花魁NET的token与播放票据;广告、应用媒资、支付、短信及真实播放资源需使用花魁自己的接入资料。准确版本及核验明细见[测试交付记录](测试交付记录-20261010.md)。
|
||||
@@ -0,0 +1,35 @@
|
||||
# 花魁 NET 后台接入
|
||||
|
||||
来源版本:黄果 NET `9bfbafe10d417deea959bd53117bc88a10e60a83`;花魁适配已推送开发分支并集成到独立test分支;本地构建、vet、配置/密钥隔离核验已通过,测试环境HTTP结果见交付记录。
|
||||
|
||||
后台前端独立入口计划为 `http://172.104.181.99:30333/`,静态产物目录 `/server/hkdj_net/houtai/dist`。后台 API 为 `http://172.104.181.99:30332`;`deploy/test/nginx.conf` 是前端部署时使用的转发模板,当前尚未安装。
|
||||
|
||||
用户2026-10-10提供测试后台域名 `https://hkdjnetht.remoces.com`,由运维配置域名入口;后台页面使用本项目静态目录,`/api/web/` 与 `/wbapi/hkdjnet/` 转发到 `127.0.0.1:30332`。域名已提供不代表Nginx或前端产物已部署。
|
||||
|
||||
用户提供的HT前端发布脚本如下,供前端/运维在已适配花魁的HT前端仓库执行;本次仅记录,未执行构建、上传或替换目录:
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
zip -q -r dist.zip dist
|
||||
scp -P 22889 dist.zip root@172.104.181.99:/server/hkdj_net/houtai/
|
||||
ssh -p 22889 root@172.104.181.99 "cd /server/hkdj_net/houtai && rm -rf dist && unzip -o dist.zip && rm dist.zip"
|
||||
rm dist.zip
|
||||
```
|
||||
|
||||
该脚本仅上传HT的静态dist,不负责安装Nginx域名/代理配置,也不构建H5的Go模板页面服务。
|
||||
|
||||
| 用途 | 方法 | 路径 |
|
||||
| --- | --- | --- |
|
||||
| 后台登录 | POST | `/api/web/login/acc` |
|
||||
| 后台配置 | GET | `/api/web/syscfg/get` |
|
||||
| 角色权限 | GET | `/api/web/role/getauth` |
|
||||
| IP统计 | GET | `/wbapi/hkdjnet/ipstat` |
|
||||
| 充值统计 | GET | `/wbapi/hkdjnet/recharge/summary` |
|
||||
|
||||
原 `/api/web/*` 业务路径保留;原黄果专属 `/wbapi/hgdjnet/*` 改为 `/wbapi/hkdjnet/*`。登录后的鉴权继续使用 NET 原接口返回的 token,不能沿用黄果或现有花魁短剧 token。
|
||||
|
||||
前端交接:将后台名称改为花魁 NET,API 使用本入口同源地址,并交付独立后台静态产物。本次后端工作未修改或复制黄果前端产物。
|
||||
|
||||
新测试库已初始化专用管理员、角色和系统配置(ID均为1);凭据仅在根.env的 `HKDJNET_TEST_ADMIN_*` 中。角色权限查询带 `id=<登录返回roleId>`;角色前端菜单未复制黄果,前端需按自己的版本配置。后台页面尚未部署,后台API登录以交付记录为准。
|
||||
|
||||
上述五个接口已使用test主机curl核验HTTP200、业务200,统计测试日期为2026-10-10。旧 `/wbapi/hgdjnet/ipstat` 返回404;未配置媒体密钥时,鉴权后的 `/api/web/enkey`、`/api/web/newenkey`、`/api/web/lsjenkey` 返回业务6020。媒资定时任务默认关闭,手动媒资接口仍需完成嘉华产品身份/协议适配后再使用。准确版本及核验明细见[测试交付记录](测试交付记录-20261010.md)。
|
||||
@@ -0,0 +1,75 @@
|
||||
# 花魁 NET 测试交付记录
|
||||
|
||||
2026-10-10,北京时间17:07核验。项目为HKDJ / JHA-216,独立官网仓库 `hkdj-web-server`;GitLab路径中的jha-215不改变项目归属。仓库已可通过配置的Git VPN/SSH访问,代码已提交推送。仅完成测试后端交付,正式环境未部署。
|
||||
|
||||
## 准确版本与构建
|
||||
|
||||
| 项目 | 版本/证据 |
|
||||
| --- | --- |
|
||||
| 复刻来源 | 黄果NET `9bfbafe10d417deea959bd53117bc88a10e60a83` |
|
||||
| 开发分支 | `feat/net-import` |
|
||||
| 业务开发提交 | `7d4925970afc7ca645b0d146340ec7392d3a2e3e` |
|
||||
| 部署test提交 | `eb0af077f729cd492931efaef8e7a4ff877e4124`,包含上述开发提交 |
|
||||
| App Jenkins | [花魁NET #4](http://192.53.172.70:8080/job/%E8%8A%B1%E9%AD%81NET/4/),SUCCESS |
|
||||
| Web Jenkins | [花魁NET #5](http://192.53.172.70:8080/job/%E8%8A%B1%E9%AD%81NET/5/),SUCCESS |
|
||||
|
||||
两个构建的SCM均为本仓库,参数 `BUILD_BRANCHE=origin/test`、对应 `BUILD_ITEM`、完整 `EXPECTED_COMMIT`,部署锁覆盖构建到核验。原生Go build info核验module为 `hkdj-web-server`、package分别为 `hkdj-web-server/app` / `hkdj-web-server/web`,`vcs.revision`均为上述test提交,`vcs.modified=false`。后续仅交付文档,不改变已运行版本。
|
||||
|
||||
## 进程、端口与健康
|
||||
|
||||
测试主机 `172.104.181.99`,部署根目录 `/server/hkdj_net`。
|
||||
|
||||
| 组件 | Supervisor / PID | 监听 | 二进制SHA256 |
|
||||
| --- | --- | --- | --- |
|
||||
| App/H5 API | `hkdj_net_app` / 3288320,RUNNING | 30331,归属该PID | `23107fd6188a8a4dbe8730d11ab8b8fb106d3c1720988590ab21630bf9f48581` |
|
||||
| Web/后台 API | `hkdj_net_web` / 3300065,RUNNING | 30332,归属该PID | `3ec6b84e320f3d24d5dc0f4930da29fd7d5242d6849a27a3c7b40721740fe395` |
|
||||
| 后台前端 | 预留 `/server/hkdj_net/houtai/dist` | 30333未监听 | 前端产物未部署 |
|
||||
| H5前端 | 预留 `/server/hkdj_net/h5` | 30334未监听 | 独立H5/SSR待前端交付 |
|
||||
|
||||
App签名POST `/api/app/health/ping` 返回HTTP200、业务200,Redis/MongoDB/Elasticsearch均为 `ok`。Web无专用健康接口,以准确运行版本、稳定PID、二进制校验和及30332监听归属证明,另行验证业务接口。运行配置均为 `runMod=test`、Redis DB24;`/server/hkdj_net/.env` 权限600。
|
||||
|
||||
## test主机curl结果
|
||||
|
||||
请求在测试主机通过curl执行,密码、token和签名通过stdin传递;不记录凭据。成功接口均为HTTP200、业务200。
|
||||
|
||||
| 端 | 方法与接口 | 核验 |
|
||||
| --- | --- | --- |
|
||||
| App | GET `/api/app/config/info` | 配置品牌为花魁短剧web站点 |
|
||||
| App | GET `/api/app/playlet/home` | 首页返回正常,独立空内容库 |
|
||||
| App | GET `/api/app/playlet/search?keyword=codex` | 搜索正常,未导入内容 |
|
||||
| App | GET `/api/app/applist/list` | 应用列表返回正常,未配置媒资拉取 |
|
||||
| App | POST `/api/app/auth/guest` | 专用设备 `codex_hkdjnet_guest_20261010`,用户10001,返回本项目token |
|
||||
| Web | POST `/api/web/login/acc` | 专用管理员登录正常 |
|
||||
| Web | GET `/api/web/syscfg/get` | 配置品牌正确 |
|
||||
| Web | GET `/api/web/role/getauth?id=1` | 专用角色权限查询正常 |
|
||||
| Web | GET `/wbapi/hkdjnet/ipstat` | 2026-10-10起止日期统计正常 |
|
||||
| Web | GET `/wbapi/hkdjnet/recharge/summary` | 同日期统计正常,无充值/支付测试 |
|
||||
|
||||
边界核验:外项目groupId的健康请求返回HTTP200/业务1001;旧 `/wbapi/hgdjnet/ipstat` 返回404。App `/enkey/`、`/newenkey/` 的无有效票据请求返回6020,鉴权后的 `/lsjenkey` 因未配置密钥返回6020;Web鉴权后的 `/api/web/enkey`、`/api/web/newenkey`、`/api/web/lsjenkey` 同样返回6020。无效H5票据被识别并按源逻辑转占位视频路径,因当前未配置媒资域名最终返回6020,不代表真实播放验证通过。本地票据测试另验证本项目票据可校验、其他密钥票据及缺失密钥不能校验。
|
||||
|
||||
## 初始化与索引回读
|
||||
|
||||
用户批准的清单 `deploy/test/index-plan.json`,SHA256 `3f56441d0c496a9817c5d2f269084eab8450a2d73bcaec9f45a415cbd1751541`。206条MongoDB索引请求全部按有序keys及声明unique/TTL/partial选项回读一致;206包含复用系统_id索引的请求,不等于206个新增物理索引。浏览历史TTL90天,访问日志TTL5天。
|
||||
|
||||
仅初始化 `hkdj_net` / `hkdj_net_log`,专用MongoDB用户角色仅这两库readWrite。管理员、角色、系统配置ID均为1,游客10001;没有迁移黄果管理员或内容数据。管理员凭据只保存在根.env的 `HKDJNET_TEST_ADMIN_*` 中,前端菜单 `role.router` 尚待前端按其版本配置。
|
||||
|
||||
ES仅初始化 `webhkdjnet_playlet_index_v1`,mapping及analysis回读一致。用户另行批准后,在测试部署锁内再次核对UUID `RTK05ByzST-q2pVxnAjDfQ`、创建时间1791621305061、从未启动的 `INDEX_CREATED` 状态,对primary0执行一次 `allocate_empty_primary`。最终primary active=1、文档0、状态yellow;没有修改共享集群设置或其他项目索引。单节点副本未分配,共享节点磁盘超过90%高水位的问题仍需运维处理。
|
||||
|
||||
## 检查、日志与回滚资料
|
||||
|
||||
改动相关包测试、vet、App/Web构建、Python/Shell语法及提交差异检查已通过。配置加载、健康签名、媒体密钥、H5票据、未配置广告时不走旧域名、媒资任务关闭均有针对性验证。本地测试文件和构建产物未提交;未生成或部署Swagger。
|
||||
|
||||
仅检查最新test SHA启动段:两库、Redis、ES和模型初始化成功,两端启动正常;未再出现旧广告备用域名、空媒资URL或旧赤果自动回流错误。App有本次游客请求缺少SDK公共字段的警告,未影响登录;其余告警对应主动测试的错误groupId、无效票据、缺失媒体密钥/域名,属于上述预期返回。
|
||||
|
||||
最终安装前保留并核验旧二进制回滚副本(旧SHA `f5c179a1aa27e627b2d193f794ceaec90ade91b9`):
|
||||
|
||||
- `/server/hkdj_net/app/.rollback/hkdj-net-app.f5c179a1aa27e627b2d193f794ceaec90ade91b9.d857e0b19c1dd1438588b4351d9d4b95271c40d6fe27fb22494b988fd0518322`
|
||||
- `/server/hkdj_net/web/.rollback/hkdj-net-web.f5c179a1aa27e627b2d193f794ceaec90ade91b9.65db902ade235ae24a1c40b8c6403374230e583b2bd6cfa69ffa9d13c60a7558`
|
||||
|
||||
以上为二进制备份,不是数据库回滚;需要回滚时仍通过本项目部署守卫恢复并验证准确版本。旧版本存在未配置外部接入时仍发起请求的问题,不能将其视为等价于最终版本的可用状态。本次不删除初始化索引,不重复强制分配ES主分片。
|
||||
|
||||
## 前端交接与剩余接入
|
||||
|
||||
[后台Web接入](Web-后台接入.md)与[H5 App接入](App-H5接入.md)分别交付。前端需要完成花魁品牌、域名、API配置、菜单以及独立后台静态/H5 SSR产物;30333/30334仅预留,Nginx文件为模板,当前没有可登录的后台/H5页面。
|
||||
|
||||
支付、短信、媒资、广告、统计上报、内容回流没有复制黄果凭据,默认关闭相应外部拉取;Web `mediaJobsEnabled=false`。花魁使用嘉华媒体库,后续手动/自动媒资接口还需核对本项目产品身份、协议和资源记录,不能接入黄果独立媒体库。本次不声称真实播放、支付或前端页面已完成。
|
||||
Reference in New Issue
Block a user