wx.connectSocket在“多账号调试”功能中,虚拟账号的网络http头设置失败
一、问题描述: 在使用微信开发者工具的多账号调试功能时,虚拟账号的窗口中执行的wx.connectSocket函数所传的http头丢失了,(在开发者工具的“网络”调试面板中,就可以看到的http请求头中缺失了所设置的http头)。而主窗口的“网络”调试面板中则是正常存在的。导致虚拟账号发出的websocket握手网络请求http头错误,既然和主窗口是同一套代码,不应该出现此不一致性问题。是个bug,请确认修复! 二、复现步骤: 环境:微信开发者工具版本:1.06.xxx(可能不止此版本)。微信基础库版本:3.4.3。 复现步骤很简单: (1)在随便一个微信小程序的onLaunch函数里,加上如下代码: onLaunch: function () { wx.connectSocket({ url: 'wss://tcb-ws.tencentcloudapi.com', header:{ 'content-type': 'application/json', 'Authorization': 'Bearer aaaa', 'Authorization2': 'Bearer aaaa2' } }); }, (2)然后启动工具菜单中的“多账号调试”,选中一个虚拟账号,点确定打开虚拟账号的窗口。 [图片] (3)分别查看主窗口和该虚拟账号窗口的“网络”调试面板里,所发送的wss://tcb-ws.tencentcloudapi.com这条报文的http请求头,观察是否包含所设置的Authorization': 'Bearer aaaa。结果会发现主窗口里是包含的,而虚拟账号窗口里的则丢失了。 三、预期: wx.connectSocket函数设置的http头,在虚拟账号的窗口中执行的时候,也能像主窗口的一样,不丢失。 四、附录: (1)如下,就是主窗口的,是正常的,http头是在的。 [图片] (2)如下是虚拟账号窗口的,是错误的,所设置的http头丢失了: [图片]