修复文档模型栏目无法选择的bug,记录用户操作行为
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
namespace app\http\middleware;
|
namespace app\http\middleware;
|
||||||
|
|
||||||
|
use app\model\MemberLog;
|
||||||
use think\facade\Session;
|
use think\facade\Session;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -17,14 +18,15 @@ class Admin {
|
|||||||
|
|
||||||
public function handle($request, \Closure $next) {
|
public function handle($request, \Closure $next) {
|
||||||
$request->rootUid = env('rootuid');
|
$request->rootUid = env('rootuid');
|
||||||
$request->user = Session::get('userInfo');
|
$request->user = Session::get('adminInfo');
|
||||||
$request->url = str_replace(".", "/", strtolower($request->controller())) . '/' . $request->action();
|
$request->url = str_replace(".", "/", strtolower($request->controller())) . '/' . $request->action();
|
||||||
|
|
||||||
$request->pageConfig = array(
|
$request->pageConfig = array(
|
||||||
'list_rows' => $request->param('limit', 20),
|
'list_rows' => $request->param('limit', 20),
|
||||||
'page' => $request->param('page', 1),
|
'page' => $request->param('page', 1),
|
||||||
'query' => $request->param()
|
'query' => $request->param(),
|
||||||
);
|
);
|
||||||
|
MemberLog::record($request);
|
||||||
|
|
||||||
$response = $next($request);
|
$response = $next($request);
|
||||||
return $response;
|
return $response;
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
namespace app\model;
|
namespace app\model;
|
||||||
|
|
||||||
|
use app\model\Model as Models;
|
||||||
|
use sent\tree\Tree;
|
||||||
use think\facade\Config;
|
use think\facade\Config;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
use sent\tree\Tree;
|
|
||||||
use app\model\Model as Models;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置模型
|
* 设置模型
|
||||||
@@ -128,7 +128,7 @@ class Attribute extends \think\Model {
|
|||||||
if ($db->CheckField($data['extra'], 'model_id')) {
|
if ($db->CheckField($data['extra'], 'model_id')) {
|
||||||
$map[] = ['model_id', '=', $data['model_id']];
|
$map[] = ['model_id', '=', $data['model_id']];
|
||||||
}
|
}
|
||||||
$row = Db::name($data['extra'])->select($map)->toArray();
|
$row = Db::name($data['extra'])->where($map)->select()->toArray();
|
||||||
foreach ($row as $val) {
|
foreach ($row as $val) {
|
||||||
$list[] = ['key' => $val['id'], 'label' => $val['title']];
|
$list[] = ['key' => $val['id'], 'label' => $val['title']];
|
||||||
}
|
}
|
||||||
@@ -181,7 +181,7 @@ class Attribute extends \think\Model {
|
|||||||
['name' => 'value', 'title' => '默认值', 'help' => '字段的默认值', 'type' => 'text'],
|
['name' => 'value', 'title' => '默认值', 'help' => '字段的默认值', 'type' => 'text'],
|
||||||
['name' => 'remark', 'title' => '字段备注', 'help' => '用于表单中的提示', 'type' => 'text'],
|
['name' => 'remark', 'title' => '字段备注', 'help' => '用于表单中的提示', 'type' => 'text'],
|
||||||
['name' => 'is_show', 'title' => '是否显示', 'help' => '是否显示在表单中', 'type' => 'select', 'option' => [
|
['name' => 'is_show', 'title' => '是否显示', 'help' => '是否显示在表单中', 'type' => 'select', 'option' => [
|
||||||
['key'=>'1', 'label' => '始终显示'], ['key'=>'2', 'label' => '新增显示'], ['key'=>'3', 'label' => '编辑显示'], ['key'=>'0', 'label' => '不显示']
|
['key' => '1', 'label' => '始终显示'], ['key' => '2', 'label' => '新增显示'], ['key' => '3', 'label' => '编辑显示'], ['key' => '0', 'label' => '不显示'],
|
||||||
], 'value' => 1],
|
], 'value' => 1],
|
||||||
['name' => 'is_must', 'title' => '是否必填', 'help' => '用于自动验证', 'type' => 'select', 'option' => [['key' => '0', 'label' => '否'], ['key' => '1', 'label' => '是']]],
|
['name' => 'is_must', 'title' => '是否必填', 'help' => '用于自动验证', 'type' => 'select', 'option' => [['key' => '0', 'label' => '否'], ['key' => '1', 'label' => '是']]],
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ class MemberLog extends Model {
|
|||||||
public static function record($request) {
|
public static function record($request) {
|
||||||
$data = [
|
$data = [
|
||||||
'uid' => $request->user['uid'],
|
'uid' => $request->user['uid'],
|
||||||
|
'title' => self::getCurrentTitle($request),
|
||||||
'url' => $request->baseUrl(),
|
'url' => $request->baseUrl(),
|
||||||
'param' => $request->param(),
|
'param' => $request->param(),
|
||||||
'method' => $request->method(),
|
'method' => $request->method(),
|
||||||
@@ -46,4 +47,33 @@ class MemberLog extends Model {
|
|||||||
public function user() {
|
public function user() {
|
||||||
return $this->hasOne('Member', 'uid', 'uid')->field('uid,nickname,username');
|
return $this->hasOne('Member', 'uid', 'uid')->field('uid,nickname,username');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static function getCurrentTitle($request) {
|
||||||
|
$mate = '';
|
||||||
|
$controller = strtr(strtolower($request->controller()), '.', '\\');
|
||||||
|
$action = $request->action();
|
||||||
|
$class = "\\app\\controller\\" . $controller;
|
||||||
|
if (class_exists($class)) {
|
||||||
|
$reflection = new \ReflectionClass($class);
|
||||||
|
$group_doc = self::Parser($reflection->getDocComment());
|
||||||
|
if (isset($group_doc['title'])) {
|
||||||
|
$mate = $group_doc['title'];
|
||||||
|
}
|
||||||
|
$method = $reflection->getMethods(\ReflectionMethod::IS_FINAL | \ReflectionMethod::IS_PUBLIC);
|
||||||
|
foreach ($method as $key => $v) {
|
||||||
|
if ($action == $v->name) {
|
||||||
|
$title_doc = self::Parser($v->getDocComment());
|
||||||
|
if (isset($title_doc['title'])) {
|
||||||
|
$mate = $title_doc['title'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $mate;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static function Parser($text) {
|
||||||
|
$doc = new \doc\Doc();
|
||||||
|
return $doc->parse($text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user