From 74394293f0b3eff471c50bd59be1981a6d50db4c Mon Sep 17 00:00:00 2001 From: PPPSCN <35696959@qq.com> Date: Thu, 15 Mar 2018 20:06:17 +0800 Subject: [PATCH 01/33] =?UTF-8?q?1.=E5=A2=9E=E9=95=BFadmin=5Flog.url?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E9=95=BF=E5=BA=A6varchar(2000)=202.=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=B8=80=E9=94=AE=E7=94=9F=E6=88=90CRUD=E6=97=B6admin?= =?UTF-8?q?=5Fids=E5=AD=97=E6=AE=B5=E5=A4=9A=E9=80=89=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E6=A1=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + application/admin/command/Crud.php | 2 ++ application/admin/command/Install/fastadmin.sql | 2 +- application/admin/controller/auth/Admin.php | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1962050f5..e04395f5b 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ composer.lock *.css.map !.gitkeep .env +/.svn diff --git a/application/admin/command/Crud.php b/application/admin/command/Crud.php index fef1e16fb..09fc347cf 100755 --- a/application/admin/command/Crud.php +++ b/application/admin/command/Crud.php @@ -603,6 +603,8 @@ class Crud extends Command $attrArr['data-params'] = '##replacetext##'; $search = '"##replacetext##"'; $replace = '\'{"custom[type]":"' . $table . '"}\''; + } elseif ($selectpageController == 'admin') { + $attrArr['data-source'] = 'auth/admin/selectpage'; } if ($this->isMatchSuffix($field, $this->selectpagesSuffix)) { $attrArr['data-multiple'] = 'true'; diff --git a/application/admin/command/Install/fastadmin.sql b/application/admin/command/Install/fastadmin.sql index 506109760..5f7069298 100755 --- a/application/admin/command/Install/fastadmin.sql +++ b/application/admin/command/Install/fastadmin.sql @@ -50,7 +50,7 @@ CREATE TABLE `fa_admin_log` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `admin_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '管理员ID', `username` varchar(30) NOT NULL DEFAULT '' COMMENT '管理员名字', - `url` varchar(255) NOT NULL DEFAULT '' COMMENT '操作页面', + `url` varchar(2000) NOT NULL DEFAULT '' COMMENT '操作页面', `title` varchar(100) NOT NULL DEFAULT '' COMMENT '日志标题', `content` text NOT NULL COMMENT '内容', `ip` varchar(50) NOT NULL DEFAULT '' COMMENT 'IP', diff --git a/application/admin/controller/auth/Admin.php b/application/admin/controller/auth/Admin.php index c3747b5d0..e1b99adbd 100644 --- a/application/admin/controller/auth/Admin.php +++ b/application/admin/controller/auth/Admin.php @@ -262,7 +262,7 @@ class Admin extends Backend /** * 下拉搜索 */ - protected function selectpage() + public function selectpage() { $this->dataLimit = 'auth'; $this->dataLimitField = 'id'; -- Gitee From fcde614faeebf13518dce8b01c79f6f4241f0f75 Mon Sep 17 00:00:00 2001 From: PPPSCN <35696959@qq.com> Date: Sun, 18 Mar 2018 22:13:02 +0800 Subject: [PATCH 02/33] =?UTF-8?q?=E4=BC=98=E5=8C=96=20ajax/area=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E4=B8=80=E9=94=AECRUD=E7=94=9F=E6=88=90=E7=9A=84row?= =?UTF-8?q?=E6=95=B0=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/controller/Ajax.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/application/admin/controller/Ajax.php b/application/admin/controller/Ajax.php index 5c40c065b..fa67be737 100644 --- a/application/admin/controller/Ajax.php +++ b/application/admin/controller/Ajax.php @@ -264,8 +264,9 @@ class Ajax extends Backend */ public function area() { - $province = $this->request->get('province'); - $city = $this->request->get('city'); + $params = $this->request->get("row/a"); + $province = !empty($params['province']) ? $params['province'] : $this->request->get('province'); + $city = !empty($params['city']) ? $params['city'] : $this->request->get('city'); $where = ['pid' => 0, 'level' => 1]; $provincelist = null; if ($province !== '') -- Gitee From a2c2189fe9742520a1ac590bbbeb44d9f1159b2d Mon Sep 17 00:00:00 2001 From: PPPSCN <35696959@qq.com> Date: Mon, 19 Mar 2018 10:24:53 +0800 Subject: [PATCH 03/33] =?UTF-8?q?=E5=BC=80=E5=90=AF=E5=85=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=87=AA=E5=8A=A8=E7=BB=91=E5=AE=9A=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=EF=BC=8C=E4=BB=A5=E4=BE=BFadmin.php=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E5=90=8E=E5=8F=B0=EF=BC=8C=E5=B9=B6=E5=85=BC?= =?UTF-8?q?=E5=AE=B9addons=E6=8F=92=E4=BB=B6=E8=AE=BF=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/config.php | 4 ++-- public/admin.php | 18 ++---------------- public/admin.php.bak | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 18 deletions(-) create mode 100644 public/admin.php.bak diff --git a/application/config.php b/application/config.php index 8a4c11259..15f1512b0 100755 --- a/application/config.php +++ b/application/config.php @@ -26,7 +26,7 @@ return [ // 是否支持多模块 'app_multi_module' => true, // 入口自动绑定模块 - 'auto_bind_module' => false, + 'auto_bind_module' => true, // 注册的根命名空间 'root_namespace' => [], // 扩展函数文件 @@ -245,7 +245,7 @@ return [ //FastAdmin配置 'fastadmin' => [ //登录验证码 - 'login_captcha' => false, + 'login_captcha' => true, //是否同一账号同一时间只能在一个地方登录 'login_unique' => false, //登录页默认背景图 diff --git a/public/admin.php b/public/admin.php index a1c1350d3..004784df8 100644 --- a/public/admin.php +++ b/public/admin.php @@ -9,9 +9,7 @@ // +---------------------------------------------------------------------- // | Author: liu21st // +---------------------------------------------------------------------- -// [ 后台入口文件 ] -// 使用此文件可以达到隐藏admin模块的效果 -// 建议将admin.php改成其它任意的文件名,同时修改config.php中的'deny_module_list',把admin模块也添加进去 +// [ 应用入口文件 ] // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); @@ -23,16 +21,4 @@ if (!is_file(APP_PATH . 'admin/command/Install/install.lock')) } // 加载框架引导文件 -require __DIR__ . '/../thinkphp/base.php'; - -// 绑定到admin模块 -\think\Route::bind('admin'); - -// 关闭路由 -\think\App::route(false); - -// 设置根url -\think\Url::root(''); - -// 执行应用 -\think\App::run()->send(); +require __DIR__ . '/../thinkphp/start.php'; diff --git a/public/admin.php.bak b/public/admin.php.bak new file mode 100644 index 000000000..a1c1350d3 --- /dev/null +++ b/public/admin.php.bak @@ -0,0 +1,38 @@ + +// +---------------------------------------------------------------------- +// [ 后台入口文件 ] +// 使用此文件可以达到隐藏admin模块的效果 +// 建议将admin.php改成其它任意的文件名,同时修改config.php中的'deny_module_list',把admin模块也添加进去 +// 定义应用目录 +define('APP_PATH', __DIR__ . '/../application/'); + +// 判断是否安装FastAdmin +if (!is_file(APP_PATH . 'admin/command/Install/install.lock')) +{ + header("location:./install.php"); + exit; +} + +// 加载框架引导文件 +require __DIR__ . '/../thinkphp/base.php'; + +// 绑定到admin模块 +\think\Route::bind('admin'); + +// 关闭路由 +\think\App::route(false); + +// 设置根url +\think\Url::root(''); + +// 执行应用 +\think\App::run()->send(); -- Gitee From d1e45a27569133847ae3d516fbf6ddfdfd1c1283 Mon Sep 17 00:00:00 2001 From: PPPSCN <35696959@qq.com> Date: Mon, 19 Mar 2018 15:43:47 +0800 Subject: [PATCH 04/33] =?UTF-8?q?1=E3=80=81=E9=BB=98=E8=AE=A4=E5=BC=80?= =?UTF-8?q?=E5=90=AF=E5=AF=BC=E5=85=A5=EF=BC=88import=EF=BC=89=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=202=E3=80=81=E9=BB=98=E8=AE=A4=E4=B8=8D=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E7=AC=AC=E4=B8=80=E5=88=97(checkbox)=E4=B8=8E?= =?UTF-8?q?=E6=93=8D=E4=BD=9C(operate)=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/command/Crud/stubs/controller.stub | 4 ++++ application/admin/command/Crud/stubs/javascript.stub | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/application/admin/command/Crud/stubs/controller.stub b/application/admin/command/Crud/stubs/controller.stub index 4c1b888af..9b7af80d1 100644 --- a/application/admin/command/Crud/stubs/controller.stub +++ b/application/admin/command/Crud/stubs/controller.stub @@ -29,6 +29,10 @@ class {%controllerName%} extends Backend * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 */ + public function import() + { + return parent::import(); + } {%controllerIndex%} } diff --git a/application/admin/command/Crud/stubs/javascript.stub b/application/admin/command/Crud/stubs/javascript.stub index 6b938cf9f..a2fd24759 100644 --- a/application/admin/command/Crud/stubs/javascript.stub +++ b/application/admin/command/Crud/stubs/javascript.stub @@ -9,18 +9,25 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin add_url: '{%controllerUrl%}/add', edit_url: '{%controllerUrl%}/edit', del_url: '{%controllerUrl%}/del', + import_url: '{%controllerUrl%}/import', multi_url: '{%controllerUrl%}/multi', table: '{%table%}', } }); var table = $("#table"); + var date = new Date(); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: '{%pk%}', sortName: '{%order%}', + exportTypes: ['csv', 'excel'], + exportOptions: { + fileName: '{%controllerUrl%}_' + date.getFullYear() + '-' + date.getMonth() + '-' + date.getDate(), + ignoreColumn: [0, 'operate'], //默认不导出第一列(checkbox)与操作(operate)列 + }, columns: [ [ {%javascriptList%} -- Gitee From 7d6c804db15eee45ca506602595e01f2d89a4122 Mon Sep 17 00:00:00 2001 From: PPPSCN <35696959@qq.com> Date: Wed, 28 Mar 2018 21:42:10 +0800 Subject: [PATCH 05/33] =?UTF-8?q?1=E3=80=81=E9=BB=98=E8=AE=A4=E5=BC=80?= =?UTF-8?q?=E5=90=AF=E5=AF=BC=E5=85=A5=EF=BC=88import=EF=BC=89=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E2=80=94=E2=80=94=E6=B3=A8=E9=87=8Abug=202=E3=80=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96=20ajax/area=E5=85=BC=E5=AE=B9=E4=B8=80?= =?UTF-8?q?=E9=94=AECRUD=E7=94=9F=E6=88=90=E7=9A=84row=E6=95=B0=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/command/Crud/stubs/controller.stub | 6 +++++- application/admin/controller/Ajax.php | 12 ++++++++++-- application/admin/lang/zh-cn.php | 1 + 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/application/admin/command/Crud/stubs/controller.stub b/application/admin/command/Crud/stubs/controller.stub index 9b7af80d1..d4e70604e 100644 --- a/application/admin/command/Crud/stubs/controller.stub +++ b/application/admin/command/Crud/stubs/controller.stub @@ -23,12 +23,16 @@ class {%controllerName%} extends Backend $this->model = model('{%modelName%}'); {%controllerAssignList%} } - + /** * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 */ + + /** + * 导入 + */ public function import() { return parent::import(); diff --git a/application/admin/controller/Ajax.php b/application/admin/controller/Ajax.php index fa67be737..75d5c7456 100644 --- a/application/admin/controller/Ajax.php +++ b/application/admin/controller/Ajax.php @@ -265,8 +265,16 @@ class Ajax extends Backend public function area() { $params = $this->request->get("row/a"); - $province = !empty($params['province']) ? $params['province'] : $this->request->get('province'); - $city = !empty($params['city']) ? $params['city'] : $this->request->get('city'); + if (!empty($params)) + { + $province = isset($params['province']) ? $params['province'] : ''; + $city = isset($params['city']) ? $params['city'] : null; + } + else + { + $province = $this->request->get('province'); + $city = $this->request->get('city'); + } $where = ['pid' => 0, 'level' => 1]; $provincelist = null; if ($province !== '') diff --git a/application/admin/lang/zh-cn.php b/application/admin/lang/zh-cn.php index 483fd47fb..1174f021e 100755 --- a/application/admin/lang/zh-cn.php +++ b/application/admin/lang/zh-cn.php @@ -169,4 +169,5 @@ return [ 'Admin log tips' => '管理员可以查看自己所拥有的权限的管理员日志', 'Group tips' => '角色组可以有多个,角色有上下级层级关系,如果子角色有角色组和管理员的权限则可以派生属于自己组别的下级角色组或管理员', 'Rule tips' => '规则通常对应一个控制器的方法,同时左侧的菜单栏数据也从规则中体现,通常建议通过命令行进行生成规则节点', + 'Set to recommend' => '设为推荐', ]; -- Gitee From a65a63373c0e1ae7d68e12d5b83aa19c3c3f19dc Mon Sep 17 00:00:00 2001 From: PPPSCN <35696959@qq.com> Date: Fri, 6 Apr 2018 23:44:18 +0800 Subject: [PATCH 06/33] =?UTF-8?q?selectpage=E6=94=AF=E6=8C=81=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=A0=91=E5=BD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/common/controller/Backend.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/application/common/controller/Backend.php b/application/common/controller/Backend.php index 77a5f817f..41189ab54 100644 --- a/application/common/controller/Backend.php +++ b/application/common/controller/Backend.php @@ -8,6 +8,7 @@ use think\Controller; use think\Hook; use think\Lang; use think\Session; +use fast\Tree; /** * 后台控制器基类 @@ -124,6 +125,10 @@ class Backend extends Controller Hook::listen('admin_nologin', $this); $url = Session::get('referer'); $url = $url ? $url : $this->request->url(); + if ($url == '/') { + $this->redirect('index/login', [], 302, ['referer' => $url]); + exit; + } $this->error(__('Please login first'), url('index/login', ['url' => $url])); } // 判断是否需要验证权限 @@ -431,6 +436,12 @@ class Backend extends Controller $searchfield = (array) $this->request->request("searchField/a"); //自定义搜索条件 $custom = (array) $this->request->request("custom/a"); + //是否返回树形结构 + $istree = $this->request->request("isTree", 0); + if($istree) { + $word = []; + $pagesize = 99999; + } $order = []; foreach ($orderby as $k => $v) { @@ -481,6 +492,15 @@ class Backend extends Controller ->field("{$primarykey},{$field}") ->field("password,salt", true) ->select(); + if($istree) { + $tree = Tree::instance(); + $tree->init(collection($list)->toArray(), 'pid'); + $list = $tree->getTreeList($tree->getTreeArray(0), 'name'); + foreach ($list as &$item) { + $item = str_replace(' ', ' ', $item); + } + unset($item); + } } //这里一定要返回有list这个字段,total是可选的,如果total<=list的数量,则会隐藏分页按钮 return json(['list' => $list, 'total' => $total]); -- Gitee From a282d5d779ee414e95fbec5bd5ecc8501a979b27 Mon Sep 17 00:00:00 2001 From: PPPSCN <35696959@qq.com> Date: Fri, 6 Apr 2018 23:45:22 +0800 Subject: [PATCH 07/33] =?UTF-8?q?crud=E9=BB=98=E8=AE=A4=E7=A6=81=E7=94=A8?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/command/Crud/stubs/controller.stub | 2 ++ application/admin/command/Crud/stubs/index.stub | 2 +- application/admin/command/Crud/stubs/javascript.stub | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/application/admin/command/Crud/stubs/controller.stub b/application/admin/command/Crud/stubs/controller.stub index d4e70604e..ee83f1155 100644 --- a/application/admin/command/Crud/stubs/controller.stub +++ b/application/admin/command/Crud/stubs/controller.stub @@ -33,10 +33,12 @@ class {%controllerName%} extends Backend /** * 导入 */ + /* public function import() { return parent::import(); } + */ {%controllerIndex%} } diff --git a/application/admin/command/Crud/stubs/index.stub b/application/admin/command/Crud/stubs/index.stub index b06eaae85..3c80ea8ff 100644 --- a/application/admin/command/Crud/stubs/index.stub +++ b/application/admin/command/Crud/stubs/index.stub @@ -10,7 +10,7 @@ {:__('Add')} {:__('Edit')} {:__('Delete')} - {:__('Import')} +