1、根目录创建socket.js文件:
var websocket = weex.requireModule('webSocket')
var connect = function() {
websocket.WebSocket('ws://192.168.31.250:8081/ws', '');
websocket.onopen(function(e) {
console.log('websocket已经打开');
});
websocket.onmessage(function(e) {
uni.$emit("onMsg"+e.data.status,e)
});
websocket.onerror(function(e) {
console.log("异常:" + JSON.stringify(e.data));
// console.log(e.data);
});
websocket.onclose(function(e) {
// console.log( '');
console.log('连接已经关闭');
// console.log( e.code);
});
}
function cls(){
websocket.close();
}
export default {
cls,
connect
}
2.1、App.vue中引入:
import sockect from "socket.js"
2.2:onShow中调用:
sockect.connect()
2.3:onHide中删除:
sockect.cls()
3:各个页面中:
index.vue中:
uni.$on('onMsg1', function(data) {
console.log('监听到事件来自 update ,携带参数 msg 为:' + JSON.stringify(data));
})
user.vue中:
uni.$on('onMsg2', function(data) {
console.log('监听到事件来自 update ,携带参数 msg 为:' + JSON.stringify(data));
})
每个页面都监测一个不同的方法,方法名只是最后一个数字变了,让后台传数据时再传个状态值指明调用哪个方法的末尾值,这样就达到了全局的效果
4 个评论
要回复文章请先登录或注册
jonychen1
2***@qq.com (作者)
2***@qq.com
2***@qq.com (作者)