更新记录
v2.0.0(2020-01-02) 下载此版本
- 支持typescript
- 修复遗留bug
v1.0.2(2019-12-31) 下载此版本
没啥变化就是不小心写错了使用说明,修改一下
v1.0.1(2019-12-30) 下载此版本
uni-socket
介绍
uni-app的socket完全封装
特点:
- 断线重连
- 自定义心跳
- 网络检测
- 断线消息队列
- debug
安装教程
npm i @i5920/uni-socket -S
使用说明
import uniSocket from "@i5920/uni-socket";
export default {
globalData: {
socket: null
},
onLaunch: function() {
// 初始化socket配置
this.initSocket();
},
onShow: function() {
// 连接socket
this.globalData.socket.initSocket();
},
methods:{
initSocket(){
let socket = new websocket({
url: "ws://127.0.0.1:8080",
timeout: 1 * 60 * 1000, // 心跳时间间隔
isSendHeart: true, // 是否发送心跳
heartData: "ping", // 心跳数据
isReconnection:true, // 是否断线重连
reConnectTime: 3000, // 断线重连检测时间间隔
params: { // 发送消息时如果时json则自动加上组合里面参数
token: this.$store.state.user.TOKEN
},
debug: process.env.NODE_ENV === "development", // debug
onSocketOpen: header => {},
onSocketMessage: data => {},
onSocketError:res => {},
onSocketClose:res => {}
});
this.globalData.socket = socket;
}
}
}
查看更多
平台兼容性
uni-socket
介绍
uni-app的socket完全封装
之所以写这个类,是因为之前用别人的插件总是出现莫名其妙死掉,比如黑屏截屏等操作后就挂了,现在封装的这个目前运行良好,请大家检测
特点:
- 断线重连
- 自定义心跳
- 网络检测
- 断线消息队列
- debug
- 支持typescript
安装教程
npm i @i5920/uni-socket -S
使用说明
import UniSocket from "@i5920/uni-socket";
export default {
onLaunch() {
this.globalData.socket = new UniSocket({
url: "ws://127.0.0.1:8080",
timeout: 1 * 60 * 1000, // 心跳时间间隔
isSendHeart: true, // 是否发送心跳
heartData: "ping", // 心跳数据
isReconnection:true, // 是否断线重连
reConnectTime: 3000, // 断线重连检测时间间隔
params: { // 发送消息时如果时json则自动加上组合里面参数
// token: this.$store.state.user.TOKEN
},
debug: process.env.NODE_ENV === "development", // debug
onSocketOpen: header => {},
onSocketMessage: data => {},
onSocketError:res => {},
onSocketClose:res => {}
});
},
// on Show 在uniapp插件市场不显示?
// 必须在这里调用initSocket方法
on Show() {
// 连接socket
this.globalData.socket.initSocket();
// 登录
this.loginDemo();
},
methods:{
// 发送socket消息
loginDemo(){
this.globalData.socket.sendSocketMessage({
event:"login",
data:{
"username":"okcoder",
"password":"666666"
}
});
},
// 主动关闭socket
closeSocket(){
this.globalData.socket.closeSocket();
}
}
}
// 其它页面
getApp().globalData.socket.sendSocketMessage({
event:"login",
data:{
"username":"okcoder",
"password":"666666"
}
});
赞助二维码