🎨 新增用户登录日志功能
This commit is contained in:
@@ -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
|
||||||
|
})
|
||||||
|
}
|
@@ -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,
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user