这个项目是在服务器里对网页进行录制
- 在客户端记录下用户操作,在服务端进行复现并录制下来
- 记录下指定网页的任何变化
- 如果有客户端录制的功能,则可以减少客户端的电脑要求
- 针对标签页进行录制,所以刷新网页、跳转也可以记录下来
- 也可以记录下网页的声音,即使你的服务器上没有声卡也可以
- 完善的崩溃、错误处理机制
- 可以对状态增加自己的代码,而且十分的方便
- 支持
Chrome 远程协议调试
和VNC
调试
docker run -dit -P --name rebirth_alo7 -v `pwd`/rebirth_alo7/logs:/etc/www/logs -v `pwd`/rebirth_alo7/video:/root/Downloads -e MATERIAL_URL="https://www.alo7.com/en/" -e START_VNC="yes" alo7docker/rebirth
在网页加载完毕后,将会注入一些api,供网页使用
// 初始化API (5分钟内如果没有调用,则认为任务失败),确保网页可以正常打开。
rebirth.init();
// 开始进行录制
rebirth.start();
// 暂停录制
rebirth.pause();
// 恢复录制
rebirth.resume();
// 结束录制
rebirth.stop('filename');
// 录制失败
rebirth.fail();
// 设置额外信息,最终信息交付给你自定义的代码
rebirth.setExtraInfo({
foo: 'bar'
});
它们在 Dockerfile
里定义的
MATERIAL_URL
: 要录制的url
,默认值是https://github.com/
START_VNC
: 是否开启VNC
,开启为yes
,默认值是no
VNC_PASSWORD
:VNC
连接密码,默认值为rebirth
MAX_RECORD_TIME
: 当前录制的最大时间是多少,单位毫秒,默认值为7200000
(两小时)
在 src/hooks
目录里,新建文件为 index.js
,格式如下:
module.exports = {
/**
* 完成录制后触发
*
* @param {Object} data - 客户端请求主体
* @return {void | string | Object | number | boolean | Function | Promise.resolve}
*/
completeRecordAfter: (data) => {
console.log(data);
return true;
},
// 录制失败后触发
// 参数和 completeRecordAfter 相同
failAfter: () => {},
};
感谢这些了不起的人:
Black-Hole 💻 🤔 |
pandan-12 🐛 |