Browse Source

域名设置优化

pull/105/head
pengda 4 weeks ago
parent
commit
3e0ba23fa8
  1. 20
      src/components/domainBind.vue
  2. 42
      src/components/site/serviceSetting/domainSet.vue

20
src/components/domainBind.vue

@ -62,21 +62,9 @@ export default {
isShowAddDomainDialog: false,
}
},
watch: {
defaultPrefix(newVal) {
if(newVal){
this.data.prefix = newVal
}
},
defaultDomain(newVal) {
if(newVal){
this.data.domain = newVal
}
}
},
mounted(){
this.data.prefix = this.defaultPrefix
this.data.domain = this.defaultDomain
this.data.prefix = this.defaultPrefix ? this.defaultPrefix : ''
this.data.domain = this.defaultDomain ? this.defaultDomain : ''
this.getDomainList()
},
methods:{
@ -90,8 +78,8 @@ export default {
value: '.'+item
}));
let domain = this.data.domain.startsWith('.') ? this.data.domain.slice(1) : this.data.domain;
if(!response.data.includes(domain) || !domain) this.data.domain = '.'+response.data[0]
let domain = that.data.domain.startsWith('.') ? that.data.domain.slice(1) : that.data.domain;
if(!response.data.includes(domain) || !domain) that.data.domain = '.'+response.data[0]
} else {
if(!this.data.domain) this.data.domain = '暂无域名'
}

42
src/components/site/serviceSetting/domainSet.vue

@ -9,13 +9,14 @@
<el-form class="el-row demo-ruleForm" ref="formRef">
<div class="domain-from">域名来源</div>
<div class="domain-radio">
<GuipRadio v-model="domainFrom" :options="domainFromOptions"/>
<GuipRadio v-model="domain_type" :options="domain_types"/>
</div>
<div class="flex domain-info">
<span>当前服务域名</span><span>{{info.domain}}</span>
</div>
<domainBind v-show="domainFrom === '1'" label="域名设置" @handleEvent="handleEvent"/>
<domainBind ref="domainBind" v-if="domain_type === '2'" label="域名设置"
:defaultPrefix="newDomain.prefix" :defaultDomain="newDomain.domain" @handleEvent="handleEvent"/>
</el-form>
</div>
</div>
@ -55,17 +56,20 @@ export default {
borderRadius: '4px',
background: '#006AFF',
},
domainFrom: '0',
domainFromOptions: {
'0': '平台免费域名',
'1': '我自己有域名'
},
newDomain: {}
domain_type: '',
domain_types: {},
newDomain: {
prefix: '',
domain: ''
}
}
},
mounted() {
this.info = JSON.parse(JSON.stringify(this.serviceInfo))
if(this.info.ser_domain) this.domainFrom = '1'
this.domain_type = String(this.info.domain_type)
this.domain_types = this.info.domain_types
this.newDomain.prefix = this.info.domain_prefix
this.newDomain.domain = this.info.domain_name
},
methods:{
handleEvent(data){
@ -75,26 +79,27 @@ export default {
let obj = {}
obj.uid = this.info.uid
obj.type = this.info.type
if(this.domainFrom === '1'){
if(!this.newDomain.prefix || !this.newDomain.domain) return false
obj.domain = this.newDomain.prefix + this.newDomain.domain
}else{
obj.domain = ''
}
if(this.domain_type === '2') obj.domain = this.newDomain.prefix + this.newDomain.domain
const that = this
this.$http('POST', '/agentnew/ajax_update_service_domain', obj).then(response => {
let domainValid = true;
if(that.domain_type === '2'){
that.$refs.domainBind.$refs.bindFormRef.validate(valid => {
domainValid = valid
})
}
if (domainValid) {
that.$http('POST', '/agentnew/ajax_update_service_domain', obj).then(response => {
if (response.status) {
that.$message.success('保存成功');
//
const protocol = new URL(that.info.domain).protocol;
if(this.domainFrom === '1'){
if (that.domain_type === '2') {
that.info.domain = protocol + "//" + obj.domain;
that.info.ser_domain = protocol + "//" +obj.domain;
} else {
that.info.domain = that.info.site_domain;
that.info.ser_domain = '';
}
that.$emit('saveEvent', that.info)
@ -104,6 +109,7 @@ export default {
}).catch(error => {
console.error(error, 'error')
})
}
},
}
}

Loading…
Cancel
Save