diff --git a/src/api/my/login_log.js b/src/api/my/login_log.js new file mode 100644 index 0000000..d8e9fcc --- /dev/null +++ b/src/api/my/login_log.js @@ -0,0 +1,24 @@ +import request from '@/utils/request' + +export function list (params) { + return request({ + url: '/my/login_log/list', + params, + }) +} + +export function remove (data) { + return request({ + url: '/my/login_log/delete', + method: 'post', + data, + }) +} + +export function batchDelete (data) { + return request({ + url: '/my/login_log/batchDelete', + method: 'post', + data, + }) +} diff --git a/src/router/index.js b/src/router/index.js index 76849f3..bbbb3ef 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -91,6 +91,12 @@ export const asyncRoutes = [ meta: { title: 'ShareRecord', icon: 'Share' /*keepAlive: true*/ }, component: () => import('@/views/my/share_record/index.vue'), }, + { + path: 'loginLog', + name: 'MyLoginLog', + meta: { title: 'LoginLog', icon: 'List' /*keepAlive: true*/ }, + component: () => import('@/views/my/login_log/index.vue'), + }, ], }, { diff --git a/src/views/login/log.js b/src/views/login/log.js index 7aecaf5..125f150 100644 --- a/src/views/login/log.js +++ b/src/views/login/log.js @@ -1,13 +1,18 @@ import { reactive, ref } from 'vue' -import { batchDelete, list, remove } from '@/api/login_log' -import { list as fetchPeers } from '@/api/peer' +import { list as admin_fetchPeers } from '@/api/peer' +import { list as my_fetchPeers } from '@/api/my/peer' import { ElMessage, ElMessageBox } from 'element-plus' import { useRoute } from 'vue-router' import { T } from '@/utils/i18n' +import { batchDelete as admin_batchDelete, list as admin_list, remove as admin_remove } from '@/api/login_log' +import { batchDelete as my_batchDelete, list as my_list, remove as my_remove } from '@/api/my/login_log' -export function useRepositories () { - const route = useRoute() - const user_id = route.query?.user_id +const apis = { + admin: { batchDelete: admin_batchDelete, list: admin_list, remove: admin_remove, fetchPeers: admin_fetchPeers }, + my: { batchDelete: my_batchDelete, list: my_list, remove: my_remove, fetchPeers: my_fetchPeers }, +} + +export function useRepositories (api_type = 'my') { const listRes = reactive({ list: [], total: 0, loading: false, @@ -16,16 +21,16 @@ export function useRepositories () { page: 1, page_size: 10, is_my: 0, - user_id: user_id ? parseInt(user_id) : null, + user_id: null, }) const getList = async () => { listRes.loading = true - const res = await list(listQuery).catch(_ => false) + const res = await apis[api_type].list(listQuery).catch(_ => false) listRes.loading = false if (res) { const uuids = res.data.list.filter(item => item.uuid).map(item => item.uuid) - const peers = await fetchPeers({ uuids }).catch(_ => false) + const peers = await apis[api_type].fetchPeers({ uuids }).catch(_ => false) if (peers?.data?.list) { res.data.list.forEach(item => { if (item.uuid) { @@ -55,7 +60,7 @@ export function useRepositories () { return false } - const res = await remove({ id: row.id }).catch(_ => false) + const res = await apis[api_type].remove({ id: row.id }).catch(_ => false) if (res) { ElMessage.success(T('OperationSuccess')) getList() @@ -77,7 +82,7 @@ export function useRepositories () { return false } - const res = await batchDelete({ ids }).catch(_ => false) + const res = await apis[api_type].batchDelete({ ids }).catch(_ => false) if (res) { ElMessage.success(T('OperationSuccess')) getList() diff --git a/src/views/login/log.vue b/src/views/login/log.vue index ee0110c..927fab6 100644 --- a/src/views/login/log.vue +++ b/src/views/login/log.vue @@ -13,7 +13,7 @@ - {{ T('Filter')}} + {{ T('Filter') }} {{ T('BatchDelete') }} @@ -32,11 +32,11 @@ - + - {{T('Delete')}} + {{ T('Delete') }} @@ -69,7 +69,7 @@ handlerQuery, del, batchdel, - } = useRepositories() + } = useRepositories('admin') onMounted(getList) onActivated(getList) diff --git a/src/views/my/login_log/index.vue b/src/views/my/login_log/index.vue new file mode 100644 index 0000000..4de89ed --- /dev/null +++ b/src/views/my/login_log/index.vue @@ -0,0 +1,78 @@ + + + + + + {{ T('Filter') }} + {{ T('BatchDelete') }} + + + + + + + + + + + + + + + + {{ T('Delete') }} + + + + + + + + + + + + + +