Skip to content

haozi23333/danmu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

B站弹幕姬 for NW.js

说明(=・ω・=)

这个项目是方便使用linuxMACOS系统进行直播的同学提供的弹幕SDK
当然在window系统下面都是可以使用的
本人注重弹幕交互,并不适合经常刷大量弹幕的直播间用户
本人直播间地址房间号61627
注意在res/font/下面偶一个字体,有26M
Version 0.0.1

食用方式(`・ω・´)

clone这个项目
下载NW.js SDK;
nw.js /danmu

全局API(。・ω・。)

    //写插件请不要使用link.js开启新的socket线程
    //DmLister 是一个`global`属性的对象 请不要覆盖。
    var listen = global.DmLister.connect();//链接到本弹幕姬事件中心
        listen.on("data",function(data){//添加事件监听
            //TOTD ......
        })
    /**
     *  
     */
    listen.id;
    /**
     *  添加事件监听
     * @param eventName 事件名称
     * @param callback  回调
     * @returns {boolean}   是否添加成功 已存在返回false
     */
    listen.on(eventName,callback);
    /**
     * 全局广播事件
     * @param eventName     事件名
     * @param data          数据
     */
    listen.emit(eventName,data);//
    /**
     * 指定激活事件
     * @param id            接收者id
     * @param eventName     事件名
     * @param data          数据
     */
    listen.emitOne(id,eventName,data);
    /**
     * 移除事件监听
     * @param eventName 事件名称
     * @returns {boolean}   true/false
     */
    listen.remove(eventName);
     /**
     * 删除全部事件监听
     * @return true;
     */
    listen.removeAll(eventName);
    
    //系统事件!
    listen.on("DM_msg",callback);//接收弹幕信息
    listen.on("DM_connect",callback);//接收错误信息
    listen.on("DM_error",callback);//接收错误信息
    listen.on("exit",callback);//停止插件运行并退出
    listen.on("reload",callback);//插件重新加载
    listen.on("stop",callback)//强行退出插件在收到这个信息5秒之后窗口会被强制关闭

请稍微遵守以下命名规则如DM+_+msg,这样就可以理解DM系统发出了一个msg事件

多线程库还在拖稿

    //_(:зゝ∠)_表着急
    //用来优化网络io什么的

数据库 拖

     //_(:зゝ∠)_表着急
     //好像不是很有必要的样子

主程序保留关键字
User:用户信息
Config:主程序配置文件
face:用户头像地址
test:测试用

当然可以吧程序的配置文件放在插件内文件夹也可以放在数据库反正咱nodejs不虚

编写插件(`・ω・´)

注意件事情nw.js内核是chrome,所有东西都不需要考虑兼容性问题。

    {
        "name":"插件名称",
        "main":"启动文件",
        "author":"作者",
        "version":"0.0.1",
        window:{
            "transparent":true//窗口透明
        },
        "npm":[{
            "name":"名称"
            "version":"版本"
        }]
    }

package.json注意事项
1.除json外不要包含任何字符 如注释 window 支持属性window属性必须在创建窗口的时候传入,是否透明,窗口图标,最大宽高度什么的 npm暂不支持
由于nw.js 支持node所以允许加载nodejs的模块
本弹幕姬的插件系统比较简单,所有东西都可以自定义自由度较高//(╯‵□′)╯︵┻━┻偷懒就偷懒废话这么多

用到的库

minAjax开源的小巧轻便的ajax框架(有修改)
plugin引用路径src="../../js/minajax.js"
Jquery v3.0.0-beta1前端框架
plugin引用路径src="../../js/jquery.js"

资料ε=ε=(ノ≧∇≦)ノ

NW.js 官方英文文档
Nodejs 官方英文文档
W3C 官方英文文档
Jquery 中文文档

聊天扯淡开发群( ̄3 ̄)


本人常年在线,有任何问题以及意见都可以像我反馈(・∀・) license(`・ω・´)

danmu's code in this repo uses the GUN license

捐助

学生党求点打赏
直播间刷点辣条也好QAQ
注明B站ID或者github ID

About

B站弹幕姬 for NW.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages