更改目录结构

This commit is contained in:
bjdgyc
2021-03-01 15:46:08 +08:00
parent 3464d1d10e
commit 0f91c779e3
105 changed files with 29099 additions and 96 deletions

183
web/src/pages/set/Other.vue Normal file
View File

@@ -0,0 +1,183 @@
<template>
<el-card>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="邮件配置" name="dataSmtp">
<el-form :model="dataSmtp" ref="dataSmtp" :rules="rules" label-width="100px" class="tab-one">
<el-form-item label="服务器地址" prop="host">
<el-input v-model="dataSmtp.host"></el-input>
</el-form-item>
<el-form-item label="服务器端口" prop="port">
<el-input v-model.number="dataSmtp.port"></el-input>
</el-form-item>
<el-form-item label="用户名" prop="username">
<el-input v-model="dataSmtp.username"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="dataSmtp.password"></el-input>
</el-form-item>
<el-form-item label="启用SSL" prop="use_ssl">
<el-switch v-model="dataSmtp.use_ssl"></el-switch>
</el-form-item>
<el-form-item label="邮件from" prop="from">
<el-input v-model="dataSmtp.from"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('dataSmtp')">保存</el-button>
<el-button @click="resetForm('dataSmtp')">重置</el-button>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="其他设置" name="dataOther">
<el-form :model="dataOther" ref="dataOther" :rules="rules" label-width="100px" class="tab-one">
<el-form-item label="Banner信息" prop="banner">
<el-input
type="textarea"
:rows="5"
placeholder="请输入内容"
v-model="dataOther.banner">
</el-input>
</el-form-item>
<el-form-item label="账户开通邮件" prop="account_mail">
<el-input
type="textarea"
:rows="10"
placeholder="请输入内容"
v-model="dataOther.account_mail">
</el-input>
</el-form-item>
<el-form-item label="邮件展示">
<iframe
width="500px"
height="300px"
:srcdoc="dataOther.account_mail">
</iframe>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('dataOther')">保存</el-button>
<el-button @click="resetForm('dataOther')">重置</el-button>
</el-form-item>
</el-form>
</el-tab-pane>
</el-tabs>
</el-card>
</template>
<script>
import axios from "axios";
export default {
name: "Other",
created() {
this.$emit('update:route_path', this.$route.path)
this.$emit('update:route_name', ['基础信息', '其他设置'])
},
mounted() {
this.getSmtp()
},
data() {
return {
activeName: 'dataSmtp',
dataSmtp: {},
dataOther: {},
rules: {
host: {required: true, message: '请输入服务器地址', trigger: 'blur'},
port: [
{required: true, message: '请输入服务器端口', trigger: 'blur'},
{type: 'number', message: '请输入正确的服务器端口', trigger: ['blur', 'change']}
],
issuer: {required: true, message: '请输入系统名称', trigger: 'blur'},
},
};
},
methods: {
handleClick(tab, event) {
window.console.log(tab.name, event);
switch (tab.name) {
case "dataSmtp":
this.getSmtp()
break
case "dataOther":
this.getOther()
break
}
},
getSmtp() {
axios.get('/set/other/smtp').then(resp => {
let rdata = resp.data
console.log(rdata)
if (rdata.code !== 0) {
this.$message.error(rdata.msg);
return;
}
this.dataSmtp = rdata.data
}).catch(error => {
this.$message.error('哦,请求出错');
console.log(error);
});
},
getOther() {
axios.get('/set/other').then(resp => {
let rdata = resp.data
console.log(rdata)
if (rdata.code !== 0) {
this.$message.error(rdata.msg);
return;
}
this.dataOther = rdata.data
}).catch(error => {
this.$message.error('哦,请求出错');
console.log(error);
});
},
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (!valid) {
alert('error submit!');
}
switch (formName) {
case "dataSmtp":
axios.post('/set/other/smtp/edit', this.dataSmtp).then(resp => {
var rdata = resp.data
console.log(rdata);
if (rdata.code === 0) {
this.$message.success(rdata.msg);
} else {
this.$message.error(rdata.msg);
}
})
break;
case "dataOther":
axios.post('/set/other/edit', this.dataOther).then(resp => {
var rdata = resp.data
console.log(rdata);
if (rdata.code === 0) {
this.$message.success(rdata.msg);
} else {
this.$message.error(rdata.msg);
}
})
break;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
}
},
}
</script>
<style scoped>
.tab-one {
width: 600px;
}
</style>

