🎨 新增用户登录日志功能

This commit is contained in:
2025-09-08 01:48:17 +08:00
parent 568575d8da
commit 773f13104b
3 changed files with 98 additions and 6 deletions

View File

@@ -75,3 +75,13 @@ export const setVip = (data) => {
data data
}) })
} }
// GetLoginInfo
export const getLoginInfo = (params) => {
return service({
url: '/app_user/login/log',
method: 'get',
params
})
}

View File

@@ -291,6 +291,86 @@ export const ORDER_TABLE_CONFIG = {
} }
] ]
} }
// 用户登录日志搜索配置
export const LOGIN_LOG_SEARCH_CONFIG = [
{
type: 'input',
prop: 'user_id',
label: '用户ID',
placeholder: '请输入用户ID',
},
{
type: 'input',
prop: 'user_name',
label: '用户名称',
placeholder: '请输入用户名称',
}
]
// 用户登录日志表格配置
export const LOGIN_LOG_TABLE_CONFIG = {
index: true,
schemes: [
{
attrs: {
label: '用户ID',
prop: 'user_id',
align: 'center'
}
},
{
attrs: {
label: '用户名称',
prop: 'user_name',
align: 'center'
}
},
{
attrs: {
label: '手机号',
prop: 'phone',
align: 'center'
}
},
{
attrs: {
label: '登录IP',
prop: 'ip',
align: 'center'
}
},
{
attrs: {
label: '登录地址',
prop: 'address',
align: 'center'
}
},
{
attrs: {
label: '设备信息',
prop: 'device',
align: 'center'
}
},
{
attrs: {
label: '登录方式',
prop: 'mode',
align: 'center'
}
},
{
attrs: {
label: '登录时间',
prop: 'login_time',
align: 'center'
},
slot: 'login_time'
}
]
}
// 用户列表 // 用户列表
export const USER_TABLE_CONFIG = { export const USER_TABLE_CONFIG = {
index: true, index: true,
@@ -365,6 +445,7 @@ export const USER_TABLE_CONFIG = {
} }
] ]
} }
// 文章列表 // 文章列表
export const ARTICLE_TABLE_CONFIG = { export const ARTICLE_TABLE_CONFIG = {
index: true, index: true,

View File

@@ -12,7 +12,7 @@
<div class="gva-btn-list"> <div class="gva-btn-list">
<el-button type="info" @click="exportOrders">导出订单</el-button> <el-button type="info" @click="exportOrders">导出订单</el-button>
</div> </div>
<!-- 订单统计信息 --> <!-- 订单统计信息 -->
<div style="margin-bottom: 20px; padding: 15px; background: #f8f9fa; border-radius: 8px;"> <div style="margin-bottom: 20px; padding: 15px; background: #f8f9fa; border-radius: 8px;">
<el-row :gutter="20"> <el-row :gutter="20">
@@ -66,7 +66,8 @@
<el-table-column type="index" label="序号" width="60" align="center" /> <el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="order_no" label="订单号" align="center" min-width="180" /> <el-table-column prop="order_no" label="订单号" align="center" min-width="180" />
<el-table-column prop="title" label="商品名称" align="center" min-width="150" /> <el-table-column prop="title" label="商品名称" align="center" min-width="150" />
<el-table-column prop="name" label="用户姓名" align="center" width="100" /> <el-table-column prop="name" label="用户姓名" align="center" width="100" />
<el-table-column prop="user_id" label="用户ID" align="center" width="100" />
<el-table-column label="价格" align="center" width="100"> <el-table-column label="价格" align="center" width="100">
<template #default="{ row }"> <template #default="{ row }">
<span class="text-green-600 font-bold">{{ formatPrice(row.price) }}</span> <span class="text-green-600 font-bold">{{ formatPrice(row.price) }}</span>
@@ -106,7 +107,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<div style="margin-top: 20px; text-align: right;"> <div style="margin-top: 20px; text-align: right;">
<el-pagination <el-pagination
@@ -308,7 +309,7 @@ function getOrderStats() {
.gva-btn-list { .gva-btn-list {
margin-bottom: 20px; margin-bottom: 20px;
} }
.el-row { .el-row {
.el-col { .el-col {
.el-statistic { .el-statistic {
@@ -317,12 +318,12 @@ function getOrderStats() {
background: white; background: white;
border-radius: 8px; border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
.el-statistic__number { .el-statistic__number {
font-size: 24px; font-size: 24px;
font-weight: bold; font-weight: bold;
} }
.el-statistic__label { .el-statistic__label {
color: #666; color: #666;
margin-top: 8px; margin-top: 8px;