[插件] 移动端 API 1.0.0(首个版本),请自行下载体验

👑Lv.11 元老 🌏 正式会员
2026-10-11 12:26:45

一、这是什么

为 App / H5 / 第三方客户端提供统一的对外 REST API 接入层:把论坛的登录、版块、帖子、 用户、搜索、通知、私信等能力以一套稳定的 {code,message,data} 响应对外暴露, 让移动端与第三方客户端不必依赖网页会话与 CSRF,仅凭 Bearer 令牌即可读写。

二、主要能力

模块 说明
认证 Bearer 令牌(前缀 fh_app_);access 2h / refresh 30d,刷新令牌轮换 + 复用检测;数据库只存 sha256
接口 认证 / 版块 / 帖子(含回帖)/ 用户 / 搜索 / 通知 / 私信,全部对齐核心权限口径
限流与审计 按 Token 独立计数(写 5 / 分钟、读 60 / 分钟),逐次调用写审计
安全 默认同源 CORS(后台可加白名单,禁 *);每次调用校验封禁状态;写操作走核心 Model 层(复用审核/积分/封禁逻辑)
前台 /api-tokens 设备管理页:新建令牌(明文仅显示一次)、查看、撤销
后台 /admin/mobile-api:服务设置 / 令牌管理 / 调用审计 三分区
扩展点 提供 mobile_api_routes 钩子,其他插件可把自己的功能挂到 /api 之下(示例:daily_checkin 接入 /api/checkin)

三、⚠️ 最低核心版本 = 1.1.21

本插件调用了核心 V1.1.21 才新增的 3 个方法:

  • app/Models/User.php::getReplies() —— 用户回复列表(GET /api/users/{id}/replies)
  • app/Helpers/Notification.php::markRead() —— 通知批量已读(POST /api/notifications/{id}/read)
  • app/Models/Message.php::getConversation()/countConversation()/send() —— 私信会话(GET/POST /api/messages)

低于 1.1.21 的站点安装后,上述三类接口会因核心方法缺失而报错。 故本插件 min_core = 1.1.21 —— 核心 ≥ 1.1.21 才能安装(PluginUpdater::coreSatisfies() 硬门禁)。

四、安装与使用

  1. 后台 → 插件 → 商店 → 安装「移动端 API」(勾选「安装后自动启用」)。

  2. 进入后台 移动端 API → 服务设置,打开总开关(默认关闭)。

  3. 用户在前台 /api-tokens 页创建设备令牌,把令牌明文填入客户端,请求头携带:

    Authorization: Bearer fh_app_xxxxxxxx
    API 基础地址:<站点地址>/api
    

五、说明

  • 本插件为独立插件包,不修改核心代码;前置要求为核心 ≥ 1.1.21。
  • 与「MCP 服务」插件(mcp_server)各自独立,令牌互不通用。
轻量级、高性能、零 MySQL 依赖的PHP社区系统。
| Views 8 | Replies 0

All Replies (0)

No replies yet

Please Log in