feat: support deleting logs based on filtering results (#35)

* feat: support deleting logs based on filtering results

* fix(record): fix the problem of wrong number of parameters when outputting delete logs
This commit is contained in:
Li4n0
2021-07-22 22:46:11 +08:00
committed by GitHub
parent 206808e83a
commit 9863821dbc
22 changed files with 322 additions and 32 deletions
+1 -1
View File
@@ -1 +1 @@
.custom-icons-list[data-v-05a908c2] .anticon{margin-right:6px}body[data-v-1bc6d13e],html[data-v-1bc6d13e]{height:100%;margin:0}.fade-transform-enter-active[data-v-1bc6d13e],.fade-transform-leave-active[data-v-1bc6d13e]{transition:all .3s;opacity:0}.fade-transform-enter[data-v-1bc6d13e],.fade-transform-leave[data-v-1bc6d13e]{opacity:0}.fade-transform-enter-to[data-v-1bc6d13e]{opacity:0}.ant-menu-item>span>a[data-v-1bc6d13e]{color:hsla(0,0%,100%,.65)}.ant-menu-item-selected>span>a[data-v-1bc6d13e]{color:#fff}#app[data-v-1bc6d13e]{min-height:100%}#app .trigger[data-v-1bc6d13e]{font-size:18px;line-height:64px;padding:0 24px;cursor:pointer;transition:color .3s}#app .trigger[data-v-1bc6d13e]:hover{color:#1890ff}#app .logo[data-v-1bc6d13e]{height:32px;background:#0a1d2d;margin:16px;text-align:center;font-size:1.2rem;color:#fff;padding-bottom:5px;border-bottom:2px solid #b6befa}.copyright[data-v-1bc6d13e]{color:#888;text-align:right;margin-right:1rem}
.custom-icons-list[data-v-05a908c2] .anticon{margin-right:6px}body[data-v-3b44ba10],html[data-v-3b44ba10]{height:100%;margin:0}.fade-transform-enter-active[data-v-3b44ba10],.fade-transform-leave-active[data-v-3b44ba10]{transition:all .3s;opacity:0}.fade-transform-enter[data-v-3b44ba10],.fade-transform-leave[data-v-3b44ba10]{opacity:0}.fade-transform-enter-to[data-v-3b44ba10]{opacity:0}.ant-menu-item>span>a[data-v-3b44ba10]{color:hsla(0,0%,100%,.65)}.ant-menu-item-selected>span>a[data-v-3b44ba10]{color:#fff}#app[data-v-3b44ba10]{min-height:100%}#app .trigger[data-v-3b44ba10]{font-size:18px;line-height:64px;padding:0 24px;cursor:pointer;transition:color .3s}#app .trigger[data-v-3b44ba10]:hover{color:#1890ff}#app .logo[data-v-3b44ba10]{height:32px;background:#0a1d2d;margin:16px;text-align:center;font-size:1.2rem;color:#fff;padding-bottom:5px;border-bottom:2px solid #b6befa}.copyright[data-v-3b44ba10]{color:#888;text-align:right;margin-right:1rem}
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+27 -4
View File
@@ -62,7 +62,7 @@
/>
<div v-if="isLogMode" style="float: right; min-width:60% ;padding: 12px 0;line-height: 24px;">
<a-row :gutter="24" type="flex">
<a-col :span="21">
<a-col :span="20">
<a-form-model v-show="showSettings" ref="settings" layout="inline">
<a-row :gutter="24" type="flex">
<a-col :span="9" :offset="2">
@@ -80,9 +80,23 @@
</a-row>
</a-form-model>
</a-col>
<a-col :span="3">
<a-col :span="4">
<a-popconfirm
:title="showLogNum?`This will delete all logs in the current filtered state, a total of ${this.$refs.content.pagination.total}, are you sure?`:'This will delete all logs in the current filtered state, a total of 0, are you sure?'"
ok-text="Yes"
cancel-text="No"
@visibleChange="showLogNum?delayChangeShowLogNum():showLogNum=!showLogNum"
@confirm="deleteLogs"
>
<a-icon slot="icon" type="question-circle-o" style="color: red"/>
<a-icon
:style="'font-size: 18px;padding: 12px 0;'"
type="delete"
@click="()=>{}"
/>
</a-popconfirm>
<a-icon
:style="'font-size: 18px;padding: 12px 0;'+(showSettings?'color: #1b90ff;':'')"
:style="'font-size: 18px;padding:12px 15px;'+(showSettings?'color: #1b90ff;':'')"
type="setting"
@click="showSettings = !showSettings"
/>
@@ -123,6 +137,7 @@ export default {
pageSize: store.pageSize,
collapsed: false,
showSettings: false,
showLogNum: false,
openKeys: [],
version: "",
};
@@ -130,7 +145,7 @@ export default {
computed: {
isLogMode() {
return this.$route.path.includes('logs')
}
},
},
methods: {
timing() {
@@ -145,6 +160,14 @@ export default {
getVersion().then(res => {
this.version = res.data.result
})
},
deleteLogs() {
this.$refs.content.delete()
},
delayChangeShowLogNum() {
setTimeout(() => {
this.showLogNum = !this.showLogNum
}, 1000)
}
},
mounted() {
+41
View File
@@ -9,6 +9,15 @@ export function getHttpRecord(params) {
})
}
export function deleteHttpRecord(params) {
return request({
url: '/record/http',
params: params,
method: 'delete',
})
}
export function getDnsRecord(params) {
return request({
url: '/record/dns',
@@ -17,6 +26,14 @@ export function getDnsRecord(params) {
})
}
export function deleteDnsRecord(params) {
return request({
url: '/record/dns',
params: params,
method: 'delete'
})
}
export function getMysqlRecord(params) {
return request({
url: '/record/mysql',
@@ -25,6 +42,14 @@ export function getMysqlRecord(params) {
})
}
export function deleteMysqlRecord(params) {
return request({
url: '/record/mysql',
params: params,
method: 'delete'
})
}
export function getRmiRecord(params) {
return request({
url: '/record/rmi',
@@ -33,10 +58,26 @@ export function getRmiRecord(params) {
})
}
export function deleteRmiRecord(params) {
return request({
url: '/record/rmi',
params: params,
method: 'delete'
})
}
export function getFtpRecord(params) {
return request({
url: '/record/ftp',
params: params,
method: 'get'
})
}
export function deleteFtpRecord(params) {
return request({
url: '/record/ftp',
params: params,
method: 'delete'
})
}
+16 -1
View File
@@ -37,7 +37,7 @@
</style>
<script>
import {getDnsRecord} from '@/api/record'
import {deleteDnsRecord, getDnsRecord} from '@/api/record'
import {store} from '@/main'
import FilterDropdown from '@/components/FilterDropdown'
@@ -145,6 +145,21 @@ export default {
}
})
},
delete: function () {
let params = {
...this.filters,
}
this.loading = true;
deleteDnsRecord(params).then(() => {
this.$message.success('Deleted successfully')
this.filters = {}
this.fetch()
}).catch(e => {
if (e.response.status !== 403) {
this.$message.error('Failed to delete: ' + e.response.data.error)
}
})
},
},
mounted() {
this.fetch();
+16 -1
View File
@@ -72,7 +72,7 @@
</style>
<script>
import {getFtpRecord} from '@/api/record'
import {deleteFtpRecord, getFtpRecord} from '@/api/record'
import {store} from '@/main'
import FilterDropdown from '@/components/FilterDropdown'
@@ -234,6 +234,21 @@ export default {
}
})
},
delete: function () {
let params = {
...this.filters,
}
this.loading = true;
deleteFtpRecord(params).then(() => {
this.$message.success('Deleted successfully')
this.filters = {}
this.fetch()
}).catch(e => {
if (e.response.status !== 403) {
this.$message.error('Failed to delete: ' + e.response.data.error)
}
})
},
},
mounted() {
this.fetch();
+16 -1
View File
@@ -49,7 +49,7 @@
</style>
<script>
import {getHttpRecord} from '@/api/record'
import {getHttpRecord, deleteHttpRecord} from '@/api/record'
import {store} from '@/main'
import FilterDropdown from '@/components/FilterDropdown'
@@ -179,6 +179,21 @@ export default {
}
})
},
delete: function () {
let params = {
...this.filters,
}
this.loading = true;
deleteHttpRecord(params).then(() => {
this.$message.success('Deleted successfully')
this.filters = {}
this.fetch()
}).catch(e => {
if (e.response.status !== 403) {
this.$message.error('Failed to delete: ' + e.response.data.error)
}
})
},
},
mounted() {
this.fetch();
+16 -1
View File
@@ -70,7 +70,7 @@
</style>
<script>
import {getMysqlRecord} from '@/api/record'
import {deleteMysqlRecord, getMysqlRecord} from '@/api/record'
import {store} from '@/main'
import FilterDropdown from '@/components/FilterDropdown'
@@ -231,6 +231,21 @@ export default {
}
})
},
delete: function () {
let params = {
...this.filters,
}
this.loading = true;
deleteMysqlRecord(params).then(() => {
this.$message.success('Deleted successfully')
this.filters = {}
this.fetch()
}).catch(e => {
if (e.response.status !== 403) {
this.$message.error('Failed to delete: ' + e.response.data.error)
}
})
},
},
mounted() {
this.fetch();
+18 -2
View File
@@ -37,7 +37,7 @@
</style>
<script>
import {getRmiRecord} from '@/api/record'
import {deleteRmiRecord, getRmiRecord} from '@/api/record'
import {store} from '@/main'
import FilterDropdown from '@/components/FilterDropdown'
@@ -110,7 +110,8 @@ export default {
onShowSizeChange: (current, size) => {
store.pageSize = size
}
}, filters: {},
},
filters: {},
order: "desc",
loading: false,
columns,
@@ -146,6 +147,21 @@ export default {
}
})
},
delete: function () {
let params = {
...this.filters,
}
this.loading = true;
deleteRmiRecord(params).then(() => {
this.$message.success('Deleted successfully')
this.filters = {}
this.fetch()
}).catch(e => {
if (e.response.status !== 403) {
this.$message.error('Failed to delete: ' + e.response.data.error)
}
})
},
},
mounted() {
this.fetch();