我正在尝试与需要基本访问身份验证的 Web 套接字建立连接(客户端)。从文档中我知道我应该使用带有 base64 加密的用户名和密码。它是 node.js 应用程序,所以我决定使用 npm 包 SockJS-client。这似乎是一个很好的解决方案,因为:
在底层,SockJS 尝试首先使用原生 WebSockets。如果失败,它可以使用各种特定于浏览器的传输协议,并通过类似 WebSocket 的抽象来呈现它们。
但我不知道如何使用基本访问身份验证建立连接。我已经尝试过这里的解决方案,但是这个
var ws = new WebSocket("ws://username:password@example.com/service");
Run Code Online (Sandbox Code Playgroud)
不起作用,我收到如下错误:
语法错误:URL 的方案必须是“http:”或“https:”。'ws:' 是不允许的。
当我尝试使用http/https 时,我得到:
错误:InvalidStateError:尚未建立连接
当我试图打电话时
sock.send('test');
Run Code Online (Sandbox Code Playgroud)
另一个像下面这样的解决方案是不可能实现的,因为我无法访问 Web Socket 的服务器端。
var ws = new WebSocket("ws://example.com/service?key1=value1&key2=value2");
Run Code Online (Sandbox Code Playgroud)
我不知道如何正确建立与 Web Socket 的经过身份验证的连接,如果您知道任何解决方案,请告诉我。
我想更改 Material UI StepIcon 中的文本颜色(实际上是一个 SVG 图标),仅用于活动和已完成的步骤。目前,我成功地为这些步骤更改了图标的颜色。这就是我的MuiTheme现在的样子。
export default createMuiTheme({
overrides: {
MuiStepIcon: {
root: {
'&$active': {
color: styles.myGreen,
},
'&$completed': {
color: styles.myGreen,
},
},
}
},
});
Run Code Online (Sandbox Code Playgroud)
整个步进器看起来像:
Assumings,我想改变的颜色蜱到灰(其表示完成的步骤)和色2号到灰以及(其表示当前激活步骤),同时保持非激活步骤没有变化(白色填充)。
像官方文档一样更改文本的填充属性不会产生任何结果,在开发人员检查器中仍然显示填充等于白色。
我想为整个应用程序应用该样式。
对此有任何提示或解决方案吗?