多应用+插件架构,代码干净,支持一键云编译,码云点赞13K star,4.8-4.12 预售价格198元 广告
##控制器 `app\admin\controller\NodeMap` ##作用 建立一个操作日志的描述模板,将操作日志记录的节点图转化为可读易懂的语言 ##字段 | 名称 | 类型 | 说明 | | --- | --- | --- | | id | int(10) unsigned NOT NULL AUTO_INCREMENT | 主键 id | | module | char(6) NOT NULL | 节点图模块 | | map | varchar(255) NOT NULL | 节点图 | | is_ajax | tinyint(1) unsigned NOT NULL DEFAULT '0' | 是否是 ajax 请求 | | comment | varchar(255) NOT NULL | 节点图描述,即将节点图转化为可读易懂的语言 | ##使用说明 ###id 让它自增,别管它 ###module 当前模块名,例如 admin ###map 节点图,包含控制器的全名和方法名,严格大小写,例如 `AdminGroup/index`,`one.two.three.Forth/index` >[info] 请注意多级控制器的写法,控制器名和方法名全部是通过 `\think\Request::instance()->controller()` 和 `\think\Request::instance()->action()` 获取的,严格控制大小写 ###is_ajax 是否是 ajax 请求,很多的操作 ajax 请求和 GET 请求的业务逻辑不一样 ###comment **重点**, 这里要使用描述 + 占位符来填写节点图描述,这里拿个例子来说明一下: `{:__user__}编辑了用户{:id},修改真实名字为{:realname}` 比如这个,`{:__user__}` 表示操作用户的用户名占位符,`{:realname}` 表示请求参数中变量 `\think\Request::instance()->param('realname')` 的占位符,如果变量不存在,该占位符会保持为 `{:realname}` 不变,这实际上是变相使用的 ThinkPHP5 的多语言支持 >[info] `{:__user__}编辑了用户{:id},修改真实名字为{:realname}` 正常情况下对应的某条描述为 `超级管理员编辑了用户2,修改真实名字为测试` ##黑科技 这么多节点,几百个,我是懒得一个一个找一个一个加的,特别在存在类继承的情况下,所有为了方便大家添加节点图,可以点击 `自动导入`,会自动导入非 ajax 请求的节点,自动排除已导入的节点,不会对之前导入或添加的节点有任何影响,导入后再一个一个根据需要修改节点描述就行,对于 ajax 请求的节点图,就必须自己手动添加了,想更偷懒,那就 clone 源码然后自己修改成更智能的方式吧