1Panel-dev / webkubectl

Run kubectl command in Web Browser.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

请教如何改造你源码前端部分,现在有一个需求:需要在 terminal 终端里传入一个 username 参数,确定当前是哪个用户正在操作终端。

shiwanjun1995 opened this issue · comments

commented
commented

前端的js文件在这里:https://github.com/KubeOperator/webkubectl/blob/master/gotty/resources/index.js
找到 $scope.connect 方法,具体内容你一看就知道了。

commented

20230506101309_rec_
是的,这里的确能够查看到前端部分的代码,但是我需要改造的部分是在websocket长链接部分,。
场景:用户进入终端,在连接终端的时候去传递username参数,以便能够确定当前用户,就是ws链接部分多去追加一个参数username,然后这个参数是外界传递的。
大致思路?:在 https://github.com/KubeOperator/webkubectl/blob/master/gotty/resources/index.js 第44行,追加一个 '''terminal?token=xxx&username=xxx',然后再在webtty.ts这个文件里面做一些参数的接收逻辑。
建议:webtty.ts 文件内,AuthToken 这个参数貌似没有什么实质性的用处,是否可以删除?
截屏2023-05-06 上午10 45 06

commented

在main.ts中,建立ws连接时,可以传入args,这个参数可以是你任意追加的参数,例如username。
image
然后在handlers.go的128行可以获取到所有参数,包括传入的username,你可以在这里做相应的处理。不用在webtty.ts写接收逻辑。