微信小程序的 websocket 不提供标准的 websocket 接口,我们必须通过 wx.connectSocket 之类的接口以及 SocketTask 类型来进行 websocket 的操作。
一个常用的 graphql 库是 apollo,但是 apollo 提供的 WebSocketLink 需要一个符合 websocket 标准的类。
于是我基于 apollo 自己的 SubscriptionClient,以及 WebSocket 的标准,写了一个可以被 apollo 使用的 graphql subscription client 。
代码在 github 里
https://github.com/functorz-tech/wx-apollo-subscription-client