ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
>[info] 仅限 tpadmin v1.1 代码自动生成功能能根据配置信息自动生成一个带添加、编辑、删除、回收站等与数据库对应的 CURD 基本操作,并且自动生成相应的前端、后端数据校验,对任何不合法数据说 No,生成的代码带规范的缩进、注释,方便根据需求二次编辑,也方便团队根据同一套代码规范开发 ##使用前准备 >[info] 代码自动生成有可选项涉及数据表创建,请保证连接数据库的用户有权限对数据表重命名、删除、创建 >[info] 代码自动生成需要对目录有可写权限,请 Linux\Mac OS 系统用户修改相应权限,没有权限时会抛出错误并且给出应使用的命令,由于每个人安装的服务器环境不同,可能权限修改为 755、777 都不好用,可以在生成代码后再次修改代码权限,或者将本地用户加入到 apache、php-fpm、nginx 用户组,Windows 系统没测试过,如果 Windows 系统有问题请留言反馈 ##配置 修改 `extend/Generate.php` 模型里的属性 `$blacklistName` 和 `$blacklistTable` 可以设置控制器和数据表黑名单,不允许创建这些控制器和数据表,防止代码被替换 ``` // 控制器黑名单 private $blacklistName = ['AdminGroup', 'AdminNode', 'AdminRole', 'AdminUser', 'AdminNodeLoad', 'Pub', 'Demo', 'Generate', 'Index', 'LogLogin', 'Ueditor', 'one.two.three.Forth']; // 数据表黑名单 private $blacklistTable = ['admin_group', 'admin_node', 'admin_role', 'admin_user', 'admin_node_load', 'log_login', 'file']; ``` ##开始使用 访问 [http://your.doamin.com/admin/generate](http://tpadmin.demo.tianpian.net.cn/admin/generate) >[warning] 上线部署时可以修改 admin/controller 目录下的 Generate 类名为 Generate1,只要修改成不是Generate的任何字符都行,或者部署时不要将此控制器部署到线上环境 ##使用说明 1. 控制器 - 名称 控制器名称必须符合 ThinkPHP5 的控制器命名规范,不分级控制器首字母大写,驼峰式,例如 `AdminGroup`,具体请看 ThinkPHP5 官方文档 [ThinkPHP5 - 开发规范](http://www.kancloud.cn/manual/thinkphp5/118007),多级控制器要求目录名全部小写,目录名之间用点隔开,控制器名按照上面要求,例如 `one.two.three.FourFiveSix`,对应 `one/two/three` 目录下的 `FourFiveSix` 控制器,具体请看 [ThinkPHP5 - 多级控制器](http://www.kancloud.cn/manual/thinkphp5/118054) >[info] ThinkPHP5 官方支持了多级控制器,但是在多级控制器使用 `think\Url::build()` 方法生成链接时会出现 bug ,请参考 [概要 - 注意](220267),自动生成的模型和验证器也同样使用相同规则生成对应多级控制器的目录,避免类名一样出现冲突,导致代码被替换 2. 控制器 - 标题 即控制器的中文名称,例如节点管理,该名称会自动备注到生成的控制器、验证器、模型、数据表、字段中 3. 表单元素 - 中文名称 生成的列表是一个表格,该中文名称即是表格对应列的列名,添加、编辑页的标签名,数据表字段的字段备注,以及验证器里对应字段的中文名 4. 表单元素 - 字段 生成列表表格对应列的字段名,数据表的字段名,验证器里的字段名,添加、编辑页表单控件的name名称 5. 表单元素 - 字段类型 添加、编辑页面表单控件的类型,对于 `radio`、`checkbox`、`select` 带选择功能的控件默认只生成一个控件模板,其他信息自己去代码中完善,对于 `id`、`isdelete`、`create_time`、`update_time` 字段会进行特殊处理,此处定义不会生成添加、编辑页的表单控件,表单控件任选一个即可 6. 表单元素 - 筛选排序 选择是,会在生成的列表页给该字段添加一个排序筛选的功能,点击后可以进行排序,即 `SQL` 语句里的 `asc|desc` 7. 表单元素 - 表单搜索 选择是,会在列表页和回收站自动生成一个表单搜索控件,默认自动生成模糊搜索 (%TEXT%),如果需要精确匹配请生成代码后到相应控制器删除掉模糊搜索条件,自动变成精确匹配,并且会自动进行关键词高亮 8. 表单元素 - 是否必填 选择是,会在前端生成相应的必填 * 号提示和正则校验,在验证器里也会相应生成require校验规则,实现前后端同时校验 9. 表单元素 - 验证规则 `validform` 插件的 `datatype` 属性,可以填写正则或内置的验证规则,此处填写后会在验证器里自动生成验证规则,由于验证规则复杂,验证器里只自动生成 `require` 验证,其他验证规则默认留空,如有需要请到验证器里完善 > `validform` 插件官方地址: [http://validform.rjboy.cn/](http://validform.rjboy.cn/) ,具体文档参考此处 10. 表单元素 - 验证为空提示信息 `validform` 插件里的 `nullmsg` 属性 11. 表单元素 - 格式错误提示信息 `validform` 插件里的 `errormsg` 属性 12. 数据表 - 创建数据表 会自动根据表字段里的配置生成相应的数据表,默认不会强制删除前表,字段可以点击后面的同步字段按钮同步上面表单元素里配置的字段,默认自动根据需要创建 `id`、`status`、`isdelete`、`create_time`、`update_time` 字段 13. 数据表 - 强制建表 勾选此项后会删除前表,然后创建新的表 > 由于删表不支持事物,但我做了一些处理,建表失败会回滚原表的表结构,数据不会回滚,此问题稍后会进行解决 14. 表字段 和数据库里创建表一样,但会根据情况自动创建 `id`、`status`、`isdelete`、`create_time`、`update_time` 字段,这些字段可以不用手动填写,也不会根据配置生成这些字段,这些字段只能通过场景自动生成 15. 首页菜单 列表首页默认最多会有 5 个功能菜单,勾选禁用、恢复,会默认创建 `status` 字段,勾选删除、回收站会自动创建 `isdelete` 字段,勾选回收站会自动创建回收站,全部勾选生成的模板默认直接继承公共模板文件 16. 创建模型 勾选后会自动创建模型,并且自动加入时间戳 (`create_time`、`update_time` 字段,`int(10) unsigned` 类型) 写入与更新 17. 创建验证器 勾选后自动创建验证器 生成的控制器自动控制假删除与模糊搜索,目录在 controller,生成的模板文件在 view 文件夹下,最多默认生成 `index.html、th.html`、`td.html`、`form.html`、`edit.html`、`recyclebin.html`,其他模板文件的新建请参考这几个模板文件的格式,使用模板继承,提高代码利用率及可维护性 >[danger] 由于官方有些源码不支持tpadmin后台,已做修改,请参考 [概要 - 注意](220267)