<?php namespace app\manystore\model; use app\manystore\library\Auth; use think\Model; class ManystoreLog extends Model { // 开启自动写入时间戳字段 protected $autoWriteTimestamp = 'int'; // 定义时间戳字段名 protected $createTime = 'createtime'; protected $updateTime = ''; //自定义日志标题 protected static $title = ''; //自定义日志内容 protected static $content = ''; public static function setTitle($title) { self::$title = $title; } public static function setContent($content) { self::$content = $content; } public static function record($title = '') { $auth = Auth::instance(); $shop_id = 0; $store_id = 0; $username = __('Unknown'); if(!defined('SHOP_ID')){ define('SHOP_ID', 0); } if(!defined('STORE_ID')){ define('STORE_ID',0 ); } if($auth->isLogin()){ $shop_id = SHOP_ID ; $store_id = STORE_ID; $username = $auth->username; } $content = self::$content; if (!$content) { $content = request()->param('', null, 'trim,strip_tags,htmlspecialchars'); foreach ($content as $k => $v) { if (is_string($v) && strlen($v) > 200 || stripos($k, 'password') !== false) { unset($content[$k]); } } } $title = self::$title; if (!$title) { $title = []; $breadcrumb = Auth::instance()->getBreadcrumb(); foreach ($breadcrumb as $k => $v) { $title[] = $v['title']; } $title = implode(' ', $title); } self::create([ 'shop_id' => $shop_id ? $shop_id : 0, 'store_id' => $store_id ? $store_id : 0, 'title' => $title, 'content' => !is_scalar($content) ? json_encode($content) : $content, 'url' => substr(request()->url(), 0, 1500), 'username' => $username, 'useragent' => substr(request()->server('HTTP_USER_AGENT'), 0, 255), 'ip' => request()->ip() ]); } }