数据源管理优化

This commit is contained in:
lizemin
2024-05-09 11:50:12 +08:00
parent d58ff64d90
commit daea60f20f
4 changed files with 62 additions and 6 deletions

View File

@@ -53,7 +53,7 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item prop="address" label="连接地址"> <el-form-item v-if="isShowUrlAndPort()" prop="address" label="连接地址">
<el-input v-model="createform.address" auto-complete="off" @blur="changeUrl()" style="width:20%" <el-input v-model="createform.address" auto-complete="off" @blur="changeUrl()" style="width:20%"
placeholder="请输入数据源连接地址"></el-input> placeholder="请输入数据源连接地址"></el-input>
/ /
@@ -61,7 +61,7 @@
placeholder="Port"></el-input> placeholder="Port"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="databaseName" label="数据库名" style="width:24%"> <el-form-item v-if="isShowDatabaseName()" prop="databaseName" label="数据库名" style="width:24%">
<el-input v-model="createform.databaseName" auto-complete="off" @blur="changeUrl()" <el-input v-model="createform.databaseName" auto-complete="off" @blur="changeUrl()"
placeholder="请输入数据库名"></el-input> placeholder="请输入数据库名"></el-input>
</el-form-item> </el-form-item>
@@ -145,7 +145,7 @@ export default {
password: "", password: "",
sample: "", sample: "",
url: "", url: "",
oldUrl: "", templateUrl: "",
}, },
rules: { rules: {
name: [ name: [
@@ -237,7 +237,57 @@ export default {
}); });
}, },
changeUrl: function () { changeUrl: function () {
console.log('') var params = this.createform.url.split("?");
var turl = this.createform.templateUrl
var flag = false
if (Object.keys(this.createform.address).length > 0){
// address
var address = this.createform.address
turl = turl.replaceAll("{host}",address)
flag = true
}
if (Object.keys(this.createform.port).length > 0){
// port
var port = this.createform.port
turl = turl.replaceAll("{port}",port)
flag = true
}
if (Object.keys(this.createform.databaseName).length > 0){
// databaseName or filePath
var databaseName = this.createform.databaseName
turl = turl.replaceAll("{database}",databaseName)
turl = turl.replaceAll("{file}",databaseName)
flag = true
}
if (flag){
if (Object.keys(params).length > 1){
this.createform.url = turl + "?" + params[1]
}else{
this.createform.url = turl
}
} else{
if (Object.keys(params).length > 1){
this.createform.url = this.selectedDataSource.sample.split("?")[0] + "?" + params[1]
}else{
this.createform.url = this.selectedDataSource.sample
}
}
},
isShowDatabaseName: function () {
var type = this.selectedDataSource.type
var flag = true;
if (type === "ELASTICSEARCH"){
flag = false
}
return flag;
},
isShowUrlAndPort: function () {
var type = this.selectedDataSource.type
var flag = true;
if (type === "SQLITE3"){
flag = false
}
return flag;
}, },
startTest: function () { startTest: function () {
let driverClass = ""; let driverClass = "";
@@ -331,6 +381,7 @@ export default {
created() { created() {
this.selectedDataSource = this.$route.query; this.selectedDataSource = this.$route.query;
this.createform.url = this.selectedDataSource.sample; this.createform.url = this.selectedDataSource.sample;
this.createform.templateUrl = this.selectedDataSource.url.replace("[\\?{params}]","");
this.selectChangedDriverVersion(this.selectedDataSource.type); this.selectChangedDriverVersion(this.selectedDataSource.type);
} }
} }

View File

@@ -55,7 +55,7 @@
label="创建时间" label="创建时间"
min-width="18%"></el-table-column> min-width="18%"></el-table-column>
<el-table-column prop="username" <el-table-column prop="username"
label="创建账号" label="用户名"
show-overflow-tooltip show-overflow-tooltip
min-width="10%"></el-table-column> min-width="10%"></el-table-column>
<el-table-column label="操作" <el-table-column label="操作"

View File

@@ -94,7 +94,7 @@ public class ConnectionService {
detail.setDriver(type.getDriver()); detail.setDriver(type.getDriver());
detail.setSample(type.getSample()); detail.setSample(type.getSample());
detail.setName(type.getName()); detail.setName(type.getName());
detail.setUrl(type.getUrl()[0]); detail.setUrl(JdbcUrlUtils.getTemplateUrl(type.getUrl()[0]));
lists.add(detail); lists.add(detail);
} }

View File

@@ -84,6 +84,11 @@ public final class JdbcUrlUtils {
return true; return true;
} }
public static String getTemplateUrl(String url){
return url.replaceAll("\\[(\\?|;|:)\\{params}\\]|\\[|\\]", "")
.replace("\\?{params}","");
}
/** /**
* 测试代码 * 测试代码
* *