package services import ( "log" "xg_dba/api" "xg_dba/module/remote" "xg_dba/module/toml" ) // 设置连接信息 func SetConnectInfo_service(connectInfo api.ConnectInfoRequest, saveFilePath string) error { // 连接测试 sshClient, err := remote.NewSSHClient(connectInfo.Id, connectInfo.Ssh.Username, connectInfo.Ssh.Password, connectInfo.Ssh.Host, connectInfo.Ssh.Port) if err != nil { log.Println("连接失败", err) return err } defer sshClient.Close() // 将connectInfo存储到本地 //localPath := "./config/" + connectInfo.Ssh.Host + "/" + connectInfo.Ssh.Host + ".toml" if err := toml.CreateFileIfNotExists(saveFilePath); err != nil { log.Println("创建文件失败", err) return err } // 定义组和默认值 groups := map[string]interface{}{ "server": map[string]interface{}{ "Ssh_Ip": connectInfo.Ssh.Host, "Ssh_Port": connectInfo.Ssh.Port, "Ssh_Username": connectInfo.Ssh.Username, "Ssh_Password": connectInfo.Ssh.Password, }, "db": map[string]interface{}{ "Db_Port": connectInfo.Db.Port, "Db_User": connectInfo.Db.User, "Db_Password": connectInfo.Db.Password, "Db_Database": connectInfo.Db.Database, }, "system": map[string]interface{}{}, } if err := toml.CreateTOMLGoups(saveFilePath, groups); err != nil { log.Println("创建文件失败", err) return err } return nil }