更新记录

1.2.0(2026-11-05)

  • 首发:聊天界面组件(文本/图片消息、发送状态机、历史分页)+ 会话列表组件(未读角标/置顶)。
  • DFA 敏感词过滤钩子 + WebSocket 服务端参考实现(token 鉴权/消息路由/ACK/离线拉取)。
  • 深度增强:消息排序双去重与离线消息合并、失败自动重发(指数退避,无轮询)、本地搜索(Pro)、长会话尾部渲染窗口与智能置底(性能免费)、历史分页闭环、草稿持久化、消息搜索跳转、长按气泡菜单(复制/重发/撤回/删除,Pro)。

平台兼容性

uni-app(4.0)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× √ √ √ × × √ √ ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
√ √ × × × × × × × × × ×

轻量 IM 会话组件 Pro(zl-im-lite)

简介

uni-app 轻量 IM 套件:聊天界面组件(文本/图片消息、发送状态机、历史分页)+ 会话列表组件(未读角标/置顶)+ DFA 敏感词过滤钩子(内容合规)+ WebSocket 服务端参考实现(token 鉴权/消息路由/ACK/离线拉取)。纯自研 UI、不捆绑第三方 IM SDK,接入方使用自有服务端。

功能特性

  • 长会话渲染窗口:只渲染最近 20 条 + 上拉扩窗,长会话首屏不卡(免费提供)
  • 智能置底:翻历史时不被新消息强制拉到底,改显示「N 条新消息 ↓」
  • 历史分页闭环:本机窗口展开 + loadHistory 事件 + appendHistory() 服务端回填
  • 草稿保存(Pro):按会话隔离,切换会话/重进不丢失
  • 消息搜索跳转(Pro):全部命中、关键词高亮、点击定位原消息
  • 长按菜单:复制 / 重发 / 撤回(2 分钟窗,Pro,需服务端联动)/ 删除
  • 消息排序双去重:本地 id + serverId,弱网重连不重复、不乱序
  • 失败自动重发(Pro):指数退避 + 最大次数 + 单次定时器驱动,无轮询唤醒
  • 离线消息合并(Pro):补发与本机缓存完整归一
  • 本地消息搜索(Pro):大小写不敏感、命中片段高亮、零数据上传
  • 未读统计:角标 99+、未读会话数
  • 图片懒加载与加载失败占位、时间分栏友好文案(今天/昨天/日期)
  • 聊天界面:文本/图片、发送状态机(发送中/成功/失败可重发)
  • 会话列表:未读角标、置顶
  • DFA 敏感词过滤钩子(内容合规)
  • WebSocket:断线重连、心跳探活、ACK 超时重发
  • 本地消息缓存与未读持久化
  • 服务端参考实现(Node + ws)

平台兼容

App-Android、App-iOS、H5、微信小程序(需部署配套 Node 服务端)

快速上手

import { createChat, ChatPanel, ConversationList } from '@/uni_modules/zl-im-lite'
const chat = createChat({ url: 'wss://your-server/ws', token: 'user-token' })
chat.send({ to: 'uid', text: 'hi' })   // ACK 超时自动重发

在页面中直接使用 <ChatPanel /> 与 <ConversationList /> 组件。

服务端部署

依赖 ws;复制 server/im-reference.js,启动 WebSocket 服务,实现 token 鉴权、消息路由、ACK 与离线拉取。

合规声明

聊天内容仅存储于接入方自有服务端;本地缓存聊天记录(用户可清除);接入方为内容安全责任主体,请配置敏感词词库与合规审核(插件内置 DFA 过滤入口)。

常见问题

  • Q:发消息显示成功但对方没收到? A:检查 ACK 与重连;服务端需正确回 ACK。
  • Q:换号不重连? A:已修复换号触发重连;确认 token 更新后调用 chat.reconnect()。

更新说明

1.0.0 首发:会话组件、重连/ACK、未读、敏感词过滤、服务端参考。 1.1.0 深度增强:消息排序双去重、离线消息合并、失败自动重发(指数退避)、本地消息搜索(Pro)。 1.2.0 深度交互与性能:长会话尾部渲染窗口、智能置底与"N 条新消息"提示、草稿持久化、历史分页闭环、搜索跳转、长按菜单(复制/重发/撤回/删除)、时间分栏友好文案。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

相册/相机(仅用户主动发送图片时调用官方选择接口)。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不收集、不上传任何用户数据至插件作者;聊天内容仅存储于接入方自有服务端。敏感词过滤在本地执行,词库由接入方自行配置。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

暂无用户评论。