This commit is contained in:
Daniel 2025-02-06 11:37:44 +08:00
parent 0ba7a47472
commit b6ef8be3d5
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
14 changed files with 47 additions and 12 deletions

View file

@ -297,6 +297,19 @@ func setWorkspaceDir(c *gin.Context) {
}
}
// 检查路径是否在已有的工作空间路径中
pathIsWorkspace := util.IsWorkspaceDir(path)
if !pathIsWorkspace {
for p := filepath.Dir(path); "" != p; p = filepath.Dir(p) {
if util.IsWorkspaceDir(p) {
ret.Code = -1
ret.Msg = fmt.Sprintf(model.Conf.Language(256), path, p)
ret.Data = map[string]interface{}{"closeTimeout": 7000}
return
}
}
}
workspacePaths, err := util.ReadWorkspacePaths()
if err != nil {
ret.Code = -1

View file

@ -341,3 +341,13 @@ func GetAbsPathInWorkspace(relPath string) (string, error) {
func IsAbsPathInWorkspace(absPath string) bool {
return IsSubPath(WorkspaceDir, absPath)
}
// IsWorkspaceDir 判断指定目录是否是工作空间目录。
func IsWorkspaceDir(dir string) bool {
conf := filepath.Join(dir, "conf", "conf.json")
data, err := os.ReadFile(conf)
if nil != err {
return false
}
return strings.Contains(string(data), "kernelVersion")
}