config(common): 添加 WebSocket 总开关配置
- 新增 WS_ENABLED 常量作为 WebSocket 总开关 - 在 connect 方法中检查开关状态,关闭时不发起连接 - 在 send 方法中检查开关状态,关闭时不发送消息 - 添加详细注释说明开关的作用和使用方式
This commit is contained in:
@@ -11,6 +11,16 @@ import client, { API_HOST } from './api'
|
|||||||
// SDK 具名导出的连接类(绕开 client.ChatWebSocket 方法内部使用的浏览器 API)
|
// SDK 具名导出的连接类(绕开 client.ChatWebSocket 方法内部使用的浏览器 API)
|
||||||
import { ChatWebSocketConn } from 'HaveADrink'
|
import { ChatWebSocketConn } from 'HaveADrink'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WebSocket 总开关
|
||||||
|
* 当前私信实时通道暂未启用,置为 false:
|
||||||
|
* - connect() 直接返回,不会发起任何 socket 连接/重连
|
||||||
|
* - send() 直接返回,不暂存消息
|
||||||
|
* - on()/off()/disconnect() 仍可安全调用(空操作),各页面无需改动
|
||||||
|
* 需要恢复实时通信时,将此值改为 true 即可。
|
||||||
|
*/
|
||||||
|
const WS_ENABLED = false
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自行解析 host 并构造 ChatWebSocketConn
|
* 自行解析 host 并构造 ChatWebSocketConn
|
||||||
* SDK 的 client.ChatWebSocket() 内部使用 new URL() / new URLSearchParams(),
|
* SDK 的 client.ChatWebSocket() 内部使用 new URL() / new URLSearchParams(),
|
||||||
@@ -57,6 +67,7 @@ class WebSocketManager {
|
|||||||
* @param {string} token - 用户认证 token
|
* @param {string} token - 用户认证 token
|
||||||
*/
|
*/
|
||||||
connect(token) {
|
connect(token) {
|
||||||
|
if (!WS_ENABLED) return
|
||||||
if (this.conn || this.isConnecting) return
|
if (this.conn || this.isConnecting) return
|
||||||
this.token = token || uni.getStorageSync('auth_token') || ''
|
this.token = token || uni.getStorageSync('auth_token') || ''
|
||||||
if (!this.token) {
|
if (!this.token) {
|
||||||
@@ -149,6 +160,7 @@ class WebSocketManager {
|
|||||||
* @param {object} data - 消息数据
|
* @param {object} data - 消息数据
|
||||||
*/
|
*/
|
||||||
send(mesgType, data = {}) {
|
send(mesgType, data = {}) {
|
||||||
|
if (!WS_ENABLED) return
|
||||||
if (this.isConnected && this.conn) {
|
if (this.isConnected && this.conn) {
|
||||||
this._write(mesgType, data)
|
this._write(mesgType, data)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user