当前位置: 首页 > news >正文

【即时通讯】轮询方式实现

技术栈

  • LayUI、jQuery实现前端效果。
  • django4.2、django-ninja实现后端接口。
    代码仓 - 后端
    代码仓 - 前端

实现功能

  • 首次访问页面并发送消息时需要设置昵称
  • 发送内容为空时要提示用户不能发送空消息
  • 前端定时获取消息,然后展示在页面上。

效果展示

  • 首次发送需要设置昵称
    在这里插入图片描述
  • 发送消息与消息展示
    在这里插入图片描述
  • 提示用户不能发送空消息
    在这里插入图片描述

后端接口

  • 发送消息
DB = []
@router.post("/poll/send/message")
def send_message_api(request: WSGIRequest, message: MessageSchema) -> JsonResponse:"""轮询通讯接收消息接口:param request: WSGIRequest:param message: MessageSchema:return: JsonResponse"""message_info = message.dict()DB.append(message_info)return JsonResponse({"ok": True})

在这里插入图片描述

  • 获取消息
@router.get("/poll/get/messages")
def get_messages_api(request: WSGIRequest, startIndex: int) -> JsonResponse:"""轮询通讯获取消息接口:param request: WSGIRequest:param startIndex: int 上次获取聊天记录的最后位置"""context = {"data": DB[startIndex:],"maxIndex": len(DB)}return JsonResponse(context)

在这里插入图片描述

http://www.lryc.cn/news/437748.html

相关文章:

  • Flock 明牌空投教程
  • 项目内部调用的远程接口开发
  • 影响IP代理池稳定性的因素有哪些?
  • 基于Prometheus和Grafana的现代服务器监控体系构建
  • 原生 input 中的 “type=file“ 上传文件
  • 【Unity新闻】Unity的产品命名变化
  • 《PostMan(一):配置全局令牌》
  • 如何理解Configurational entropy
  • H5端接入萤石监控
  • SSD1306 OLED显示屏驱动方案简介
  • React18快速入门
  • Day11笔记-字典基本使用系统功能字典推导式
  • Ribbon (WPF)
  • 解锁编程潜力,从掌握GitHub开始
  • HTML转义字符对照表
  • 【zabbix监控软件(配置及常用键值)】
  • 98、RS485全自动收发电路入坑笔记
  • 单机快速部署开源、免费的分布式任务调度系统——Apache DolphinScheduler
  • 【运维监控】Prometheus+grafana监控zookeeper运行情况
  • 【C++二分查找】2560. 打家劫舍 IV
  • 位段、枚举、联合
  • golang学习笔记15——golang依赖管理方法
  • Linux 挂载磁盘与开机自动挂载操作指南
  • 『功能项目』单例模式框架【37】
  • 【计算机网络 - 基础问题】每日 3 题(三)
  • SpringCloud Nacos
  • 机器学习算法详细解读和python实现
  • 【Linux】Linux权限历险记---组和用户的关系
  • 华为HCIA、HCIP和HCIE认证考试明细
  • C++数据结构