myzero1/yii2-moduar-site

它可以通过文本、截图或两者结合进行记录。

0.0.1 2018-10-12 07:12 UTC

This package is not auto-updated.

Last update: 2024-09-22 09:59:47 UTC


README

日志模块,包括文本日志、截图日志以及两者结合。

显示时间

安装

安装此模块的首选方式是通过 composer

运行以下命令:

php composer.phar require myzero1/yii2-log:1.*

或者在您的 composer.json 文件的 require 部分添加以下内容:

"myzero1/yii2-log": "~1"

设置

扩展安装后,只需修改您的应用程序配置文件(main.php)如下:

return [
    ......
    'bootstrap' => [
        ......
        'z1log',
        ......
    ],
    'modules' => [
        ......
        'z1log' => [
            'class' => '\myzero1\log\Module',    
            'params' => [
                'urlManager' => [
                    'rules' => [
                        // 'rate/area/index' => 'rate/jf-core-area/index',
                    ],
                ],
                'remarksFieldsKey' => [
                    'remark', // default filed
                    'r1', // custom field, can add it by yourself
                ],
                'userInfo' => [
                    'id' => function(){
                        if(\Yii::$app->user->isGuest){
                            $id = 0;
                        } else {
                            $id = \Yii::$app->user->identity->id;
                        }

                        return $id;
                    },
                    'name' => function(){
                        if(\Yii::$app->user->isGuest){
                            $name = 'system';
                        } else {
                            $name = \Yii::$app->user->identity->username;
                        }
                        
                        return $name;
                    }
                ],
                'template' => [
                    'user2/update' => [
                        'model' => 'all', // text,screenshot,all
                        'text' => function(){
                            return '修改用户'; 
                        },
                        'screenshot' => 'user2/update', // The template of screenshot
                        'obj' => [
                            'label' => '.field-user2-username .control-label',
                            'value' => '#user2-username',
                        ],
                        'remarks' => [// the items must be Closure
                            'remark' => function(){return 'default remark'.time();},
                            'r1' => function(){return 'r1'.time();},
                        ],
                    ],
                ],
            ],
        ],
        ......
    ],
    ......
];

应用迁移

    php yii migrate --migrationPath=@vendor/myzero1/yii2-log/src/migrations

用法

您可以通过以下URL访问Demo:

http://localhost/path/to/index.php?r=z1log/z1log-log/index

或者如果您已启用漂亮的URL,您可以使用以下URL:

http://localhost/path/to/index.php/z1log/z1log-log/index

在任何地方使用 z1logAdd 函数

\myzero1\log\components\export\Export::z1logAdd('all', 'user2/update', ['id'=>$model->id], 'create user', sprintf('username:%s', $model->username), ['remark'=>'this is a remark']);

使用场景

  • 只需在 mian.php 中添加配置,当我们要添加日志时,会与操作一起更新。· 截图将记录更新前的数据。

  • 在创建新记录时使用 z1logAdd API,在操作中我们得到新记录的ID,非常简单。

    /**
     * Creates a new User2 model.
     * If creation is successful, the browser will be redirected to the 'view' page.
     * @return mixed
     */
    public function actionCreate()
    {
        $model = new User2();

        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            
            \myzero1\log\components\export\Export::z1logAdd('all', 'user2/update', ['id'=>$model->id], 'create user', sprintf('username:%s', $model->username), '');

            Yii::$app->getSession()->setFlash('success', '添加成功');
            return \myzero1\adminlteiframe\helpers\Tool::redirectParent(['index']);
        } else {
            return $this->render('create', [
                'model' => $model,
            ]);
        }
    }
  • 在不需要与操作一起更新日志时使用 z1logAdd API。