mirror of
https://gitee.com/dromara/dbswitch.git
synced 2025-10-14 22:00:23 +00:00
数据源管理优化
This commit is contained in:
@@ -53,7 +53,7 @@
|
||||
</el-radio-group>
|
||||
</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%"
|
||||
placeholder="请输入数据源连接地址"></el-input>
|
||||
/
|
||||
@@ -61,7 +61,7 @@
|
||||
placeholder="Port"></el-input>
|
||||
</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()"
|
||||
placeholder="请输入数据库名"></el-input>
|
||||
</el-form-item>
|
||||
@@ -145,7 +145,7 @@ export default {
|
||||
password: "",
|
||||
sample: "",
|
||||
url: "",
|
||||
oldUrl: "",
|
||||
templateUrl: "",
|
||||
},
|
||||
rules: {
|
||||
name: [
|
||||
@@ -237,7 +237,57 @@ export default {
|
||||
});
|
||||
},
|
||||
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 () {
|
||||
let driverClass = "";
|
||||
@@ -331,6 +381,7 @@ export default {
|
||||
created() {
|
||||
this.selectedDataSource = this.$route.query;
|
||||
this.createform.url = this.selectedDataSource.sample;
|
||||
this.createform.templateUrl = this.selectedDataSource.url.replace("[\\?{params}]","");
|
||||
this.selectChangedDriverVersion(this.selectedDataSource.type);
|
||||
}
|
||||
}
|
||||
|
@@ -55,7 +55,7 @@
|
||||
label="创建时间"
|
||||
min-width="18%"></el-table-column>
|
||||
<el-table-column prop="username"
|
||||
label="创建账号"
|
||||
label="用户名"
|
||||
show-overflow-tooltip
|
||||
min-width="10%"></el-table-column>
|
||||
<el-table-column label="操作"
|
||||
|
@@ -94,7 +94,7 @@ public class ConnectionService {
|
||||
detail.setDriver(type.getDriver());
|
||||
detail.setSample(type.getSample());
|
||||
detail.setName(type.getName());
|
||||
detail.setUrl(type.getUrl()[0]);
|
||||
detail.setUrl(JdbcUrlUtils.getTemplateUrl(type.getUrl()[0]));
|
||||
lists.add(detail);
|
||||
}
|
||||
|
||||
|
@@ -84,6 +84,11 @@ public final class JdbcUrlUtils {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static String getTemplateUrl(String url){
|
||||
return url.replaceAll("\\[(\\?|;|:)\\{params}\\]|\\[|\\]", "")
|
||||
.replace("\\?{params}","");
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试代码
|
||||
*
|
||||
|
Reference in New Issue
Block a user