blob: af47f74758ec95496ecdada07badb5c937059e43 [file] [log] [blame]
<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-->
<template>
<el-card class="box-card authentication">
<el-row :gutter="20">
<el-col :span="24">
<el-input :rows="20" v-model="textarea" type="textarea" class="edit-text"/>
</el-col>
</el-row>
<el-row>
<el-button class="auth-btn" type="primary" @click="onConfirm">{{ $t('btn.submit') }}</el-button>
</el-row>
</el-card>
</template>
<script>
import yaml from 'js-yaml'
import API from '../api'
export default {
name: 'Authentication',
data() {
return {
textarea: ``
}
},
computed: {
textarea2() {
return JSON.stringify(yaml.safeLoad(this.textarea), null, '\t')
}
},
created() {
this.getAuthentication()
},
methods: {
getAuthentication() {
API.getAuth().then(res => {
if (!res.success) return
const model = res.model
if (Object.prototype.toString.call(model) === '[object String]') {
this.textarea = model
} else {
this.textarea = JSON.stringify(model, null, '\t')
}
})
},
onConfirm() {
API.putAuth({ authentication: this.textarea }).then(res => {
if (res.success) {
this.$notify({
title: this.$t('common').notify.title,
message: this.$t('common').notify.updateCompletedMessage,
type: 'success'
})
this.centerDialogVisible = false
} else {
this.$notify({
title: this.$t('common').notify.title,
message: this.$t('common').notify.updateFaildMessage,
type: 'error'
})
}
})
}
}
}
</script>
<style lang="scss">
.authentication {
margin-top: 20px;
.edit-text {
margin-top: 5px;
textarea {
background: #fffffb;
}
}
.show-text {
margin-top: 5px;
textarea {
background: rgb(246, 246, 246);
}
}
.auth-btn {
margin-top: 10px;
float: right;
}
}
</style>