一、问题描述:
在使用微信开发者工具的多账号调试功能时,虚拟账号的窗口中执行的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头丢失了:
几个月了,没人理?