关键词:一对多实现, 私有白板向老师端传图片数据, array_reduce
一、私有白板向老师端传图片数据
1.1 服务器运行平台
老师端:https://123.57.206.36:9100/demos/index.html?roomid=888
学生一:
学生二:
学生三:
1.2 UI图
1.3 学生端iframe发消息向老师端
发现学生和老师发消息时,有点问题,老提示studentId未定义。修改后如下:
if(typeof event.extra == 'object'&& event.extra.studentId != undefined){
//动态加载学生头像
studentId=event.extra.studentId;
console.log('studentId',studentId);
userAvatar=event.extra.userAvatar;
if($.inArray(studentId, studentIdArray)<=-1){
//动态追加学生头像
$("#studentIdSet").append(" <div><imgsrc="+userAvatar+" width='30px';height='30px'></div>");
//把学生id追加到数组中,供下次判断
studentIdArray.push(studentId);
}
}
注:这个限制表明,老师向学生发消息时,不会走这个判断,因为老师向学生发消息的格式如下:
学生向老师发消息,会走这个,但因为里面没有return,会接着向下走,我之前写的代码里面有return就不成,如下:
这样的话,学生发消息,老师收不到。因为进了这个判断就return掉了。
1.4 怎么获取私有白板的DataURL
现在获取的是当学生共享白板上的DataURL,如下:
但现在要求的是获取私有白板上的DataURL,如下:
二、php
2.1 PHP array_reduce() 函数
1)定义和用法
array_reduce() 函数发送数组中的值到用户自定义函数,并返回一个字符串。
注释:如果数组是空的或者初始值未传递,该函数返回 NULL。
2)语法
array_reduce(array,myfunction,initial)
3)看个例子一如下:
带 initial 参数:
注:有个自带的参数,返回一个按自定义函数生成的字符串。
4)看个例子二如下:
注:上述中的第三个参数(本例中为:5)表示发到自定义函数中处理的第一个值。
5)看个例子三如下:
注:如果第三个参数没有的话,返回结果中先出现连接符,其实是为了连接第三个参数准备的。
2017年2月24日星期五