tp5 后台操作日志 重写success方法

3 篇文章 0 订阅

tp5 后台操作日志 重写success方法

  1. 创建数据库 system_log

数据库在下方百度网盘链接中

  1. 创建Model Log.php
<?php

/**
 * 日志模型
 */
namespace app\Admin\model;
use think\Db;

class Logs{

    /**
     * 增加日志
     * @param int $uid 用户表示
     * @param string $username 用户名
     * @param string $controller 控制器
     * @param string $action 操作名
     * @param string $param 请求参数
     * @param string $ip IP
     * @param string $message 操作提示
     * @param int $role_id 角色表示
    */
    public function add($uid,$username,$controller,$action,$param,$ip,$message,$role_id){
        $data = array(
            'uid'         => $uid,//用户表示
            'username'    => $username,//用户名
            'controller'  => $controller,//控制器
            'action'      => $action,//操作
            'param'       => $param,//请求参数
            'ip'          => $ip,//ip
            'message'     => $message,//消息
            'role_id'     => $role_id,//角色表示
            'create_time' => time(),//创建时间
        );
        Db::name('system_log')->insert($data);
    }

}

3.在公用的控制器 Base中重写success方法

/**
 * 操作成功跳转的快捷方法
 * @access protected
 * @param string $message 提示信息
 * @param string $jumpUrl 页面跳转地址
 * @param mixed $ajax 是否为Ajax方式 当数字时指定跳转时间
 * @return void
 */
protected function success($msg = '', $url = null, $data = '', $wait = 3, array $header = []){
    //获取请求参数
    $request    = \think\Request::instance();
    $controller = $request->controller();
    $action     = $request->action();

    $no_auth = 0;
    //无需验证操作
    if(($module = config('auth_no_action')) && is_array($module)){
        if(empty($module[$controller]) == false){
            $action_arr = $module[$controller];
            if($action_arr == '*' || in_array($action,$action_arr)){
                $no_auth = 1;
            }
        }
    }

    if($controller!='Login'){
        $user = $this->user_info();
        if($user== true && $no_auth == 0){
            $param = array(
                'uid'        => $user['id'],//用户表示
                'username'   => $user['username'],//用户名
                'controller' => $controller,//控制器名
                'action'     => $action,//操作名
                'param'      => json_encode($request->param()),//请求参数
                'ip'         => $request->ip(),//IP
                'message'    => $msg,//消息
                'role_id'    => $user['roles_id'],//角色表示
            );
            call_user_func_array(array(model('Logs'),'add'),$param);
        }
        parent::success($msg, $url, $data, $wait, $header);
    }

}

所需要的附件
链接:https://pan.baidu.com/s/1Fa3I8lcC4iF5UX91XkZOhg
提取码:3bdp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值