该页面主要功能为在 app 内直播间或者短视频分享到外部浏览器打开的宣传页面,可在 web 端观看分享的直播或者短视频;直播间内的 IM 聊天采用的是自研 web端 IM 工具包;
开发叙述:
● 主要的技术栈有 zepto、TcPlayer、sass、es6、websocket、axios等;
● 由于项目是在海外使用的,加载会比较慢,所以页面使用原生开发方式;
● 难点:IM 聊天的场景设计方面; 比如:
1.网络较差的时候消息的消费情况、
2.消息传输的安全性、
3.用户在线状态等;
● 解决难点:
1.网络较差的情况下消息无法消费或延迟处理 - 考虑到用户体验,消息发送时长超过5秒则认定为失败,此时会在消息队列中移除并告知用户(网络异常发送失败);
2.为保证每次发送出去的消息和接收到的消息为同一条,每次发送前会给消息塞一个 uuid 并保存,接收时根据之前的 uuid 过滤消息;
3.用户在线状态采用的是每隔5秒给服务器发送一个心跳包,服务器若再x秒后无收到心跳包则认定用户为离线;
点击空白处退出提示
评论