|
| 1 | +# Introduction 入门文档 |
| 2 | +入门文档设计为面向有较少 Web 或者 JS 开发经验的开发者们。如果你比较熟悉 Web 开发可以直接阅读 CCL |
| 3 | +的设计文档。 |
| 4 | + |
| 5 | +# 怎么架设 (Deployment) |
| 6 | +架设并开发 CCL 其实不难,首先你要确保你有一个服务器开发环境,比如在本机上安装的 Apache 或者你能访 |
| 7 | +问到的在云端安装的 nginx 等等。请先通过浏览器测试你能正确访问该服务器。如果你在本地开发,请尝试访问 |
| 8 | + |
| 9 | + http://localhost/ |
| 10 | + |
| 11 | +来测试连通性。 |
| 12 | + |
| 13 | +**注意:** 请注意确保你在服务器环境下开发 CCL ,在开发时如果遇到各种资源无法载入,请确保您的地址栏 |
| 14 | +是以 `http:` 或者 `https:` 开头的而不是 `file:` 等等。 |
| 15 | + |
| 16 | +**附加:** 如果你在linux下开发,任何一个静态Web服务器软件都可。Windows下开发的话,仅作为推荐参考 |
| 17 | +可以试试 XAMPP。 |
| 18 | + |
| 19 | +### 正确的下载类库 (Getting CCL) |
| 20 | +Github 有提供以 Zip 方式下载CCL的选项,但是我们不推荐你这样做。正确使用 CCL 二次开发有两种推荐 |
| 21 | +的方法: |
| 22 | + |
| 23 | +- 作为外部库通过 npm 或者 bower 引入: 只需运行 `npm install comment-core-library --save` |
| 24 | + 即可获取最新版的稳定CCL库。通过 `node_modules/comment-core-library/dist/` |
| 25 | + 可以引用需要的文件。 |
| 26 | +- 直接 Clone 下 Git 代码仓库: 通过 `git clone https://github.com/jabbany/CommentCoreLibrary.git` |
| 27 | + 即可 Clone下 CCL 的全代码库。建议把工作目录放到 Web 开发服务器下的子文件夹内,如 `/var/www/` |
| 28 | + 或者 `D:\webroot\htdocs`下之类的。之后进入 CommentCoreLibrary 文件夹, |
| 29 | + 运行 `npm install grunt-cli -g` 和 `npm install` |
| 30 | + (注意:可能需要管理员权限) 即可开始开发 |
| 31 | + |
| 32 | +第一个方式主要用于希望直接挂载 CCL 功能的二次开发,而第二种方式则面向对 CCL 本生的开发有兴趣的人。 |
| 33 | + |
| 34 | +### 正确的引用库 (Embedding CCL) |
| 35 | +CCL编译好的代码在 `dist/` 目录下。有两个文件非常重要: `CommentCoreLibrary.js` 和 `style.css`。 |
| 36 | +这两个分别负责CCL的JS引擎部分和CSS呈现部分,不能省略。相对的还有俩 `.min.js`和 `.min.css` 文件 |
| 37 | +是上述文件的压缩版。压缩版代码都在一行,较不方便对行号调试,建议开发时采用未压缩版,架设时则可以采取 |
| 38 | +压缩版。 |
| 39 | + |
| 40 | +引用方法为,在对应的HTML文件头部添加 |
| 41 | + |
| 42 | + <head> |
| 43 | + ... 其他头部信息 ... |
| 44 | + <link rel="stylesheet" href="dist/css/style.css" /> |
| 45 | + <script src="dist/CommentCoreLibrary.js"></script> |
| 46 | + ... 其他头部信息 ... |
| 47 | + </head> |
| 48 | + |
| 49 | +注意文件路径调整合理。 |
| 50 | + |
| 51 | +之后在相应需要弹幕的位置,放置如下 HTML DOM结构: |
| 52 | + |
| 53 | + <div id='my-player' class='abp'> |
| 54 | + <div id='my-comment-stage' class='container'></div> |
| 55 | + </div> |
| 56 | + |
| 57 | +其中弹幕结构会在 `container` 这个 div 里插入。采用双层嵌套可以允许你的弹幕 container 于实际容器 |
| 58 | +的大小不同,用于实现避开字幕等等功能。 |
| 59 | + |
| 60 | +### 调用API函数 (API Calls) |
| 61 | +调用API目前来说比较容易,在建立好页面dom之后,只要绑定 CommentManager 即可。 |
| 62 | + |
| 63 | + var CM = new CommentManager(document.getElementById('my-comment-stage')); |
| 64 | + CM.init(); // 初始化 |
| 65 | + |
| 66 | +之后 `CM` 实例会提供如下功能: |
| 67 | + |
| 68 | + // 载入弹幕列表 |
| 69 | + var danmakuList = [ |
| 70 | + { |
| 71 | + "mode":1, |
| 72 | + "text":"Hello World", |
| 73 | + "stime":0, |
| 74 | + "size":25, |
| 75 | + "color":0xffffff |
| 76 | + } |
| 77 | + ]; |
| 78 | + CM.load(danmakuList); |
| 79 | + |
| 80 | + // 插入弹幕 |
| 81 | + var someDanmakuAObj = { |
| 82 | + "mode":1, |
| 83 | + "text":"Hello CommentCoreLibrary", |
| 84 | + "stime":1000, |
| 85 | + "size":30, |
| 86 | + "color":0xff0000 |
| 87 | + }; |
| 88 | + CM.insert(someDanmakuAObj); |
| 89 | + |
| 90 | + // 启动播放弹幕(在未启动状态下弹幕不会移动) |
| 91 | + CM.start(); |
| 92 | + |
| 93 | + // 停止播放(停止弹幕移动) |
| 94 | + CM.stop(); |
| 95 | + |
| 96 | + // 更新时间轴时间 |
| 97 | + CM.time(500); |
| 98 | + CM.time(1000); |
| 99 | + |
| 100 | +具体使用的参考可以参考 `demo/tutorial`。内有大部分此示例的代码。 |
| 101 | + |
| 102 | +### 发送弹幕 (Sending Comments) |
| 103 | +CCL自己没有发送弹幕的内建支持,不过实现起来非常轻松。具体实现需要根据自己服务器的需求决定。 |
| 104 | + |
| 105 | +### 实时弹幕 (Realtime Comments) |
| 106 | +参考[推荐的实现方法](DoingItRight.md) |
0 commit comments