开发私信对话遇到的问题

1.前端实现消息对话实时更新

当时这个问题是这么解决的,每两秒请求更新一次数据,每次更新数据增加10条请求的条数size,
将后10条新的数据插入到上一次接收到的列表数据中,并在updated周期钩子中将消息位置定位到底部,当页面离开时在beforeDestroy清除定时器。


image.png
2.局部更新消息数据

因为是医患对话包含订单电话等,私信的消息种类有很多,大致分为:系统消息,时间消息,文字消息,图片消息,订单消息,完成状态消息,电话拨打消息,取消消息等,底部还有很多工具栏。如果我在工具栏或者消息栏去拨打或者确定一个订单,怎么做到不刷新列表的情况下更新数据呢?

在消息列表中操作一条信息很简单触发事件绑定上index然后改变这条数据就行了,但是在工具栏拿不到index,这个时候怎么办呢。。这个时候显然index已经行不通了,这时需要去查最新一条数据把最新数据的id拿到然后去实现相关操作业务。

3.编写输入框自动滚动

编写输入框的时候需要实现输入4行内编辑框高度自动往下滚动,4行后固定高度,并友好展示4行,这个问题不是很好处理,当时是写了一个简单编辑器,首先需要固定编辑框最大高度并设置内容超出自动滚动,监听输入内容的高度,当scrollHeight小于某个值时获取滚动高度,将编辑框高度替换成滚动高度scrollHeight。

$.each($(".autoEdit"), function(i, n){
        if(val==""){
          $(n).css("height", 36 + "px");
        }else{
          console.log(n.scrollHeight);
          if(n.scrollHeight<= 90){
            $(n).css("height", n.scrollHeight + "px");
          }
        }
      });

#######还有一个问题是私信列表数据很多的时候,安卓屏幕上滚动的不是很顺畅。加入样式滚动回弹-webkit-overflow-scrolling:touch;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Windows 常用消息大全 表A-1 Windows消息分布 消息范围说 明 0 ~ WM_USER – 1系统...
    北风知我意阅读 2,095评论 0 0
  • 海尔集团CEO张瑞敏演讲:人不成熟的几大特征! 人成熟与不成熟跟年龄没有关系,人成熟不成熟,就是你能不能站在...
    能照阅读 335评论 1 1
  • 因茶爱上紫砂壶,也因紫砂壶喜欢上喝茶。繁多的茶器中,唯独衷爱宜兴紫砂壶。 "人间珠玉安足取,岂如阳羡溪头一丸土" ...
    行走皖中人阅读 576评论 2 2
  • 序 本文主要小结一下artemis的一些知识点 artemis知识点 消息模型 它实现了mqtt、aqmp、sto...
    go4it阅读 345评论 0 0
  • 父皇诧异的目光终于停留到了我的身上,他一定不曾想到这个默默无名的老九竟然会主动请缨。 那天我得到了一个特权,能够在...
    南山主松阅读 774评论 8 25