消息推送
机制
底层 socket 通信基于心跳检测 实现消息实时推送与监听。
配置
通过 connect 配置 socket
Tacos.connect({
    appCode: "",
    ...
    socket: {
      url: "ws://192.168.125.193:8083" 
    }
})
通过 sdk 的 createSocket 方法配置
const removeHandler = this.createSocket(
  {
    ...options,
    url: URL.socketUrl(spaceIds.join("-"), context.appCode)
  },
  (body) => {
    callback(body);
  }
);
参考: SocketConfig
拦截
全局拦截
通过 connect 初始化连接时,通过 core 对象注册全局拦截函数
Tacos.connect({ ... }).then(core => {
    // 获取当前上下文Context对象的socket请求拦截器对象
    const interceptor = core.interceptor("websocket");
    // 注入请求拦截回调函数
    interceptor.request(handle);
    // 注入请求响应回调函数
    interceptor.response(handle);
    // 融合其他的socket拦截器实例
    interceptor.merge(socketInterceptor);
})
局部拦截
在 sdk 模块内注册 socket 请求拦截函数
defineSDK({
  setup(){
     // 获取当前模块对象的socket请求拦截器
    const interceptor = this.interceptor("websocket");
     // 注入请求拦截回调函数
    interceptor.request(handle);
     // 注入请求响应回调函数
    interceptor.response(handle);
    ...
    this.createSocket(socketConfig, (body)=>{
        // 响应body
    });
    ...
  }
})