25-0828:go webSocket 服务.md 1.6 KB

现有功能(开箱即用)

  • 多房间聊天室: 通过 /room?room=<房间名> 动态创建/加入房间,彼此隔离。
  • 实时消息广播: 同一房间内消息通过 WebSocket 即时分发。
  • 静态页面与模板: index.html/chat.html 渲染,静态资源在 /static/
  • 昵称: 连接时为生成 clientName (门店端: shop{shopId}{staffId}, 买家端: customer{customId}{userId}), 用于生成客户端的唯一标识,用作唯一标识,进行查找用的

易于扩展的功能(建议优先级)

  • 加入/离开通知与在线人数: 日志记录--用户进入/离开,统计当前在线数。
  • 房间列表与切换: 展示活跃房间、快速切换/创建。

  • 用户自定义昵称: 支持登录前设置昵称,校验重复。

  • 私聊与@提醒: 支持点对点消息、@用户名提醒。

  • 权限与房间控制: 房间密码/邀请制、人数上限、管理员踢人/禁言。

  • 防刷与限流: 消息频率限制、黑名单、基础审核。

  • 断线重连与重发: 心跳保活、掉线自动恢复。

  • 富文本/附件: 表情、Markdown、图片/文件上传(结合后端存储)。

功能项

  1. 目前只要支持发文字与商品,---- 后期可能要支持图片
  2. 无价格和有价格的商城,都放上这个聊天功能 ---- 即要能支持发有价格的商品
  3. redis记录客户已询价(保存一天),key = userId + goodsId
  4. 注意改价格的权限,无越权或无权限可改价格
  5. go 通知接口配置化 ---- 通知分类型,按类型单元进行配置通知接口