需求说明
根据保监会要求,互联网保险业的用户操作要可追溯。这就需要软件在用户操作的适合,记录用户的行为轨迹,并保存为文件,以便将来查询。
用户操作
用户一般在手机等移动设备上进行操作,因此这种要求更多体现在移动端。
实现方式
移动端的APP一般是原生APP或者H5页面形式,有两种实现思路。
一种是录屏,如果不能直接录屏,可以采用截屏的方式进行。但是这种方式,用户的信息安全不能够保证,因为用户输入密码时,也会被录制下来;
一种是只记录用户的操作轨迹,只关注屏幕的变化。这种方式比较安全,但是用户是否使用其他工具或者软件就无法得知。但是个人认为这种方法更好。
下面主要讲述第二种方式,这种方式主要在H5中实现。
实例
实现:
首先,应用rrweb。
样式:
代码实现:
let events=[];
//开始录制
function beginRec(){
alert(“开始录制了”);
rrweb.record({
emit(event){
console.log(event);
events.push(event);
},
});
}
//播放
function playLocal(){
alert(‘把屏幕向下滑,看效果’);
new rrwebPlayer({
target: document.getElementById(“divPlay”), // 可以自定义 DOM 元素
data: {
events,
},
});
}
全部代码:
</head>
<body>
<header>
<h3>录屏Demo</h3>
</header>
<section>
<article>
点击开始录制,软件自动录制用户操作。
<p>
点击播放,播放用户操作痕迹。
</article>
<form>
<input type="button" onclick="beginRec()" style="width:80px;" value="开始录制"></input>
<br>
<label>姓名:</label><input id="name">
<br>
<label>地址:</label><input id="address">
<br>
<label>时间:</label><input type="date" id="dtime">
<br>
<input type="button" id="play" onclick="playLocal()" value="播放"></button>
</form>
<div id="divPlay">
</div>
</section>
<script src="https://cdn.jsdelivr.net/npm/rrweb@latest/dist/rrweb.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/rrweb-player@latest/dist/index.js"></script>
<script>
let events=[];
//开始录制
function beginRec(){
alert("开始录制了");
rrweb.record({
emit(event){
console.log(event);
events.push(event);
},
});
}
//播放
function playLocal(){
alert('把屏幕向下滑,看效果');
new rrwebPlayer({
target: document.getElementById("divPlay"), // 可以自定义 DOM 元素
data: {
events,
},
});
}
</script>
</body>