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 表单下拉关联自动 必填

关联标的完整适用方式

  1. 标签 {relation} (table:tag,relationBindSelect:title,primaryKey:id,onlyFileds:title|titme_image|username|phone)

使用案例

  1. CREATE TABLE `ea_test_goods` (
  2. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  3. `sex` int(11) DEFAULT '1' COMMENT '性别 {radio} (1:男, 2:女, 0:未知)',
  4. `checkbox` int(11) DEFAULT '1' COMMENT '测试多选 {checkbox} (1:选择1, 2:选择2, 3:选择3)',
  5. `mode` int(11) DEFAULT '1' COMMENT '购买模式 {select} (1:正常购买, 2:秒杀活动)',
  6. `cate_id` int(11) DEFAULT NULL COMMENT '分类ID {select}',
  7. `title` varchar(20) NOT NULL COMMENT '商品名称',
  8. `logo` varchar(500) DEFAULT NULL COMMENT '商品logo {image}',
  9. `images` text COMMENT '商品图片 {images} (|)',
  10. `describe` text COMMENT '商品描述',
  11. `market_price` decimal(10,2) DEFAULT '0.00' COMMENT '市场价',
  12. `discount_price` decimal(10,2) DEFAULT '0.00' COMMENT '折扣价',
  13. `sales` int(11) DEFAULT '0' COMMENT '销量',
  14. `virtual_sales` int(11) DEFAULT '0' COMMENT '虚拟销量',
  15. `stock` int(11) DEFAULT '0' COMMENT '库存',
  16. `total_stock` int(11) DEFAULT '0' COMMENT '总库存',
  17. `test_datetime` datetime DEFAULT NULL COMMENT '测试完整时间{date}(datetime)',
  18. `up_date` datetime DEFAULT NULL COMMENT '上架时间{date}(date)',
  19. `sort` int(11) DEFAULT '0' COMMENT '排序',
  20. `status` tinyint(1) unsigned DEFAULT '1' COMMENT '状态 {radio} (0:禁用,1:启用)',
  21. `remark` varchar(255) DEFAULT NULL COMMENT '备注说明',
  22. `create_time` int(11) DEFAULT 0 COMMENT '创建时间',
  23. `update_time` int(11) DEFAULT 0 COMMENT '更新时间',
  24. `delete_time` int(11) DEFAULT 0 COMMENT '删除时间',
  25. PRIMARY KEY (`id`),
  26. KEY `cate_id` (`cate_id`)
  27. ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='商品列表';

其他细节

设计数据库时尽量设置默认值,比如:

  1. `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