Pour utiliser WebSocket pour les opérations d'abonnement dans l'applet WeChat, vous pouvez wx.connectSocket
créer une connexion WebSocket via la méthode et effectuer l'abonnement et le traitement des données via les fonctions de traitement d'événements associées.
Voici un exemple de code qui illustre l'utilisation de WebSocket pour l'abonnement dans l'applet WeChat :
Créer une connexion WebSocket
wx.connectSocket({
url: 'wss://your-websocket-url',
success: function() {
console.log('WebSocket 连接创建成功');
},
fail: function(err) {
console.error('WebSocket 连接创建失败', err);
}
});
Écoutez l'événement d'ouverture de connexion WebSocket
wx.onSocketOpen(function() {
console.log('WebSocket 连接已打开');
// 发送订阅消息
wx.sendSocketMessage({
data: 'subscribe',
success: function() {
console.log('订阅消息发送成功');
},
fail: function(err) {
console.error('订阅消息发送失败', err);
}
});
});
Écoutez l'événement de message que WebSocket reçoit du serveur
wx.onSocketMessage(function(res) {
console.log('收到服务器的消息', res.data);
// 处理接收到的消息
var message = JSON.parse(res.data);
// 在这里可以进行相应的数据处理和展示
});
Écoutez les événements d'erreur WebSocket
wx.onSocketError(function(err) {
console.error('WebSocket 连接发生错误', err);
});
Écoutez les événements de fermeture de connexion WebSocket
wx.onSocketClose(function() {
console.log('WebSocket 连接已关闭');
});
Dans le code ci-dessus, nous utilisons d'abord wx.connectSocket
la méthode pour créer une connexion WebSocket et effectuer le traitement correspondant dans les fonctions de rappel de réussite et d'échec. Ensuite, wx.onSocketOpen
écoutez l'événement d'ouverture de connexion WebSocket et envoyez un message d'abonnement une fois la connexion établie. Ensuite, wx.onSocketMessage
l'événement de message du serveur est reçu en écoutant WebSocket et le message reçu est traité dans la fonction de rappel. Enfin, écoutez les événements d’erreur et de fermeture de connexion via wx.onSocketError
et .wx.onSocketClose
Notez que vous devez 'wss://your-websocket-url'
remplacer par l'adresse réelle de votre serveur WebSocket. Dans le même temps, en fonction des besoins réels, vous pouvez également effectuer le traitement et l'affichage des données correspondants en fonction des messages reçus.
Encapsulé en tant que WebSocketClient
Si vous souhaitez encapsuler l'utilisation de WebSocket dans une classe JavaScript pour la réutiliser et la gérer à plusieurs endroits, vous pouvez vous référer à l'exemple de code suivant :
class WebSocketClient {
constructor(url) {
this.url = url;
}
connect() {
wx.connectSocket({
url: this.url,
success: () => {
console.log('WebSocket 连接创建成功');
},
fail: (err) => {
console.error('WebSocket 连接创建失败', err);
}
});
wx.onSocketOpen(() => {
console.log('WebSocket 连接已打开');
this.subscribe();
});
wx.onSocketMessage((res) => {
console.log('收到服务器的消息', res.data);
this.handleMessage(res.data);
});
wx.onSocketError((err) => {
console.error('WebSocket 连接发生错误', err);
});
wx.onSocketClose(() => {
console.log('WebSocket 连接已关闭');
});
}
subscribe() {
wx.sendSocketMessage({
data: 'subscribe',
success: () => {
console.log('订阅消息发送成功');
},
fail: (err) => {
console.error('订阅消息发送失败', err);
}
});
}
handleMessage(data) {
// 处理接收到的消息
var message = JSON.parse(data);
// 在这里可以进行相应的数据处理和展示
}
}
// 使用示例
var websocket = new WebSocketClient('wss://your-websocket-url');
websocket.connect();
Dans le code ci-dessus, nous avons créé une WebSocketClient
classe JavaScript nommée qui constructor
reçoit l'adresse du serveur WebSocket en tant que paramètre via la méthode et la stocke en tant que propriété d'instance. Ensuite, la méthode est définie connect
pour créer une connexion WebSocket et effectuer le traitement des abonnements et des messages dans la fonction de gestion des événements correspondante. Dans le même temps, nous avons également ajouté subscribe
des méthodes d'envoi de messages d'abonnement et handleMessage
des méthodes de traitement des messages reçus.