optimizer: 域名管理支持多级域名 & fix:修改子域名,输入相同子域名引起的报错。优化前端交互内容显示。

This commit is contained in:
suxiang
2024-09-21 17:48:17 +08:00
parent 930ad52b3e
commit 4d35c8ffef
8 changed files with 55 additions and 27 deletions
@@ -181,7 +181,11 @@
timestamp: new Date(),
title: '',
type: '',
status: 'published'
status: 'published',
domain: '',
jks: undefined,
keyStorePassword: '',
forceHttps: ''
},
dialogFormVisible: false,
dialogStatus: '',
@@ -201,8 +205,8 @@
{ required: false, message: '请选择文件', trigger: 'blur' }
],
filePassword: [
{ required: false, message: 'jks密码不能为空', trigger: 'blur' }
]// TODO jks密码不为空仍无法通过验证
{ required: false, message: '密码不能为空', trigger: 'blur' }
]// TODO required改为true后,密码不为空,仍不能通过
},
downloadLoading: false,
selectObj: {
@@ -253,14 +257,15 @@
this.temp.jks = param.file
},
validateDomain(rule, value, callback) {
// 只允许输入一级域名,例如:example.com
const domainPattern = /^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}$/
// 匹配多级域名,例如:sub.example.com, sub.sub.example.com
const domainPattern = /^(?:[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]\.)+[a-zA-Z]{2,}$/
if (!value) {
callback(new Error('主域名不能为空'))
callback(new Error('主域名不能为空'));
} else if (!domainPattern.test(value)) {
callback(new Error('请输入正确的域名格式'))
callback(new Error('请输入正确的域名格式'));
} else {
callback()
callback();
}
},
handleChange(file) {
@@ -419,7 +419,7 @@ export default {
domain: undefined,
domainId: defaultDomainId
});
// console.log(this.temp)
console.log(this.list)
},
// 删除指定的域名映射
removeDomainMapping(index) {
@@ -436,6 +436,7 @@ export default {
let allFullDomainList = []
for (const fullDomainMapping of item.fullDomainMappings) {
item.domainMappings.push({
id: fullDomainMapping.id || '',
subdomain: fullDomainMapping.subdomain || '', // 使用 || '' 保证字段非空
domainId: fullDomainMapping.domainNameId || '',
domain: fullDomainMapping.domain || ''
@@ -582,8 +583,10 @@ export default {
open(url)
},
handleUpdate(row) {
console.log(row)
this.temp = Object.assign({}, row) // copy obj
this.resetTemp()
console.log(this.temp)
this.temp = JSON.parse(JSON.stringify(row))
console.log(this.temp)
if (row.securityGroupId === 0) {
this.temp.securityGroupId = null
}