AI弹幕组件-无后端集成

WebsitePusher 公开 API 演示

一行代码,集成推送和弹幕API,适用于任何网站。自动识别当前网页内容发送AI弹幕,还可以自由发布公告、历史评论推送到弹幕,包括不限于个人博客、游戏直播等场景,无需后端开箱可用。

快速体验

注意:当前 通道码 集成在前端页面,所有人可见,$.getJSON()适用于匿名推送的场景,例如公开留言板。如果只允许注册用户发送弹幕或者需要保存点赞数据,需参考server.html进行过滤

<!-- 一行代码进行弹幕推送 --> $.getJSON("https://www.phprm.com/services/push/trigger/4d05f4abdb0a0c2a0269900809946903?head=这是第一条弹幕&avatar=https://www.phprm.com/push/h5/static/avatar/danMu.png");
$.getJSON() 调用trigger接口将请求后端向云端写入一条弹幕记录,只有head参数必传,avatar 可不传. 缺省自动生成。

自定义弹幕样式

弹幕文字必选,头像链接、跳转链接可为空,其余可选项有默认值(继承自 danMuSetting)。

显示
显示

外观配置(updateDanMu仅对新弹幕生效)

修改下方参数后点「应用」,updateDanMu 会深合并到 danMuSetting 并立即对后续弹幕生效。

运行时控制 (内存操作)

弹幕运行期间可动态控制可见性、滚动、清屏与生命周期。

可见性

hideDanMu 用 visibility:hidden,动画继续不丢消息。

滚动状态

pauseDanMu 冻结滚动,新消息暂存队列;resumeDanMu 重启滚动并刷新暂存队列。

清屏与生命周期

clearDanMu 只清当前弹幕不影响连接;stopDanMu 断开 Socket.IO+停 AI 轮询+清屏;startDanMu 重连+重启轮询。

一行代码集成(无后端)

在你的网站任意页面引入下面这一行 <script>danmu.js 会自动加载依赖并调用 WebsitePusher.init()弹幕插件:

<!-- 一行代码集成 AiDanMu 弹幕推送 --> <script src="https://ws.phprm.com/static/customer/js/danmu.js?appName=你的应用名用于数据统计&channelCode=你的通道码&danMu=1"></script>

WebsitePusher settings 详解

属性说明
siteName站点名称
apiKey弹幕云服务API Key, 固定值, 不可修改
cssSiteCSS 资源根路径, 可定制为业务方cdn地址
jsSiteJS 资源根路径, 可定制为业务方cdn地址
pcUrlPC 端页面地址, 可定制为业务方cdn地址和样式
pushUrl弹幕云服务官网, 固定值, 不可修改
apiUrl弹幕云服务API接口, 固定值, 不可修改
authUrl弹幕云服务Oauth接口, 固定值, 不可修改
wsUrl弹幕云服务Socket接口, 固定值, 不可修改
channelMemberUrl弹幕云服务API接口, 固定值, 不可修改
appName自定义应用名称(用于数据统计)
channelCode指定通道码, 可到弹幕云服务官网注册后获取后传参, 认证域名后自动创建弹幕通道码可不传
uid弹幕云成员ID, 长整形数字, 仅用于标识
name弹幕云成员昵称
createTime弹幕云成员加入时间
token弹幕云成员弹幕服务令牌
avatar弹幕云成员加入时分配的头像, 默认为浏览器头像
device访问成员设备码, 不同浏览器、不同版本设备码不同
clientVersion访问成员客户端版本
screenResolution访问成员屏幕分辨率
userPlatformType访问成员用户平台类型
userPlatformVersion访问成员用户平台版本
hideDialog是否隐藏对话框(0=显示, 1=隐藏), 支持danmu.js?hideDialog=1关闭对话框模式
hidePanel是否隐藏推送面板(0=显示, 1=隐藏), 支持danmu.js?hidePanel=1关闭弹幕配置面板
danMu是否开启弹幕(0=关闭, 1=开启), 支持danmu.js?danMu=1开启弹幕
closeText自定义关闭/举报按钮文字, 仅当danMuSetting.close=1时生效
danMuSetting弹幕外观配置(嵌套对象, 子属性见下方)
  danMuSetting.opacity背景不透明度(0~100, 100=不透明)
  danMuSetting.size弹幕字号(8~33)
  danMuSetting.speed滚动速度(秒)
  danMuSetting.close是否显示关闭按钮(0=否, 1=是, 优先于 like)
  danMuSetting.like是否显示点赞按钮(0=否, 1=是), 仅当danMuSetting.close=0时生效
  danMuSetting.bottom距屏幕底部距离(px, bottomradio=1 时生效)
  danMuSetting.bottomradio是否按 bottom 定位(0=随机位置, 1=固定)
  danMuSetting.aiDanMuAI 弹幕轮询间隔(秒, 0=关闭), 支持danmu.js?aiDanMu=30开启AI弹幕每30秒轮询
  danMuSetting.aiDanMuUrlAI 弹幕自定义接口地址
  danMuSetting.selector弹幕挂载 DOM 选择器(默认 body)
  danMuSetting.color弹幕文字颜色
  danMuSetting.hideIcon是否隐藏右下角浮窗图标(0=显示, 1=隐藏), 支持danmu.js?hideIcon=1关闭弹幕右下角图标
messageLengthmessageIdList 容量上限, 如果访问成员大于20000人可尝试着增加此值

WebsitePusher 公开 API 速查

方法说明
init(options)接入入口,options 为 settings 覆盖项,嵌套对象(如 danMuSetting)按字段深合并
hideDanMu()隐藏弹幕(visibility:hidden, 动画继续不丢消息)
showDanMu()显示弹幕(移除 hideDanMu 的隐藏样式)
pauseDanMu()暂停弹幕(冻结滚动, 新消息暂存队列)
resumeDanMu()恢复弹幕(重启滚动, 刷新暂存队列)
clearDanMu()清屏(移除所有弹幕元素+清空暂停队列, 不影响连接)
updateDanMu(options)更新弹幕配置并立即生效(外观/AI轮询), options 为 danMuSetting 字段子集
setDanMuArea(ratio)设置显示区域比例(0.1~1, 如 0.5=上半屏)
stopDanMu()停止弹幕:断开 Socket.IO、停 AI 轮询、清屏,保留 token/doc 供恢复
startDanMu()启动弹幕:重连 Socket.IO、重启 AI 轮询(依赖 stopDanMu 前保存的上下文)
danMuSendOpen(settings)右下角danMuIcon回调钩子:右下角弹幕图标首次点击时触发(开启弹幕发送),需在 init 时传入
danMuSendClose(settings)右下角danMuIcon回调钩子:右下角弹幕图标再次点击时触发(关闭弹幕发送),需在 init 时传入
sendDanMu(item)主动发送弹幕(仅调试样式使用, 当前屏幕滚动, 不请求业务方后端),如需存储后再推送, 请在sendCallback回调中异步请求业务方后端, 人工审核通过再由后端进行推送
destroy()销毁所有资源(DOM/事件/Socket.IO/定时器/缓存), 销毁后可重新调用 init() 初始化