当前位置:   article > 正文

如何实现web端的对话聊天功能_web服务器怎么实现聊天功能

web服务器怎么实现聊天功能
1、如何实现滚动条始终居于底部?
  1. //设置滚动条到最底部
  2. const scrollBottom = () => {
  3. //nextTick的作用是等到更新页面后再设置滚动条到最底部,避免对话数据未更新导致始终滚动到倒数第二行
  4. nextTick(() => {
  5. info.value.scrollTop = info.value.scrollHeight;
  6. });
  7. };
2、如何实现持久化本地存储消息?
  1. localStorage.setItem("messages", JSON.stringify(messages.value));
  2. messages.value = JSON.parse(localStorage.getItem("messages") as string);
3、回车键输入input时,ctrl+enter换行,enter不换行?
  1. //ctrl+enter换行,enter不换行
  2. const handelEnter = (event?: any) => {
  3.  if (event.ctrlKey && event.keyCode === 13) {
  4.    //ctrl+enter
  5.    input.value += "\n";
  6.    return true;
  7. } else if (event.keyCode === 13) {
  8.    //enter
  9.    event.preventDefault(); // 阻止浏览器默认换行操作
  10.    return false;
  11. }
  12. }
4、如何定时清空对话内容?

        通过每条消息的time进行判断,当打开页面的时间戳减去最后一条消息的时间戳的值大于一个 月的时间戳,就清空对话内容,否则,直接获取对话内容,展示在页面上。

  1. const initMessages = () => {
  2.  if (store.messages !== null) {
  3.    const storeMessages = store.messages;
  4.    const timestamp = new Date().getTime() - storeMessages[0]?.time;
  5.    // 超过一个月时清除对话内容
  6.    if (timestamp >= 2592000000) {
  7.      localStorage.removeItem("messages");
  8.      localStorage.setItem("messages", JSON.stringify(messages.value));
  9.   } else {
  10.      //页面创建时获取对话内容
  11.      messages.value = store.messages;
  12.   }
  13. }
  14.  scrollBottom();
  15. };

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号