• 微服务项目:尚融宝(32)(后端搭建:会员列表搭建(3))


    认清现实,放弃幻想,准备斗争

    显示登录日志

    一、后端接口实现

    1、Controller

    AdminUserLoginRecordController

    1. @Api(tags = "会员登录日志接口")
    2. @RestController
    3. @RequestMapping("/admin/core/userLoginRecord")
    4. @Slf4j
    5. @CrossOrigin
    6. public class AdminUserLoginRecordController {
    7. @Resource
    8. private UserLoginRecordService userLoginRecordService;
    9. @ApiOperation("获取会员登录日志列表")
    10. @GetMapping("/listTop50/{userId}")
    11. public R listTop50(
    12. @ApiParam(value = "用户id", required = true)
    13. @PathVariable Long userId) {
    14. List userLoginRecordList = userLoginRecordService.listTop50(userId);
    15. return R.ok().data("list", userLoginRecordList);
    16. }
    17. }

    2、Service

    接口:UserLoginRecordService

    List listTop50(Long userId);

    实现:UserLoginRecordServiceImpl 

    1. @Override
    2. public List listTop50(Long userId) {
    3. QueryWrapper userLoginRecordQueryWrapper = new QueryWrapper<>();
    4. userLoginRecordQueryWrapper
    5. .eq("user_id", userId)
    6. .orderByDesc("id")
    7. .last("limit 50");
    8. List userLoginRecords = baseMapper.selectList(userLoginRecordQueryWrapper);
    9. return userLoginRecords;
    10. }

    这里进行了按照登录时间进行了排序,并截取前50登录的数据 

    二、前端整合

    1、定义api

    src/api/core/user-info.js

    1. getuserLoginRecordTop50(userId) {
    2. return request({
    3. url: `/admin/core/userLoginRecord/listTop50/${userId}`,
    4. method: 'get'
    5. })
    6. }

    2、定义页面组件脚本 

    1. // 根据id查询会员日志记录
    2. showLoginRecord(id) {
    3. //打开对话框
    4. this.dialogTableVisible = true
    5. //加载数据列表
    6. userInfoApi.getuserLoginRecordTop50(id).then(response => {
    7. this.loginRecordList = response.data.list
    8. })
    9. }

    3、定义页面组件模板

    src/views/core/user-info/list.vue

    在操作列添加按钮:

    1. <el-button
    2. type="primary"
    3. size="mini"
    4. @click="showLoginRecord(scope.row.id)"
    5. >
    6. 登录日志
    7. el-button>

    在模板最后添加对话框 

    1. <el-dialog title="用户登录日志" :visible.sync="dialogTableVisible">
    2. <el-table :data="loginRecordList" border stripe>
    3. <el-table-column type="index" />
    4. <el-table-column prop="ip" label="IP" />
    5. <el-table-column prop="createTime" label="登录时间" />
    6. el-table>
    7. el-dialog>

     

     

     

  • 相关阅读:
    GPU-CUDA-图形渲染分析
    Java Date加八小时
    科技创造价值 | 云扩科技荣登真榜·中国科技创新品牌榜TOP100
    Win11dll文件缺失怎么修复?Win11系统dll文件丢失的解决方法
    Redis单线程源码深入解析
    基于FPGA的自动白平衡算法实现
    基于低代码平台打造高度灵活性的OA系统
    记一次stm32开发的环境搭建过程
    以 Golang 为例详解 AST 抽象语法树
    想要精通算法和SQL的成长之路 - 二叉树的判断问题(子树判断 | 对称性 | 一致性判断)
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/126812747