feat: complete settings
This commit is contained in:
@@ -10,9 +10,9 @@
|
||||
<el-menu-item index="logCleanSetting">
|
||||
日志清理
|
||||
</el-menu-item>
|
||||
<el-menu-item index="siteCustomSetting">
|
||||
<!-- <el-menu-item index="siteCustomSetting">
|
||||
站点设置
|
||||
</el-menu-item>
|
||||
</el-menu-item> -->
|
||||
<el-menu-item index="aboutSetting">
|
||||
站点关于
|
||||
</el-menu-item>
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
<template>
|
||||
<div class="setting-container">
|
||||
<el-text size="small">当前版本:v1.0.0</el-text>
|
||||
<el-text size="small">当前版本:{{ version }}</el-text>
|
||||
<div class="buttom">
|
||||
<div class="tips">
|
||||
<el-text size="small">版本功能说明</el-text>
|
||||
<el-tooltip placement="top">
|
||||
<template #content>
|
||||
logo请输入svg文本,替换后登录页面、ico、导航栏logo将全部一起更换
|
||||
<br />
|
||||
*将在下一次登录的时候生效
|
||||
<div v-html="desc"></div>
|
||||
</template>
|
||||
<el-icon>
|
||||
<QuestionFilled />
|
||||
@@ -20,7 +18,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { defineComponent, reactive, toRefs } from 'vue';
|
||||
import { defineComponent, reactive, toRefs, onMounted } from 'vue';
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { request } from '@/api/api'
|
||||
import { QuestionFilled } from '@element-plus/icons-vue'
|
||||
@@ -35,8 +33,8 @@ export default defineComponent({
|
||||
},
|
||||
setup() {
|
||||
const state = reactive({
|
||||
oldPasswd: '',
|
||||
newPasswd: '',
|
||||
version: '',
|
||||
desc: '',
|
||||
});
|
||||
|
||||
const handleChange = async () => {
|
||||
@@ -47,6 +45,21 @@ export default defineComponent({
|
||||
ElMessage({ message: msg, type: 'success' })
|
||||
}
|
||||
}
|
||||
|
||||
const getAbout = async () => {
|
||||
let params = { params: { section: "about" } };
|
||||
const rsp = await request.get('/settings/getsetting', params);
|
||||
if (await rsp.data.code == 200) {
|
||||
let data = await rsp.data.data;
|
||||
state.version = data.version;
|
||||
state.desc = data.desc.replace(/\n/g, '<br />');
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getAbout();
|
||||
})
|
||||
|
||||
return {
|
||||
...toRefs(state), handleChange
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<el-input v-model="cron" size="small" placeholder="请输入定时日志清除的Cron表达式">
|
||||
<template size="small" #prepend>cron://</template>
|
||||
</el-input>
|
||||
<el-input v-model.number="keepNum" size="small" placeholder="请输入要保留的最近的日志条数" style="margin-top: 15px;">
|
||||
<el-input v-model="keepNum" size="small" placeholder="请输入要保留的最近的日志条数" style="margin-top: 15px;">
|
||||
<template size="small" #prepend>保留数</template>
|
||||
</el-input>
|
||||
</div>
|
||||
@@ -29,7 +29,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { defineComponent, reactive, toRefs } from 'vue';
|
||||
import { defineComponent, reactive, toRefs, onMounted } from 'vue';
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { QuestionFilled } from '@element-plus/icons-vue'
|
||||
import { useRouter } from 'vue-router';
|
||||
@@ -47,13 +47,20 @@ export default defineComponent({
|
||||
setup() {
|
||||
const router = useRouter();
|
||||
const state = reactive({
|
||||
section: 'log_config',
|
||||
cron: '',
|
||||
keepNum: 1000,
|
||||
keepNum: '1000',
|
||||
});
|
||||
|
||||
const handleSubmit = async () => {
|
||||
let postData = { old_passwd: state.oldPasswd, new_passwd: state.newPasswd };
|
||||
const rsp = await request.post('/settings/setpasswd', postData);
|
||||
let postData = {
|
||||
section: state.section,
|
||||
data: {
|
||||
cron: state.cron.trim(),
|
||||
keep_num: state.keepNum.trim(),
|
||||
},
|
||||
};
|
||||
const rsp = await request.post('/settings/set', postData);
|
||||
if (await rsp.data.code == 200) {
|
||||
let msg = await rsp.data.msg;
|
||||
ElMessage({ message: msg, type: 'success' })
|
||||
@@ -62,6 +69,21 @@ export default defineComponent({
|
||||
const handleView = async () => {
|
||||
router.push('/sendlogs?taskid=' + CONSTANT.LOG_TASK_ID, { replace: true });
|
||||
}
|
||||
|
||||
const getSiteConfig = async () => {
|
||||
let params = { params: { section: "log_config" } };
|
||||
const rsp = await request.get('/settings/getsetting', params);
|
||||
if (await rsp.data.code == 200) {
|
||||
let data = await rsp.data.data;
|
||||
state.cron = data.cron;
|
||||
state.keepNum = data.keep_num;
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getSiteConfig();
|
||||
})
|
||||
|
||||
return {
|
||||
...toRefs(state), handleSubmit, handleView
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<el-tooltip placement="top">
|
||||
<template #content>
|
||||
1. logo请输入svg文本,替换后登录页面,ico,导航栏logo将全部一起更换
|
||||
<br />
|
||||
<br />
|
||||
2. slogan将在登录页面展示
|
||||
<br />
|
||||
*将在下一次登录的时候生效
|
||||
@@ -27,14 +27,14 @@
|
||||
</el-icon>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<el-button @click="handleView" size="small">查看日志</el-button>
|
||||
<el-button @click="handleView" size="small">恢复默认</el-button>
|
||||
<el-button @click="handleSubmit" size="small" type="primary">确定</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { defineComponent, reactive, toRefs } from 'vue';
|
||||
import { defineComponent, reactive, toRefs, onMounted } from 'vue';
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { QuestionFilled } from '@element-plus/icons-vue'
|
||||
import { useRouter } from 'vue-router';
|
||||
@@ -55,11 +55,19 @@ export default defineComponent({
|
||||
title: '',
|
||||
slogan: '',
|
||||
logo: '',
|
||||
section: 'site_config',
|
||||
});
|
||||
|
||||
const handleSubmit = async () => {
|
||||
let postData = { old_passwd: state.oldPasswd, new_passwd: state.newPasswd };
|
||||
const rsp = await request.post('/settings/setpasswd', postData);
|
||||
let postData = {
|
||||
section: state.section,
|
||||
data: {
|
||||
title: state.title.trim(),
|
||||
slogan: state.slogan.trim(),
|
||||
logo: state.logo.trim(),
|
||||
},
|
||||
};
|
||||
const rsp = await request.post('/settings/set', postData);
|
||||
if (await rsp.data.code == 200) {
|
||||
let msg = await rsp.data.msg;
|
||||
ElMessage({ message: msg, type: 'success' })
|
||||
@@ -68,6 +76,22 @@ export default defineComponent({
|
||||
const handleView = async () => {
|
||||
router.push('/sendlogs?taskid=' + CONSTANT.LOG_TASK_ID, { replace: true });
|
||||
}
|
||||
|
||||
const getSiteConfig = async () => {
|
||||
let params = { params: { section: "site_config" } };
|
||||
const rsp = await request.get('/settings/getsetting', params);
|
||||
if (await rsp.data.code == 200) {
|
||||
let data = await rsp.data.data;
|
||||
state.title = data.title;
|
||||
state.logo = data.logo;
|
||||
state.slogan = data.slogan;
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getSiteConfig();
|
||||
})
|
||||
|
||||
return {
|
||||
...toRefs(state), handleSubmit, handleView
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user