更新记录
1.0.2(2026-09-17)
- iOS deploymentTarget 从 12 提升到 15.0,对齐当前 Xcode 支持范围
- iOS 改为纯 UTS 调用 URLSession,不再混编 Swift 源码
- 修复 URLSessionDataDelegate 参数标签冲突,以及 Int / NSNumber / TimeInterval 类型转换
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。
当前版本 1.0.2。
仅支持 App 端 vue / nvue,不支持 H5、小程序、鸿蒙。Android 最低 8.0(API 26),iOS 最低 15.0。首次使用需制作包含本插件的自定义基座。
iOS 使用 UTS + URLSession 拉流,Android 使用 Kotlin HttpURLConnection。iOS 不要再混编 Swift 源码,新版 Xcode 下 UTS 动态库会链接失败。
使用
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,AndroidusesCleartextTraffic) - iOS 最低部署版本 15.0;请使用包含本插件的自定义基座运行和打包

收藏人数:
购买普通授权版(
试用
使用 HBuilder 导入示例项目
赞赏(0)
下载 544
赞赏 4
下载 12712458
赞赏 1958
赞赏
京公网安备:11010802035340号