Files
huangguo_server/亚模块红点AI女友接口.md
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

3.9 KiB
Raw Permalink Blame History

亚模块、更新红点、AI 女友接口

本文只列 App/H5 需要对接的服务端字段。接口沿用现有登录鉴权和统一响应结构,业务数据位于 data

1. 亚模块列表

GET /api/app/modules/list

后端只返回当前已启用且处于上下架时间范围内的亚模块。亚模块对象新增:

{
  "id": "66a000000000000000000001",
  "moduleName": "示例模块",
  "onlineAt": "2026-07-27T08:00:00Z",
  "offlineAt": "2026-08-27T08:00:00Z",
  "excludeLatest": true,
  "excludeRecommend": true,
  "searchOnlyWhenInactive": true
}
  • onlineAtofflineAt 为空表示不限制。
  • App 无需自行判断时间,也不要缓存已经下架的亚模块。
  • 亚模块失效后,普通列表、模块/专题入口、分享页和直接视频详情均不可访问;搜索结果仍可访问。

2. 首页及亚模块更新红点

GET /api/app/content/update-markers

返回:

{
  "code": 200,
  "data": {
    "homeLatestAt": "2026-07-27T08:10:00Z",
    "todayLatestAt": "2026-07-27T08:10:00Z",
    "modules": [
      {
        "moduleId": "66a000000000000000000001",
        "latestAt": "2026-07-27T08:05:00Z"
      }
    ]
  }
}
  • homeLatestAt:主页“最新”内容最近审核通过时间。
  • todayLatestAt:“今日更新”最近审核通过时间;“今日”按 UTC+8 自然日计算。
  • modules[].latestAt:该亚模块视频最近审核通过时间;动漫、漫画等媒体取最近新增或子集更新时间。
  • 没有内容时对应时间为 null
  • 客户端保存各入口的本地 lastReadAt。当 latestAt > lastReadAt 时显示红点,用户点击入口后更新本地已读时间。

3. 搜索专属视频访问

视频关键字搜索和片库搜索的每个视频对象新增:

{
  "id": "66b000000000000000000001",
  "searchAccessToken": "短时效凭证"
}

从搜索结果进入视频详情时原样传回:

GET /api/app/vid/info?videoID=66b000000000000000000001&searchAccessToken=短时效凭证
  • 普通视频详情可不传 searchAccessToken
  • 凭证与当前用户、视频绑定,有效期 10 分钟。
  • 仅搜索可见的视频未传、传错或凭证过期时,接口按内容不存在处理。

4. AI 女友入口

App 从现有启动配置判断入口是否展示:

GET /api/app/ping/v

使用字段 aiGirlFriend

{
  "aiGirlFriend": true
}

aiGirlFriend=true 时展示入口。点击入口后调用:

POST /api/app/aimatev2/url

无需请求体。成功响应:

{
  "code": 200,
  "data": {
    "url": "https://example.com/ai"
  }
}

前端打开 data.url。该接口会先处理上一次未结算余额,再把用户主钱包的可用金币上分到 AI 女友;换算比例为 10金币=1元,前端不参与金额换算。

用户关闭 AI 女友页面或返回 App 后,调用现有钱包接口刷新余额:

GET /api/app/mine/wallet

钱包接口会先尝试把 AI 女友剩余余额下分回主钱包,然后返回最新钱包数据;响应结构不变。历史别名 GET /api/app/mine/qianbao 同步支持,但新代码统一使用 /mine/wallet

/api/app/aimate/* 接口仅为旧客户端保留,新版 App/H5 不再调用 logingetBalancecurrencysexchange,也不再直接使用 ping/v 返回的 aiMateH5

5. 管理后台配置

管理后台沿用现有接口:

POST /api/web/admin/module/conf/add
POST /api/web/admin/module/conf/edit

新增请求字段:

{
  "onlineAt": "2026-07-27T08:00:00Z",
  "offlineAt": "2026-08-27T08:00:00Z",
  "excludeLatest": true,
  "excludeRecommend": true,
  "searchOnlyWhenInactive": true
}

编辑时清空时间限制:

{
  "id": "66a000000000000000000001",
  "clearOnlineAt": true,
  "clearOfflineAt": true
}

offlineAt 必须晚于 onlineAt,否则保存失败。