View File

@@ -0,0 +1,64 @@
<template>
<el-card>
<el-table
:data="soft_data"
border>
<el-table-column
prop="info"
label="信息"
width="260">
</el-table-column>
<el-table-column
prop="name"
label="配置"
width="200">
</el-table-column>
<el-table-column
prop="data"
label="数据">
<template slot-scope="scope">
{{ scope.row.data }}
</template>
</el-table-column>
</el-table>
</el-card>
</template>
<script>
import axios from "axios";
export default {
name: "Soft",
created() {
this.$emit('update:route_path', this.$route.path)
this.$emit('update:route_name', ['基础信息', '软件配置'])
},
mounted() {
this.getSoftInfo()
},
data() {
return {soft_data: []}
},
methods: {
getSoftInfo() {
axios.get('/set/soft', {}).then(resp => {
var data = resp.data
console.log(data);
this.soft_data = data.data;
}).catch(error => {
this.$message.error('哦,请求出错');
console.log(error);
});
}
},
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,133 @@
<template>
<div>
<el-row :gutter="10" class="mb10">
<el-col :span="8">
<el-card v-if="system.cpu" body-style="text-align: center;">
<div slot="header">
<span>CPU使用率</span>
</div>
<el-progress type="circle" :percentage="system.cpu.percent" style="margin-bottom: 20px"/>
<Cell left="CPU主频" :right="system.cpu.ghz" divider/>
<Cell left="系统负载" :right="system.sys.load"/>
</el-card>
</el-col>
<el-col :span="8">
<el-card v-if="system.mem" body-style="text-align: center;">
<div slot="header">
<span>内存使用率</span>
</div>
<el-progress type="circle" :percentage="system.mem.percent" style="margin-bottom: 20px"/>
<Cell left="总内存" :right="system.mem.total" divider/>
<Cell left="剩余内存" :right="system.mem.free"/>
</el-card>
</el-col>
<el-col :span="8">
<el-card v-if="system.disk" body-style="text-align: center;">
<div slot="header">
<span>磁盘信息</span>
</div>
<el-progress type="circle" :percentage="system.disk.percent" style="margin-bottom: 20px"/>
<Cell left="总存储" :right="system.disk.total" divider/>
<Cell left="剩余存储" :right="system.disk.free"/>
</el-card>
</el-col>
</el-row>
<el-card v-if="system.sys" style="margin-top: 10px">
<div slot="header">
<span>go运行环境</span>
</div>
<Cell left="GO版本" :right="system.sys.goOs" divider/>
<Cell left="GoArch" :right="system.sys.goArch" divider/>
<Cell left="GoVersion" :right="system.sys.goVersion" divider/>
<Cell left="Goroutine" :right="system.sys.goroutine"/>
</el-card>
<el-card v-if="system.sys" style="margin-top: 10px">
<div slot="header">
<span>服务器信息</span>
</div>
<Cell left="机器名称" :right="system.sys.hostname" divider/>
<Cell left="操作系统" :right="system.sys.platform" divider/>
<Cell left="内核版本" :right="system.sys.kernel" divider/>
<Cell left="CPU核心" :right="system.cpu.core" divider/>
<Cell left="CPU" :right="system.cpu.modelName"/>
</el-card>
</div>
</template>
<script>
import Cell from "@/components/Cell";
import axios from "axios";
export default {
name: 'Monitor',
components: {Cell},
created() {
this.$emit('update:route_path', this.$route.path)
this.$emit('update:route_name', ['基础信息', '系统信息'])
},
mounted() {
this.getData();
// const chatTimer = setInterval(() => {
// this.getData();
// }, 2000);
//
// this.$once('hook:beforeDestroy', () => {
// clearInterval(chatTimer);
// });
},
data() {
return {system: {}}
},
methods: {
getData() {
axios.get('/set/system', {}).then(resp => {
var data = resp.data.data
console.log(data);
this.system = data;
}).catch(error => {
this.$message.error('哦,请求出错');
console.log(error);
});
}
}
}
</script>
<style scoped>
.monitor {
display: flex;
justify-content: space-between;
align-items: center;
}
.monitor-left {
font-size: 14px;
}
.monitor-right {
font-size: 12px;
color: #909399;
}
</style>