forked from github/dataease
fix: API 数据源信息加密
This commit is contained in:
parent
c67a75b17d
commit
62eb13d731
@ -1,6 +1,8 @@
|
|||||||
package io.dataease.controller.datasource;
|
package io.dataease.controller.datasource;
|
||||||
|
|
||||||
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
||||||
|
import com.google.common.reflect.TypeToken;
|
||||||
|
import com.google.gson.Gson;
|
||||||
import io.dataease.auth.annotation.DeLog;
|
import io.dataease.auth.annotation.DeLog;
|
||||||
import io.dataease.auth.annotation.DePermission;
|
import io.dataease.auth.annotation.DePermission;
|
||||||
import io.dataease.commons.constants.DePermissionType;
|
import io.dataease.commons.constants.DePermissionType;
|
||||||
@ -27,6 +29,7 @@ import springfox.documentation.annotations.ApiIgnore;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Api(tags = "数据源:数据源管理")
|
@Api(tags = "数据源:数据源管理")
|
||||||
@ -135,7 +138,9 @@ public class DatasourceController {
|
|||||||
|
|
||||||
@ApiIgnore
|
@ApiIgnore
|
||||||
@PostMapping("/checkApiDatasource")
|
@PostMapping("/checkApiDatasource")
|
||||||
public ApiDefinition checkApiDatasource(@RequestBody ApiDefinition apiDefinition) throws Exception {
|
public ApiDefinition checkApiDatasource(@RequestBody Map<String, String> data) throws Exception {
|
||||||
|
ApiDefinition apiDefinition = new Gson().fromJson(new String(java.util.Base64.getDecoder().decode(data.get("data"))), new TypeToken<ApiDefinition>() {
|
||||||
|
}.getType());
|
||||||
return datasourceService.checkApiDatasource(apiDefinition);
|
return datasourceService.checkApiDatasource(apiDefinition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +166,7 @@
|
|||||||
<el-popover
|
<el-popover
|
||||||
placement="bottom-end"
|
placement="bottom-end"
|
||||||
:disabled="!attrs.enableParameters"
|
:disabled="!attrs.enableParameters"
|
||||||
width="200"
|
width="420"
|
||||||
>
|
>
|
||||||
<div class="view-container-class">
|
<div class="view-container-class">
|
||||||
<el-tabs
|
<el-tabs
|
||||||
|
@ -800,7 +800,7 @@ export default {
|
|||||||
data.request = JSON.stringify(data.request)
|
data.request = JSON.stringify(data.request)
|
||||||
this.loading = true
|
this.loading = true
|
||||||
this.disabledNext = true
|
this.disabledNext = true
|
||||||
checkApiDatasource(data).then(res => {
|
checkApiDatasource({'data': Base64.encode(JSON.stringify(data))}).then(res => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.disabledNext = false
|
this.disabledNext = false
|
||||||
this.apiItem.status = 'Success'
|
this.apiItem.status = 'Success'
|
||||||
@ -858,7 +858,7 @@ export default {
|
|||||||
const data = JSON.parse(JSON.stringify(this.apiItem))
|
const data = JSON.parse(JSON.stringify(this.apiItem))
|
||||||
data.request = JSON.stringify(data.request)
|
data.request = JSON.stringify(data.request)
|
||||||
this.loading = true
|
this.loading = true
|
||||||
checkApiDatasource(data).then(res => {
|
checkApiDatasource({'data': Base64.encode(JSON.stringify(data))}).then(res => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.$success(i18n.t('commons.success'))
|
this.$success(i18n.t('commons.success'))
|
||||||
this.apiItem.fields = res.data.fields
|
this.apiItem.fields = res.data.fields
|
||||||
|
@ -734,6 +734,7 @@ import { checkApiDatasource, getSchema } from '@/api/system/datasource'
|
|||||||
import ApiHttpRequestForm from '@/views/system/datasource/ApiHttpRequestForm'
|
import ApiHttpRequestForm from '@/views/system/datasource/ApiHttpRequestForm'
|
||||||
import dePwd from '@/components/deCustomCm/DePwd.vue'
|
import dePwd from '@/components/deCustomCm/DePwd.vue'
|
||||||
import msgCfm from '@/components/msgCfm'
|
import msgCfm from '@/components/msgCfm'
|
||||||
|
import { Base64 } from 'js-base64'
|
||||||
export default {
|
export default {
|
||||||
name: 'DsConfiguration',
|
name: 'DsConfiguration',
|
||||||
components: {
|
components: {
|
||||||
@ -1069,10 +1070,10 @@ export default {
|
|||||||
}
|
}
|
||||||
this.$refs.apiItemBasicInfo.validate((valid) => {
|
this.$refs.apiItemBasicInfo.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const data = JSON.parse(JSON.stringify(this.apiItem))
|
const data = Base64.encode(JSON.stringify(this.apiItem))
|
||||||
this.loading = true
|
this.loading = true
|
||||||
this.disabledNext = true
|
this.disabledNext = true
|
||||||
checkApiDatasource(data)
|
checkApiDatasource({'data': data})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.disabledNext = false
|
this.disabledNext = false
|
||||||
|
Loading…
Reference in New Issue
Block a user