更新记录

1.0.1(2026-09-10)

明文 HTTP 改为全局放行

1.0.0(2026-09-10)

首次发布


平台兼容性

uni-app(5.0)

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

uni-app x(5.0)

Chrome Safari Android Android插件版本 iOS iOS插件版本 鸿蒙 微信小程序
× × 8.0 1.0.0 15 1.0.0 × ×

nj-sse-request

iOS / Android 原生 SSE 客户端。uni.request 无法持续接收 text/event-stream,本插件用原生长连接把事件逐条回传给 JS。

仅支持 App 端 vue / nvue,不支持 H5、小程序、鸿蒙。Android 最低 8.0(API 26),iOS 最低 15.0。首次使用需制作包含本插件的自定义基座。

使用

import { startSSE, stopSSE } from '@/uni_modules/nj-sse-request'

const requestId = startSSE({
  url: 'https://example.com/events',
  authorization: 'Bearer token',
  connectTimeout: 15000,
  open: ({ statusCode }) => {
    console.log('connected', statusCode)
  },
  event: ({ event, data, lastEventId }) => {
    console.log(event, lastEventId, data)
  },
  fail: ({ errCode, statusCode, errMsg }) => {
    console.error(errCode, statusCode, errMsg)
  },
  complete: () => {
    console.log('closed')
  },
})

stopSSE(requestId)

页面卸载或不再需要数据时务必调用 stopSSE

API

startSSE(options)

发起 GET 请求,返回 requestId

参数 类型 必填 说明
url string SSE 地址,仅支持 http / https
authorization string 原样写入 Authorization
connectTimeout number 连接超时,单位 ms,默认 15000
open Function 连接成功,{ requestId, statusCode }
event Function 收到一条事件,{ requestId, event, data, lastEventId }
fail Function 失败,{ errCode, errMsg, requestId, statusCode }
complete Function 连接结束(成功、失败、主动停止都会触发)

event 回调里的 data 是原始字符串,需要自行 JSON.parse

stopSSE(requestId)

主动关闭指定连接。

错误码

errCode 说明
9030001 请求地址无效
9030002 网络请求失败
9030003 HTTP 非 2xx
9030004 响应解析失败

说明

  • 仅 GET,不支持 POST body
  • 解析标准 SSE:event / data / id、多行 data、注释心跳、分包
  • 响应必须是 text/event-stream
  • 明文 HTTP 已全局放行(iOS ATS NSAllowsArbitraryLoads,Android usesCleartextTraffic

隐私、权限声明

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

网络权限

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

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

暂无用户评论。