更新记录
1.0.3(2023-04-21)
websocket链接逻辑优化,掉线重连逻辑优化,结果回调逻辑优化
1.0.2(2023-04-04)
websocket连接、重连逻辑优化、修改bug、删除非必要日志打印
1.0.1(2023-03-16)
插件优化,自己使用过程中重连失败或不自动重连的bug处理
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 12.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
安卓WebSocket连接原生插件
- 支持Android平台使用
- 函数说明
序号 | 函数名称 | 函数说明 |
---|---|---|
1 | connect(String json,callback) | websocket连接函数 |
2 | disconnect() | 断开连接函数 |
-
connect(String json,callback)函数回调结果说明,返回结果中code值见下方code值说明
一、参数1示例: { url: 'ws://http://localhost/:8088/web',//websocket连接地址 protocol: '',//子协议 heartbeatTime: 1000,//心跳时间,默认1000 单位:ms heartbeatContent: { //心跳包内容,key必须使用heartbeatContent,若不传时,默认为{key:value} heartbeatKey: 'heartbeatValue'//key和value请使用者自定义 } } 二、该函数回调结果示例如下 1、连接成功返回:{"code":0,"message":"成功","data":"websocket连接已打开"} 2、心跳包内容发送时返回:{"code":2,"message":"成功","data":"{\"heartbeatKey\":\"heartbeatValue\"}"} 3、调用disconnect()时返回:{"code":-1,"message":"失败","data":"{\"code\":1000,\"reason\":\"主动关闭websocket连接\",\"remote\":false}"} 4、连接失败:{"code":-1,"message":"失败","data":"{\"code\":1002,\"reason\":\"Invalid status code received: 401 Status line: HTTP\\\/1.1 401 \",\"remote\":false}"} 5、收到消息时:{"code":1,"message":"成功","data":"{\"test\":\"测试消息\"}"},code为1时,data对应的就是后台发送的数据
-
code 值说明
序号 code值 说明 1 2 心跳包内容发送 2 1 收到消息,data对应的数据为后台发送的内容 3 0 连接成功 4 -1 连接失败,具体错误信息请查看返回结果中data对应的数据 -
使用示例
<template> <view class="uni-column"> <view class="uni-row"> <button @click="connect()">连接</button> <button style="margin-left: 40rpx;" @click="disconnect()">断开连接</button> </view> <view class="uni-column"> <text style="margin: 20rpx;" v-for="(item,index) in messages">{{item}}</text> </view> </view> </template> <script> const module = uni.requireNativePlugin("jushi-websocket") export default { data() { return { messages: [] } }, methods: { connect() { module.connect({ url: 'ws://http://localhost/:8088/web',//websocket连接地址 protocol: '',//子协议 heartbeatTime: 1000,//心跳时间,默认1000 单位:ms heartbeatContent: { //心跳包内容,key必须使用heartbeatContent,若不传时,默认为{key:value} heartbeatKey: 'heartbeatValue'//key和value请使用者自定义 } }, res => { console.log(res) this.messages.push(res) }) }, disconnect() { module.disconnect() } } } </script> <style> .uni-column { display: flex; flex-direction: column; } .uni-row { display: flex; flex-direction: row; } </style>
-
示例应用下载
其它插件
安卓原生插件
-
UTS插件
-
前端插件