实现多账号登录踢出效果
效果图
一、创建websocket监听方法
// websocket.js
export const ws_connect = function (id) {
wx.connectSocket({ // 创建一个 WebSocket 连接
url: `${host}/websocket/${id}`,
fail(err) {
if (err) {
console.log('%cWebSocket连接失败', 'color:red', err)
}
}
})
wx.onSocketOpen(function (res) { // 监听WebSocket连接打开事件。
console.log('WebSocket打开成功');
})
wx.onSocketMessage(function (res) { // 监听WebSocket接受到服务器的消息事件。
console.log('WebSocket接收到消息:', res);
wx.closeSocket();
local.removeSync('token')
local.removeSync('userInfo')
//监听到的数据处理
let data = JSON.parse(res.data)
if (data.type == 1) {
wx.showModal({
title: '提示',
showCancel: false,
content: data.message,
success: function (res) {
if (res.confirm) {
wx.reLaunch({
url: '/pages/login/login',
})
}
}
})
}
})
wx.onSocketError(function (res) { // 监听WebSocket错误。
console.log('WebSocket连接打开失败')
})
wx.onSocketClose(function (res) { // 监听WebSocket关闭。
console.log('WebSocket关闭');
})
}
二、页面中引用
// login.js
import { ws_connect } from '../../utils/websocket'
...
ws_connect(rs.data.id);