Rhex 论坛系统

做爱做的事!

关于小黑屋帮助FAQ协议Rss赞助
Rhex 论坛系统 @ 2026·Powered by Rhex 1.0.35
🏠首页
摸鱼
吹牛逼
Rhex讨论
程序发布建议/Bug插件发布🪐优秀站点
测试区
测试画廊测试节点
96

这个用户还没有留下简介。

回复讨论

Rhex 论坛系统

登录后即可签到、查看积分与快捷发帖

Rhex 论坛系统是一个适合开源部署的现代论坛基础站点

相关主题

【插件发布】帖子彩蛋 v1.0.1【插件发布】帖子彩蛋 v1.0.0【插件发布】顶部仿张洪banner插件能不能加个帖子随机彩蛋 或者做成插件也可以积分刮刮乐插件手机端按钮

主题标签

全部标签
解析登录接口播放
6

登录后可参与回复讨论。

文明发言,理性讨论
秦始黄
💬🧠
·7小时前
琥珀先生
💎
·7小时前
木偶熊
💬🧠
·6小时前
Blue
·5小时前
熊猫
回复 @木偶熊·5小时前
回复 @木偶熊

你的这个图片是加了什么,怎么点击会跳一个主页的页面出来

木偶熊
💬🧠
回复 @熊猫·43分钟前
回复 @熊猫

@木偶熊 md渲染有个 问题。,。下个版本修复

插件
视频
嵌入
播放器
目录
效果展示:B站视频嵌入 (bilibili-player)功能特性插件结构技术要点1. 接入机制2. 登录鉴权的关键设计(踩坑后的正确做法)
首页
Rhex讨论
Rhex讨论 节点
程序发布帖 53插件发布帖 28🪐优秀站点帖 7
插件发布

B站视频自动识别播放插件 V1.1

原作者: 秦始皇
插件原贴: 原贴
以下为二开插件内容

效果展示:

展示不了 官方没安装我的插件 所以还是去我网站看展示吧 点我直达

在原作者的基础下增加了以下内容:
后台可以添加解析接口
添加仅登录账号可播放视频开关,开启以后只有登录了账号才能观看视频,未登录账号点击播放按钮会提示登录

以下为AI生成的内容 (左胳膊受伤,右手一只手懒得写内容了)

B站视频嵌入 (bilibili-player)

rhex 论坛服务端插件 · 当前版本 1.1
自动把帖子正文里的 B站视频链接解析成内嵌播放器。

功能特性

  • 自动解析嵌入:扫描帖子正文 HTML,把 B站视频链接(bilibili.com/video/BVxxx、b23.tv/xxx
    短链,支持 <a> 标签和纯文本)替换成封面 + 播放按钮的卡片。
  • 点击懒加载:默认只渲染封面,点击播放按钮才创建 <video>
    加载真实视频地址,不影响页面首屏性能。
  • 第三方解析接口可配置:默认 api.mir6.com,支持 {url} / {rawUrl} 占位符,或自动追加
    url=&type=json 参数。
  • 解析结果缓存:内存 LRU,30 分钟 TTL,最多 100 条,避免重复请求解析接口。
  • 仅登录可播放(requireLogin):开启后未登录用户点播放会弹登录提示弹窗,引导去
    /login;已登录用户正常播放。
  • 单帖嵌入数量限制:可配置 1–10,默认 3。
  • 后台设置页:启用开关、仅登录开关、嵌入数量、解析接口地址,均即时生效。
  • 响应式 UI:深色播放器外观,移动端适配,弹窗支持 Esc 关闭。

插件结构

文件 作用
addon.json 插件清单(id、版本、权限、入口、后台页声明)
dist/server.mjs 服务端入口(已打包):hook 注册 + 解析逻辑 + 内嵌播放器脚本
assets/admin.js 后台设置页前端模块(mount 形式)

技术要点

1. 接入机制

  • 通过 api.registerAsyncWaterfallHook 注册 post.content.render
    hook,串行改写帖子正文渲染后的 HTML。
  • 后台能力:registerAdminPage(设置页)+ registerAdminApi(GET/POST 读写配置)。
  • 配置走 context.readConfig / writeConfig,key 为 bilibili-embed-settings。

2. 登录鉴权的关键设计(踩坑后的正确做法)

  • post.content.render 产出的是所有用户共享、可缓存的
    HTML
    ,服务端无法可靠地把"是否登录"烤进
    HTML——一个登录用户触发渲染后,未登录用户会复用到同一份缓存,导致鉴权失效。
  • 因此登录判断必须在 客户端点击播放那一刻实时进行:
    • 服务端只在 HTML 上标记 data-require-login,不烤登录态。
    • 客户端请求 GET /api/auth/me 实时判断登录。
  • 响应结构坑:/api/auth/me 未登录时返回
    json
    { "code": 0, "data": { "user": null, "surface": null, "features": {} } } data 恒为真值对象,真正的登录标志是 data.user 非空,不能用 data 本身判断真假。
  • 备选信号:宿主在浏览器暴露 window._rhex.session(isAuthenticated / user,未登录 user 为
    null)。
  1. 客户端播放器脚本
  • 内联 ,用全局 ready
    标记(__rhexBilibiliPlayerReadyVxxx)防重复初始化,每版递增以使旧脚本失效。
  • 播放触发器统一用
  • 事件委托捕获点击,requireLogin 视频先异步查登录态再决定播放或弹窗;会话结果用 promise
    缓存,网络失败不缓存以便重试。

已知限制

  • 解析依赖第三方接口,接口失效或限流会导致部分视频无法嵌入(此时保留原链接)。

截图:

image.png

image.png

image.png

image.png

image.png

9b52ad59f2c6e74189a8077e2b45abc5.jpg

caba0de5b52e5ca5dcbeb718f40ab382.jpg

60c7502482b105fa13b44081d4239e6a.jpg

d6c39a226d853c65a8d3d5fcf6503643.jpg

附件列表

共 1 项
站内附件

bilibili-player-1.1.0.zip

ZIP · 10 KB · 下载 85 积分
登录后可支付 5 积分 获取下载权限
Rhex
Rhex
建议/Bug
帖 119
·15小时前
kingkare
💬📝