Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
c50517a6ff
|
@ -44,13 +44,6 @@ public class ApiAutomationController {
|
|||
return PageUtils.setPageInfo(page, apiAutomationService.list(request));
|
||||
}
|
||||
|
||||
@PostMapping("/list/all")
|
||||
@RequiresRoles(value = {RoleConstants.TEST_MANAGER, RoleConstants.TEST_USER, RoleConstants.TEST_VIEWER}, logical = Logical.OR)
|
||||
public List<ApiScenarioWithBLOBs> list(@RequestBody ApiScenarioRequest request) {
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return apiAutomationService.get(request);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/create")
|
||||
public ApiScenario create(@RequestPart("request") SaveApiScenarioRequest request, @RequestPart(value = "files") List<MultipartFile> bodyFiles) {
|
||||
return apiAutomationService.create(request, bodyFiles);
|
||||
|
|
|
@ -720,16 +720,6 @@ public class ApiAutomationService {
|
|||
}
|
||||
}
|
||||
|
||||
public List<ApiScenarioWithBLOBs> get(ApiScenarioRequest request) {
|
||||
ApiScenarioExample example = new ApiScenarioExample();
|
||||
if (CollectionUtils.isNotEmpty(request.getIds())) {
|
||||
example.createCriteria().andIdIn(request.getIds());
|
||||
} else {
|
||||
example.createCriteria().andProjectIdEqualTo(request.getProjectId());
|
||||
}
|
||||
return apiScenarioMapper.selectByExampleWithBLOBs(example);
|
||||
}
|
||||
|
||||
public List<ApiScenarioWithBLOBs> getWithBLOBs(ApiScenarioWithBLOBs request) {
|
||||
ApiScenarioExample example = new ApiScenarioExample();
|
||||
example.createCriteria().andNameEqualTo(request.getName()).andProjectIdEqualTo(request.getProjectId()).andStatusNotEqualTo("Trash").andIdNotEqualTo(request.getId());
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 5e0b365f1080197e84055e80071165787e2e79c5
|
||||
Subproject commit 44bcc9893033900f95c99068cd4edec740465dfe
|
|
@ -131,25 +131,7 @@
|
|||
},
|
||||
methods: {
|
||||
exportAPI() {
|
||||
let obj = {projectName: localStorage.getItem(PROJECT_NAME)}
|
||||
let condition = {projectId: getCurrentProjectID(), ids: this.$refs.apiScenarioList.selection};
|
||||
let url = "/api/automation/list/all";
|
||||
this.loading = true;
|
||||
this.$post(url, condition, response => {
|
||||
obj.data = response.data;
|
||||
this.buildApiPath(obj.data);
|
||||
this.loading = false;
|
||||
downloadFile("Metersphere_Scenario_" + localStorage.getItem(PROJECT_NAME) + ".json", JSON.stringify(obj));
|
||||
});
|
||||
},
|
||||
buildApiPath(apis) {
|
||||
apis.forEach((api) => {
|
||||
this.moduleOptions.forEach(item => {
|
||||
if (api.moduleId === item.id) {
|
||||
api.modulePath = item.path;
|
||||
}
|
||||
});
|
||||
});
|
||||
this.$refs.apiScenarioList.exportApi();
|
||||
},
|
||||
checkRedirectEditPage(redirectParam) {
|
||||
if (redirectParam != null) {
|
||||
|
|
|
@ -187,7 +187,7 @@ import {PROJECT_NAME} from "../../../../../common/js/constants";
|
|||
import EnvironmentSelect from "../../definition/components/environment/EnvironmentSelect";
|
||||
import BatchMove from "../../../track/case/components/BatchMove";
|
||||
import {_sort} from "@/common/js/tableUtils";
|
||||
import {Api_Scenario_List, Track_Test_Case} from "@/business/components/common/model/JsonData";
|
||||
import {Api_Scenario_List} from "@/business/components/common/model/JsonData";
|
||||
import HeaderCustom from "@/business/components/common/head/HeaderCustom";
|
||||
import {
|
||||
_filter,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<el-dialog :close-on-click-modal="false" :title="$t('api_test.api_import.title')" width="30%"
|
||||
<el-dialog :close-on-click-modal="false" :title="$t('api_test.automation.scenario_import')" width="30%"
|
||||
:visible.sync="visible" class="api-import" v-loading="result.loading" @close="close">
|
||||
|
||||
<div class="header-bar">
|
||||
|
|
|
@ -1,83 +1,86 @@
|
|||
<template>
|
||||
<el-form :model="config" :rules="rules" ref="config" label-width="100px" size="small" :disabled="isReadOnly">
|
||||
<div class="dubbo-form-description" v-if="description">
|
||||
{{ description }}
|
||||
</div>
|
||||
<el-form-item label="Protocol" prop="protocol" class="dubbo-form-item">
|
||||
<el-select v-model="config.protocol" class="select-100" clearable>
|
||||
<el-option v-for="p in protocols" :key="p" :label="p" :value="p"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<div class="dubbo-form-description" v-if="description">
|
||||
{{ description }}
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="Group" prop="group" class="dubbo-form-item">
|
||||
<el-input v-model="config.group" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<el-form-item label="Protocol" prop="protocol" class="dubbo-form-item">
|
||||
<el-select v-model="config.protocol" class="select-100" clearable>
|
||||
<el-option v-for="p in protocols" :key="p" :label="p" :value="p"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Group" prop="group" class="dubbo-form-item">
|
||||
<el-input v-model="config.group" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Namespace" prop="namespace" class="dubbo-form-item">
|
||||
<el-input v-model="config.namespace" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Timeout" prop="timeout" class="dubbo-form-item">
|
||||
<el-input type="number" v-model="config.timeout" :placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form-item label="Address" prop="address" class="dubbo-form-item-long">
|
||||
<el-input v-model="config.address" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Namespace" prop="namespace" class="dubbo-form-item">
|
||||
<el-input v-model="config.namespace" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Timeout" prop="timeout" class="dubbo-form-item">
|
||||
<el-input type="number" v-model="config.timeout" :placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Address" prop="address" class="dubbo-form-item-long">
|
||||
<el-input v-model="config.address" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="UserName" prop="username" class="dubbo-form-item">
|
||||
<el-input v-model="config.username" maxlength="100" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Password" prop="password" class="dubbo-form-item">
|
||||
<el-input v-model="config.password" maxlength="30" show-word-limit show-password autocomplete="new-password"
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="UserName" prop="username" class="dubbo-form-item">
|
||||
<el-input v-model="config.username" maxlength="100" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Password" prop="password" class="dubbo-form-item">
|
||||
<el-input v-model="config.password" maxlength="30" show-word-limit show-password autocomplete="new-password"
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import './dubbo.css'
|
||||
import {ConfigCenter} from "@/business/components/api/definition/model/ApiTestModel";
|
||||
import './dubbo.css'
|
||||
import {ConfigCenter} from "@/business/components/api/definition/model/ApiTestModel";
|
||||
|
||||
export default {
|
||||
name: "MsDubboConfigCenter",
|
||||
props: {
|
||||
description: String,
|
||||
config: {},
|
||||
isReadOnly: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
protocols: ConfigCenter.PROTOCOLS,
|
||||
methods: [],
|
||||
rules: {
|
||||
group: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
namespace: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
username: [
|
||||
{max: 100, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
password: [
|
||||
{max: 30, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
address: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
]
|
||||
export default {
|
||||
name: "MsDubboConfigCenter",
|
||||
props: {
|
||||
description: String,
|
||||
config: {},
|
||||
isReadOnly: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
protocols: ConfigCenter.PROTOCOLS,
|
||||
methods: [],
|
||||
rules: {
|
||||
group: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
namespace: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
username: [
|
||||
{max: 100, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
password: [
|
||||
{max: 30, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
address: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -1,82 +1,86 @@
|
|||
<template>
|
||||
|
||||
<el-form :model="consumer" :rules="rules" ref="consumer" label-width="100px" size="small" :disabled="isReadOnly">
|
||||
<div class="dubbo-form-description" v-if="description">
|
||||
{{ description }}
|
||||
</div>
|
||||
<el-form-item label="Timeout" prop="timeout" class="dubbo-form-item">
|
||||
<el-input type="number" v-model="consumer.timeout" :placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<div class="dubbo-form-description" v-if="description">
|
||||
{{ description }}
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form-item label="Timeout" prop="timeout" class="dubbo-form-item">
|
||||
<el-input type="number" v-model="consumer.timeout" :placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Version" prop="version" class="dubbo-form-item">
|
||||
<el-input v-model="consumer.version" maxlength="30" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Version" prop="version" class="dubbo-form-item">
|
||||
<el-input v-model="consumer.version" maxlength="30" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Retries" prop="retries" class="dubbo-form-item">
|
||||
<el-input type="number" v-model="consumer.retries" :placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Retries" prop="retries" class="dubbo-form-item">
|
||||
<el-input type="number" v-model="consumer.retries" :placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Cluster" prop="cluster" class="dubbo-form-item">
|
||||
<el-input v-model="consumer.cluster" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form-item label="Group" prop="group" class="dubbo-form-item">
|
||||
<el-input v-model="consumer.group" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Cluster" prop="cluster" class="dubbo-form-item">
|
||||
<el-input v-model="consumer.cluster" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Connections" prop="connections" class="dubbo-form-item">
|
||||
<el-input type="number" v-model="consumer.connections" :placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Group" prop="group" class="dubbo-form-item">
|
||||
<el-input v-model="consumer.group" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Async" prop="async" class="dubbo-form-item">
|
||||
<el-select v-model="consumer.async" class="select-100" clearable>
|
||||
<el-option v-for="option in asyncOptions" :key="option" :label="option" :value="option"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Connections" prop="connections" class="dubbo-form-item">
|
||||
<el-input type="number" v-model="consumer.connections" :placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Async" prop="async" class="dubbo-form-item">
|
||||
<el-select v-model="consumer.async" class="select-100" clearable>
|
||||
<el-option v-for="option in asyncOptions" :key="option" :label="option" :value="option"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="LoadBalance" prop="loadBalance" class="dubbo-form-item">
|
||||
<el-select v-model="consumer.loadBalance" class="select-100" clearable>
|
||||
<el-option v-for="option in loadBalances" :key="option" :label="option" :value="option"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="LoadBalance" prop="loadBalance" class="dubbo-form-item">
|
||||
<el-select v-model="consumer.loadBalance" class="select-100" clearable>
|
||||
<el-option v-for="option in loadBalances" :key="option" :label="option" :value="option"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import './dubbo.css'
|
||||
import {ConsumerAndService, RegistryCenter} from "@/business/components/api/definition/model/ApiTestModel";
|
||||
import './dubbo.css'
|
||||
import {ConsumerAndService, RegistryCenter} from "@/business/components/api/definition/model/ApiTestModel";
|
||||
|
||||
export default {
|
||||
name: "MsDubboConsumerService",
|
||||
props: {
|
||||
description: String,
|
||||
consumer: {},
|
||||
isReadOnly: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
asyncOptions: ConsumerAndService.ASYNC_OPTIONS,
|
||||
loadBalances: ConsumerAndService.LOAD_BALANCE_OPTIONS,
|
||||
methods: [],
|
||||
rules: {
|
||||
version: [
|
||||
{max: 30, message: this.$t('commons.input_limit', [0, 30]), trigger: 'blur'}
|
||||
],
|
||||
cluster: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
group: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
]
|
||||
export default {
|
||||
name: "MsDubboConsumerService",
|
||||
props: {
|
||||
description: String,
|
||||
consumer: {},
|
||||
isReadOnly: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
asyncOptions: ConsumerAndService.ASYNC_OPTIONS,
|
||||
loadBalances: ConsumerAndService.LOAD_BALANCE_OPTIONS,
|
||||
methods: [],
|
||||
rules: {
|
||||
version: [
|
||||
{max: 30, message: this.$t('commons.input_limit', [0, 30]), trigger: 'blur'}
|
||||
],
|
||||
cluster: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
group: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
|
||||
<style scoped>
|
||||
.get-provider {
|
||||
margin-bottom: 22px;
|
||||
margin: 5px 5px 10px;
|
||||
}
|
||||
|
||||
.select-100 {
|
||||
|
|
|
@ -1,73 +1,78 @@
|
|||
<template>
|
||||
<el-form :model="registry" :rules="rules" ref="registry" label-width="100px" size="small" :disabled="isReadOnly">
|
||||
<div class="dubbo-form-description" v-if="description">
|
||||
{{ description }}
|
||||
</div>
|
||||
<el-form-item label="Protocol" prop="protocol" class="dubbo-form-item">
|
||||
<el-select v-model="registry.protocol" class="select-100" clearable>
|
||||
<el-option v-for="p in protocols" :key="p" :label="p" :value="p"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<div class="dubbo-form-description" v-if="description">
|
||||
{{ description }}
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form-item label="Protocol" prop="protocol" class="dubbo-form-item">
|
||||
<el-select v-model="registry.protocol" class="select-100" clearable>
|
||||
<el-option v-for="p in protocols" :key="p" :label="p" :value="p"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Group" prop="group" class="dubbo-form-item">
|
||||
<el-input v-model="registry.group" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Group" prop="group" class="dubbo-form-item">
|
||||
<el-input v-model="registry.group" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="UserName" prop="username" class="dubbo-form-item">
|
||||
<el-input v-model="registry.username" maxlength="100" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="UserName" prop="username" class="dubbo-form-item">
|
||||
<el-input v-model="registry.username" maxlength="100" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Password" prop="password" class="dubbo-form-item">
|
||||
<el-input v-model="registry.password" maxlength="30" show-word-limit show-password autocomplete="new-password"
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Password" prop="password" class="dubbo-form-item">
|
||||
<el-input v-model="registry.password" maxlength="30" show-word-limit show-password autocomplete="new-password"
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form-item label="Address" prop="address" class="dubbo-form-item-long">
|
||||
<el-input v-model="registry.address" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Address" prop="address" class="dubbo-form-item-long">
|
||||
<el-input v-model="registry.address" maxlength="300" show-word-limit
|
||||
:placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Timeout" prop="timeout" class="dubbo-form-item">
|
||||
<el-input type="number" v-model="registry.timeout" :placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Timeout" prop="timeout" class="dubbo-form-item">
|
||||
<el-input type="number" v-model="registry.timeout" :placeholder="$t('commons.input_content')"/>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import './dubbo.css'
|
||||
import {RegistryCenter} from "@/business/components/api/definition/model/ApiTestModel";
|
||||
import './dubbo.css'
|
||||
import {RegistryCenter} from "@/business/components/api/definition/model/ApiTestModel";
|
||||
|
||||
export default {
|
||||
name: "MsDubboRegistryCenter",
|
||||
props: {
|
||||
description: String,
|
||||
registry: {},
|
||||
isReadOnly: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
protocols: RegistryCenter.PROTOCOLS,
|
||||
methods: [],
|
||||
rules: {
|
||||
group: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
username: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
password: [
|
||||
{max: 30, message: this.$t('commons.input_limit', [0, 30]), trigger: 'blur'}
|
||||
],
|
||||
address: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
]
|
||||
export default {
|
||||
name: "MsDubboRegistryCenter",
|
||||
props: {
|
||||
description: String,
|
||||
registry: {},
|
||||
isReadOnly: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
protocols: RegistryCenter.PROTOCOLS,
|
||||
methods: [],
|
||||
rules: {
|
||||
group: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
username: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
],
|
||||
password: [
|
||||
{max: 30, message: this.$t('commons.input_limit', [0, 30]), trigger: 'blur'}
|
||||
],
|
||||
address: [
|
||||
{max: 300, message: this.$t('commons.input_limit', [0, 300]), trigger: 'blur'}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue