MCPcopy Create free account
hub / github.com/OpenAtomFoundation/SmartIDE / checkLogin

Function checkLogin

cli/cmd/connect.go:90–135  ·  view source on GitHub ↗

检查并获取当前登录用户的信息

(cmd *cobra.Command)

Source from the content-addressed store, hash-verified

88
89// 检查并获取当前登录用户的信息
90func checkLogin(cmd *cobra.Command) (currentAuth model.Auth, err error) {
91 //cliRunningEnv := workspace.CliRunningEnvEnum_Client
92 /* if value, _ := cmd.Flags().GetString("mode"); strings.ToLower(value) == "server" {
93 cliRunningEnv = workspace.CliRunningEvnEnum_Server
94 } */
95
96 // 确保登录
97 isLogged := false
98 for !isLogged {
99 // 查找所有的工作区
100 currentAuth, err = workspace.GetCurrentUser()
101 common.CheckError(err)
102
103 if currentAuth != (model.Auth{}) && currentAuth.Token != "" && currentAuth.Token != nil {
104 // 从api 获取workspace
105 err = getServerMenu(currentAuth)
106 if err != nil {
107 if !strings.Contains(err.Error(), "Client.Timeout exceeded while awaiting headers") {
108 common.SmartIDELog.ImportanceWithError(err)
109 common.SmartIDELog.Importance("token 已失效,请重新登录!")
110
111 loginCmd.Run(cmd, []string{currentAuth.LoginUrl})
112 } else {
113 return currentAuth, err
114 }
115
116 } else {
117 isLogged = true
118 }
119 } else {
120 common.SmartIDELog.Importance("运行 connect 命令前,请先登录!")
121
122 loginUrl := ""
123 fmt.Printf("请输入服务端地址(默认为%v):", config.GlobalSmartIdeConfig.DefaultLoginUrl)
124 fmt.Scanln(&loginUrl)
125 if loginUrl != "" {
126 loginCmd.Run(cmd, []string{loginUrl})
127 } else {
128 loginCmd.Run(cmd, []string{})
129 }
130
131 }
132 }
133
134 return
135}
136
137func getServerMenu(auth model.Auth) error {
138 url := fmt.Sprint(auth.LoginUrl, "/api/menu/getMenu")

Callers 1

connect.goFile · 0.85

Calls 5

getServerMenuFunction · 0.85
ImportanceWithErrorMethod · 0.80
ImportanceMethod · 0.80
RunMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected