ulthon_admin
欢迎
目录和文件规范
系统架构
命名规范
php-cs-fixer
public/static目录规范
app/common目录规范
数据库规范
CURD
命令行
表结构
数据库迁移代码
最佳实践
数据库自动缓存
后台菜单导入导出
权限的用法
table数据表格
cols
operat
_if
titleField
field
selectList
valueParser
trueHide
fieldFormat
templet
defaultValue
search相关
time
defaultSearchValue
defaultToolbar
init
formFullScreen
toobar
modifyReload
控制器
CURD方法
导出
控制器通用验证
dataBrage向js传递参数
组件控件
select
下拉菜单option拼接
lay-submit
paste-text粘贴
multiple-columns
editor
data-upload上传
tag-input标签输入
property-input动态字段输入
data-date时间控件参数
table-data列表选择器
city-picker城市选择器
copy-text
全局监听组件
data-request
data-open
内置定时器
并发模式
重置密码
系统配置
PHP助手函数
sysconfig
JS助手函数
checkMobile
empty
open 弹框
叠加loading
getDataBrage
getQueryVariable
扩展机制
事件扩展
实现事件
执行事件
事件列表
AdminLayoutRequireAfter
LoadMigrationFiles
AdminLoginIndex
AdminLoginForget
AdminLoginType
AdminMenuTab
AdminLayoutRequireBefore
自动更新
性能优化
精简代码
关闭数据库日志驱动
皮肤
正常
科幻
其他
切换模块时直接切换内容
关闭上传文件注入检测
代码编译原理
接入workerman和命令参数
升级TP6.1
Request的默认过滤
异步引入全局script
线上安装脚本
兼容PHP8.1
特殊字段
- 默认开关字段:
- status
- 时间字段:
- create_time
- update_time
- delete_time
- 注意CURD默认开启软删除,且删除标志为0,因此尽量设置为not null,默认值0
- create_time和update_time虽然仅用作记录,但也尽量设置为not null,默认值0(TP会自动填充)
以特殊字符结尾的规则
- 默认
单图片
字段后缀- image
- logo
- photo
- icon
- 默认
多图片
字段后缀- images
- photos
- icons
- 默认
单文件
字段后缀- file
- 默认
多文件
字段后缀- files
注释说明
类型和数据可以通过特殊字符进行定义, 例如:性别 {radio} (1:男, 2:女, 0:未知)
, 代表的就是单选框, 数据集合为:['1'=>'男','2'=>'女','0'=>'未知']
。
数据集合的索引既可以使用数字,也可以使用英文单词,尽量不要使用其他字符和空格.
字符说明
- 类型
{}
包起来, 例如:{radio}
- 数据集
()
包起来, 例如:(1:男, 2:女, 0:未知)
类型大全
类型 | 说明 | 备注 | 注释案例 |
---|---|---|---|
text | 普通文本框 | 店铺名称 {text} (一般不需要写text ) |
|
image | 单图片 | 店铺logo {image} |
|
images | 多图片 | 店铺环境 {images} ,分隔符默认为竖线 |
|
file | 单文件 | 演示资料 {file} |
|
files | 多文件 | 演示资料 {file} ,默认分隔符为竖线 |
|
date | 时间组件 | 需要数据集 | 生日 {date} (datetime) |
editor | 富文本 | 店铺详情 {editor} |
|
textarea | 普通文本 | 店铺简介 {textarea} |
|
select | 下拉选择 | 需要数据集 | 版本 {select} (trial:免费版,office:正式版) |
switch | 开关组件 | 需要数据集 | 状态 {switch} (0:关闭,1:开启) |
checkbox | 多选框 | 需要数据集 | 功能权限 {checkbox} (mall:商城,blog:博客) |
radio | 单选框 | 需要数据集 | 状态 {radio} (0:未审核,1:审核中) |
relation | 关联表 | 需要指定格式数据集 | 标签 {relation} (table:tag,relationBindSelect:title) 详细参数见下表 |
table | 表格选择器 | 需要指定格式数据集 | 商品标签 {table} (table:mall_tag,type:checkbox,valueField:id,fieldName:title) 详细参数见下表 |
city | 城市选择器 | 需要指定格式数据集 | 仓库 {city} (level:city) 详细参数见下表 |
关联标的注释格式
参数 | 说明 | 备注 |
---|---|---|
table | 关联表明 | 必填 |
primaryKey | 关联表主键 | 非必填 |
modelFilename | 模型文件 | 非必填,不建议指定,可以自动生成 |
onlyFileds | 在列表页面显示的字段 | 可以指定,也可以生成之后自己去js 删除相关字段,使用竖线分割 |
relationBindSelect | 表单下拉关联自动 | 必填 |
关联标的完整适用方式
标签 {relation} (table:tag,relationBindSelect:title,primaryKey:id,onlyFileds:title|titme_image|username|phone)
使用案例
CREATE TABLE `ea_test_goods` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`sex` int(11) DEFAULT '1' COMMENT '性别 {radio} (1:男, 2:女, 0:未知)',
`checkbox` int(11) DEFAULT '1' COMMENT '测试多选 {checkbox} (1:选择1, 2:选择2, 3:选择3)',
`mode` int(11) DEFAULT '1' COMMENT '购买模式 {select} (1:正常购买, 2:秒杀活动)',
`cate_id` int(11) DEFAULT NULL COMMENT '分类ID {select}',
`title` varchar(20) NOT NULL COMMENT '商品名称',
`logo` varchar(500) DEFAULT NULL COMMENT '商品logo {image}',
`images` text COMMENT '商品图片 {images} (|)',
`describe` text COMMENT '商品描述',
`market_price` decimal(10,2) DEFAULT '0.00' COMMENT '市场价',
`discount_price` decimal(10,2) DEFAULT '0.00' COMMENT '折扣价',
`sales` int(11) DEFAULT '0' COMMENT '销量',
`virtual_sales` int(11) DEFAULT '0' COMMENT '虚拟销量',
`stock` int(11) DEFAULT '0' COMMENT '库存',
`total_stock` int(11) DEFAULT '0' COMMENT '总库存',
`test_datetime` datetime DEFAULT NULL COMMENT '测试完整时间{date}(datetime)',
`up_date` datetime DEFAULT NULL COMMENT '上架时间{date}(date)',
`sort` int(11) DEFAULT '0' COMMENT '排序',
`status` tinyint(1) unsigned DEFAULT '1' COMMENT '状态 {radio} (0:禁用,1:启用)',
`remark` varchar(255) DEFAULT NULL COMMENT '备注说明',
`create_time` int(11) DEFAULT 0 COMMENT '创建时间',
`update_time` int(11) DEFAULT 0 COMMENT '更新时间',
`delete_time` int(11) DEFAULT 0 COMMENT '删除时间',
PRIMARY KEY (`id`),
KEY `cate_id` (`cate_id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='商品列表';
其他细节
设计数据库时尽量设置默认值,比如:
`status` tinyint(1) unsigned DEFAULT '1' COMMENT '状态 {radio} (0:禁用,1:启用)'
默认值为1,那么添加数据时,表单会自动将radio
选中1:启用
.
原文标题:表结构
原文文档:ulthon_admin
原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/619efc9d7af62/zh-cn/2.x.html
原文平台:奥宏文档
2.x