taro Websocket 连接时缺失 header Authorization

qkf9rpyu  于 5个月前  发布在  其他
关注(0)|答案(6)|浏览(149)

相关平台

微信小程序

小程序基础库: 2.30.2
使用框架: Vue 3

复现步骤

很简单的步骤:

使用如下代码链接websocket,其中 Authorization 是正常的 ('Bearer ' Taro.getStorageSync('token')) as string 格式

Taro.connectSocket({
	url: this.uri,
	header: {
		Authorization: this.token
	}
}).then(task => {
	console.log('获得task', task.readyState);
	this.task = task;
	this.creatListener();
});

期望结果

在小程序自带的网络监控里,Websocket链接的header之中有 Authorization 这个字段和值。

实际结果

时而有,时而没有。

环境信息

Taro CLI 3.6.2 environment info:
    System:
      OS: Windows 10
    Binaries:
      Node: 14.19.0 - C:\Program Files\nodejs\node.EXE
      Yarn: 1.22.19 - F:\SDK_ALL\yarn\bin\yarn.CMD
      npm: 6.14.16 - C:\Program Files\nodejs\npm.CMD

补充信息

我尝试过以下方法:

  1. 重启小程序
  2. 重启系统
  3. 反复更改代码,使用了各种 Object.assign() 等方法。
  4. 手动将 Authorization 设置成字符串,在设置成对象类型,就是给header中的 Authorization 加一个双引号。

其中方法4有明显作用,但我总不能一直这样吧?

mzillmmw

mzillmmw1#

如果不能理解,请参考以下两张图片:

fsi0uk1n

fsi0uk1n2#

好像是微信开发者工具的问题 我也遇到了

tp5buhyn

tp5buhyn3#

我这里也遇到了,请问可以怎么解决?

s4chpxco

s4chpxco4#

升级到3.6.22之后也有问题

jq6vz3qz

jq6vz3qz5#

好像是微信开发者工具的问题 我也遇到了

我用vscode编译的,h5页面也会有这个问题

wd2eg0qa

wd2eg0qa6#

好像是微信开发者工具的问题 我也遇到了

我用vscode编译的,h5页面也会有这个问题

我这边微信小程序已经确定时开发者工具的问题 微信开发者工具更新后 已经解决了, h5的你可以去看下源码在h5 里时怎么调用的 你用原生代码调用下看看 应该不是taro 的问题

相关问题