BadouCMS 表结构说明(框架表 + CMS 表)

适用范围:本文只覆盖 框架表(19 张) 和 CMS 表(16 张),以及 CMS 动态生成的 DIY 表。
不包含插件/模块表(shop_*、ai_*、inquiry_*、vip_*、geo、seo、spiderlog_* 等)。

每张表独立成段,包含:用途 / 核心字段 / 关联关系 / 典型使用场景。
生成时间:2026-09-18

全局约定

编码含义定义位置
acode区域/语言编码,多站点隔离键,默认 cnbd_cms_area.acode
scode栏目编码bd_cms_content_sort.scode
mcode内容模型编码bd_cms_model.mcode
fcode表单编码bd_cms_form.fcode
gcode会员等级编码bd_user_level.gcode
gid / gtype / gnote分组 / 分组类型 / 分组备注各表内字段
aucode语言关联码,用于同一内容的多语言版本关联bd_cms_content.aucode

时间字段风格:CMS 表用 datetime(如 create_time),框架/用户/配置表用 bigint 时间戳(秒)。两套并存。

缓存约定:CMS 数据统一打 cms_cache 标签,框架配置打 sys_config 标签,后台菜单缓存键 __menu__。

一、框架表(19 张)

1. bd_admin — 后台管理员表

用途:存储后台管理员账号、登录状态与基础资料。

核心字段

字段说明
id管理员 ID
username登录名(唯一)
nickname昵称(后台显示、内容 create_user 存的值)
password密码哈希
email / mobile邮箱 / 手机
avatar头像
loginfailure连续登录失败次数
login_time / login_ip最后登录时间(bigint)/ IP
token登录会话标识,改用户名或密码时清空强制重登
status状态(normal 等)
create_time / update_time创建 / 更新时间(bigint)

关联关系

  • bd_admin_group_access.uid → bd_admin.id(多对多挂角色)
  • bd_admin_log.admin_id → bd_admin.id
  • bd_admin_group.rules 中的节点 ID → bd_admin_rule.id

典型使用场景

  • 后台登录认证(AdminAuth)。
  • 分配角色:通过 bd_admin_group_access 关联多个 bd_admin_group。
  • 操作日志记录操作人。

2. bd_admin_group — 后台权限组/角色表

用途:定义后台角色及其拥有的权限节点集合。

核心字段

字段说明
id角色 ID
pid父组 ID(支持角色层级)
name角色名称
rules权限规则 ID 列表(逗号分隔,对应 bd_admin_rule.id)
status状态
create_time / update_time时间(bigint)

关联关系

  • rules → bd_admin_rule.id
  • 被 bd_admin_group_access.group_id 引用

典型使用场景

  • 后台角色管理(超管、编辑、运营)。
  • 登录后聚合该组 rules 计算菜单与按钮权限。

3. bd_admin_group_access — 管理员-角色关联表

用途:管理员与权限组的多对多关系表。

核心字段

字段说明
uid管理员 ID
group_id角色 ID
uid + group_id联合唯一索引

关联关系

  • uid → bd_admin.id
  • group_id → bd_admin_group.id

典型使用场景

  • 给管理员分配一个或多个角色。
  • 权限校验时按 uid 反查所有 group_id。

4. bd_admin_rule — 后台菜单/权限节点表

用途:后台菜单树与权限节点的统一定义表。

核心字段

字段说明
id节点 ID
type0=菜单目录,1=菜单项,2=按钮
pid父节点 ID(树形自关联)
name权限标识(唯一,如 cms.content/index)
title显示名称
icon图标
url路由地址
condition显示条件
ismenu / is_quick是否菜单 / 是否快捷菜单
menutype_iframe / _blank
extend扩展属性
py / pinyin拼音检索
weigh排序权重
status状态

关联关系

  • pid 自关联形成菜单树
  • 被 bd_admin_group.rules 引用
  • Adminlog::record() 通过 name 反查 title 作为日志标题

典型使用场景

  • 后台左侧菜单渲染(缓存 __menu__)。
  • 按钮级权限校验。
  • 菜单/节点的增删改(菜单管理页)。

5. bd_admin_log — 后台操作日志表

用途:记录后台管理员的写操作,供审计追溯。

核心字段

字段说明
id日志 ID
admin_id操作人 ID
username操作人用户名
url请求 URL(截断 1500)
title日志标题(自动由菜单名生成)
data请求数据(JSON,已对 password/salt/token 脱敏)
ip客户端 IP
useragentUser-Agent
create_time操作时间

关联关系

  • admin_id → bd_admin.id

典型使用场景

  • 后台增删改自动写日志(Adminlog::record())。
  • 审计谁在何时改了什么。

6. bd_user — 会员表

用途:前台会员账号、资料、余额积分与登录信息。

核心字段

字段说明
id会员 ID
group_id会员组 ID
username / nickname / password登录名 / 昵称 / 密码哈希
email / mobile / avatar邮箱 / 手机 / 头像
level会员等级(对应 bd_user_level.gcode)
vipVIP 等级
gender / birthday / bio性别 / 生日 / 格言
money余额(decimal)
score积分
successions / maxsuccessions连续 / 最大连续登录天数
prevtime / logintime / loginip上次登录 / 登录时间 / 登录 IP
loginfailure / loginfailuretime失败次数 / 最后失败时间
joinip / jointime注册 IP / 时间
token登录令牌
status状态
verification邮箱/手机验证状态(JSON)

关联关系

  • group_id → bd_user_group.id
  • level → bd_user_level.gcode
  • 被 bd_cms_member_comment.uid/puid、bd_user_money_log.user_id、bd_user_score_log.user_id、bd_token.user_id 引用

典型使用场景

  • 前台注册 / 登录 / 个人中心。
  • 余额、积分变更(User::money() / User::score())。
  • 积分升级等级(nextlevel())。
  • 评论时作为评论人 / 被回复人。

7. bd_user_group — 会员组表

用途:定义前台会员分组及其功能权限。

核心字段

字段说明
id组 ID
name组名
rules权限节点 ID 列表
statusnormal / hidden
create_time / update_time时间(bigint)

关联关系

  • 被 bd_user.group_id 引用
  • rules → bd_user_rule.id

典型使用场景

  • 前台会员分级(普通、VIP、企业)。
  • 控制不同组可访问的前台功能。

8. bd_user_level — 会员等级表

用途:按积分区间划分会员等级。

核心字段

字段说明
id主键
gcode等级编码(唯一)
gname等级名称
description描述
status状态
lscore / uscore积分下限 / 上限
create_time / update_time时间

关联关系

  • 被 bd_user.level 引用(level 数值 = gcode)

典型使用场景

  • 积分变动后自动计算等级(User::score() → nextlevel())。
  • 等级权益展示。

9. bd_user_rule — 会员权限规则表

用途:前台会员功能权限节点定义(树形)。

核心字段

字段说明
id节点 ID
pid父节点 ID
name权限标识
title名称
remark备注
ismenu是否菜单
weigh权重
statusnormal / hidden
create_time / update_time时间

关联关系

  • pid 自关联成树
  • 被 bd_user_group.rules 引用

典型使用场景

  • 会员组权限勾选(UserRule::getTreeList())。
  • 前台功能鉴权。

10. bd_user_money_log — 会员余额变动流水表

用途:记录每一次会员余额的增减,可追溯。

核心字段

字段说明
id流水 ID
user_id会员 ID
money变更金额(可负)
before / after变更前 / 后余额
memo备注(如"管理员变更金额")
createtime时间(bigint)

关联关系

  • user_id → bd_user.id

典型使用场景

  • 后台改余额、前台消费/充值。
  • 财务对账与流水查询。

11. bd_user_score_log — 会员积分变动流水表

用途:记录每一次会员积分的增减。

核心字段

字段说明
id流水 ID
user_id会员 ID
score变更积分(可负)
before / after变更前 / 后积分
memo备注
createtime时间(bigint)

关联关系

  • user_id → bd_user.id

典型使用场景

  • 签到、消费、后台调整积分。
  • 积分明细查询。

12. bd_user_field — 会员自定义字段表(历史遗留)

用途:早期用于定义会员扩展字段。

核心字段

字段说明
id主键
name字段名
length长度
required是否必填
description描述
sorting排序
status状态
create_user / update_user / create_time / update_time审计字段

关联关系

  • 当前代码库中无任何引用

典型使用场景

  • 历史遗留表,现版本会员扩展字段已改为固定列,保留仅为兼容。

13. bd_config — 系统配置表

用途:全站系统参数的结构化配置(key/value + 表单元信息)。

核心字段

字段说明
id配置 ID
name变量名(唯一)
group分组(用于后台 Tab 归类)
title / tip变量标题 / 说明
type输入组件类型(string/textarea/editor/file/files/image/images/datetime/checkbox/radio/switch/select 等)
value变量值(longtext)
content字典数据(单选/多选/下拉选项,JSON)
rule验证规则
extend扩展属性
allow_del是否允许删除
weigh排序权重

关联关系

  • 逻辑上驱动后台"系统配置"表单
  • 缓存标签 sys_config
  • 无外键

典型使用场景

  • 站点基础设置、上传、邮件、短信、AI 等全局参数。
  • 读取:get_sys_config();写入:Config::setSysConfig()。

14. bd_attachment — 附件表

用途:记录上传的文件/图片及其元信息,统一附件管理。

核心字段

字段说明
id附件 ID
category类别(空视为 unclassed)
admin_id / user_id上传的后台管理员 / 会员
url文件路径
imagewidth / imageheight / imagetype / imageframes图片尺寸 / 类型 / 帧数
filename原始文件名
filesize文件大小
mimetypeMIME 类型
extparam透传参数
storage存储位置(local 或云存储标识)
sha1文件 SHA1
create_time / update_time / upload_time时间

关联关系

  • admin_id / user_id 弱关联操作人
  • url 被内容、封面、轮播等字段以字符串引用

典型使用场景

  • 后台附件管理、选择图片。
  • 云存储缩略图样式(thumb_style 依赖 storage 配置)。

15. bd_token — 用户 Token 表

用途:持久化前台/API 登录令牌,支持校验与过期。

核心字段

字段说明
token令牌(主键)
type令牌类型
user_id会员 ID
create_time / expire_time创建 / 过期时间(bigint)

关联关系

  • user_id → bd_user.id

典型使用场景

  • 前台登录态保持、API 鉴权、Token 过期清理。

16. bd_ems — 邮箱验证码表

用途:存储邮箱验证码发送记录,用于校验。

核心字段

字段说明
id主键
event事件(注册、找回密码等)
email目标邮箱
code验证码
times已校验次数
ip请求 IP
create_time时间(bigint)

关联关系

  • 无外键

典型使用场景

  • 发送 / 校验邮箱验证码,限制次数与频率。

17. bd_sms — 短信验证码表

用途:存储短信验证码发送记录,用于校验。

核心字段

字段说明
id主键
event事件
mobile目标手机号
code验证码
times已校验次数
ip请求 IP
create_time时间(bigint)

关联关系

  • 无外键

典型使用场景

  • 短信验证码发送与校验(注册、登录、改绑)。

18. bd_migrations — 数据库迁移记录表

用途:Phinx 迁移框架的版本记录表,标记已执行的迁移。

核心字段

字段说明
version迁移版本号(主键)
migration_name迁移名称
start_time / end_time开始 / 结束时间
breakpoint是否中断点

关联关系

  • 无外键

典型使用场景

  • 模块安装/升级时记录并跳过已执行的迁移。

19. bd_area — 省市区地区表(历史遗留)

用途:内置的省 / 市 / 区三级地区基础数据。

核心字段

字段说明
id地区 ID
pid父级 ID
shortname / name / mergename简称 / 名称 / 全称
level层级(1 省 / 2 市 / 3 区县)
pinyin / first拼音 / 首字母
code / zip区号 / 邮编
lng / lat经度 / 纬度

关联关系

  • pid 自关联
  • 当前代码库中无引用(电商地区使用 bd_shop_region)

典型使用场景

  • 历史遗留地区数据,现版本代码未使用。

二、CMS 表(16 张)

20. bd_cms_content — 内容/文章主表

用途:存储文章、产品、单页等所有 CMS 内容。

核心字段

字段说明
id内容 ID
acode区域编码
scode所属栏目编码
subscode副栏目编码
title / titlecolor / subtitle标题 / 标题颜色 / 副标题
filename自定义 URL 别名(自动去重)
author / source作者 / 来源
outlink外链地址(有值则跳转)
date发布日期
ico缩略图(为空自动从正文提取首图)
pics / picstitle多图路径 / 多图标题(逗号分隔)
content正文(mediumtext)
tags关键词字符串(用于标签检索)
enclosure附件
keywords / descriptionSEO 关键字 / 描述(为空自动截取正文)
sorting排序(默认 255)
status状态
istop / isrecommend / isheadline置顶 / 推荐 / 头条
visits / likes / oppose访问 / 点赞 / 反对
create_user / update_user创建 / 更新人昵称
create_time / update_time创建 / 更新时间
gtype / gid / gnote分组类型 / 分组 / 备注
aucode语言关联码(多语言内容关联)

关联关系

  • scode → bd_cms_content_sort.scode(Content::contentsort())
  • acode → bd_cms_area.acode
  • 扩展值:bd_cms_content_ext.contentid → 本表 id(删除时级联删除)
  • 被 bd_cms_member_comment.contentid 引用

典型使用场景

  • 后台内容列表 / 编辑 / 复制 / 移动栏目。
  • 前台文章详情、列表、搜索。
  • 单页模型(type=1)栏目自动创建一条内容。

21. bd_cms_content_ext — 内容扩展字段值表

用途:存储各内容模型自定义字段的值。

核心字段

字段说明
extid扩展记录 ID
contentid关联内容 ID
ext_*动态列,列名由 bd_cms_extfield.name 定义(如 ext_price、ext_color)

关联关系

  • contentid → bd_cms_content.id
  • 列结构由 bd_cms_extfield 定义,增删字段会 ALTER 本表

典型使用场景

  • 产品价格、颜色、规格等自定义字段读写(ContentExt::getExtData())。
  • 模型字段变更时自动加列 / 改列 / 删列。

22. bd_cms_content_sort — 栏目/分类表

用途:CMS 栏目树(分类),绑定列表页与内容页模板。

核心字段

字段说明
id栏目 ID
acode区域编码
mcode所属内容模型编码
pcode父栏目编码(树形自关联)
scode栏目编码(唯一)
aucode语言关联码
name栏目名称
listtpl / contenttpl列表页 / 内容页模板
status状态
outlink外链(有值则栏目跳外链)
subname附加名称
def1 / def2 / def3栏目自定义描述
ico / pic缩略图 / 大图
title / keywords / descriptionSEO 信息
filename自定义 URL 别名
sorting排序
create_user / update_user / create_time / update_time审计字段
gtype / gid / gnote分组信息

关联关系

  • mcode → bd_cms_model.mcode(ContentSort::models())
  • pcode 自关联(树,防循环校验)
  • scode 被 bd_cms_content.scode 引用
  • acode → bd_cms_area.acode

典型使用场景

  • 栏目管理、拖拽排序、模板绑定。
  • 获取子栏目(getChildrenIds())。
  • 单页模型(type=1)自动建内容。

23. bd_cms_model — 内容模型表

用途:定义内容类型(文章、产品、单页等)及其模板。

核心字段

字段说明
id模型 ID
mcode模型编码(唯一)
name模型名称
type1=单页,2=列表
urlnameURL 名称
listtpl / contenttpl默认列表 / 内容模板
status状态
issystem是否系统内置模型
create_user / update_user / create_time / update_time审计字段

关联关系

  • mcode 被 bd_cms_content_sort.mcode 和 bd_cms_extfield.mcode 引用

典型使用场景

  • 新建内容模型(如"产品""案例")。
  • 决定栏目是单页还是列表形态。

24. bd_cms_extfield — 模型字段定义表

用途:为内容模型定义自定义字段,并同步修改扩展表结构。

核心字段

字段说明
id字段 ID
mcode所属模型编码
name字段名(必须以 ext_ 开头)
type字段类型(1 单行/2 多行/3 单选/4 多选/5 单图/6 附件/7 日期/8 编辑器/9 下拉/10 多图/11 多图标题/12 二列数组/15 三列数组)
value单选 / 多选的可选值
description字段描述
sorting排序

关联关系

  • mcode → bd_cms_model.mcode
  • name 对应 bd_cms_content_ext 的实际列

典型使用场景

  • 后台"模型字段"管理。
  • 新增字段自动 ALTER bd_cms_content_ext;删除字段自动 DROP COLUMN。
  • 多图类型自动追加一个 *title 字段。

25. bd_cms_area — CMS 区域/站点/语言表

用途:多站点 / 多语言 / 多域名区域的核心表。

核心字段

字段说明
id区域 ID
acode区域编码(唯一,如 cn、en)
pcode父区域编码
name区域名称
domain绑定域名
is_default是否默认区域(全局唯一)
create_user / update_user / create_time / update_time审计字段
status状态

关联关系

  • acode 被几乎所有 CMS 表的 acode 引用
  • 删除区域时级联删除 bd_cms_site、bd_cms_company 对应记录

典型使用场景

  • 新增语言/站点区域,自动创建语言包文件。
  • 前台按域名解析 acode 实现多站点。
  • 默认区域与启用状态保护(不可删默认/启用区域)。

26. bd_cms_site — 站点配置表

用途:按区域保存站点级配置(SEO、主题、备案、统计等)。

核心字段

字段说明
id配置 ID
acode区域编码
title / subtitle站点标题 / 副标题
domain站点地址
logoLOGO
keywords / descriptionSEO 关键字 / 描述
icp备案号
theme主题
statistical统计代码
copyright版权信息

关联关系

  • acode → bd_cms_area.acode

典型使用场景

  • 后台"站点设置"。
  • 前台模板读取站点 SEO、主题、备案。

27. bd_cms_company — 公司信息表

用途:按区域保存公司联系方式等企业信息。

核心字段

字段说明
id主键
acode区域编码
name公司名称
address / postcode地址 / 邮编
contact / mobile / phone / fax联系人 / 手机 / 电话 / 传真
email / qq / weixin邮箱 / QQ / 微信
blicense营业执照
other其他信息

关联关系

  • acode → bd_cms_area.acode

典型使用场景

  • 前台页脚、联系我们页面。
  • 区域删除时级联清理。

28. bd_cms_tags — 文章内链词表

用途:配置正文中自动加链接的关键词(SEO 内链)。

核心字段

字段说明
id主键
acode区域编码
name关键词名称
link跳转链接
create_user / update_user / create_time / update_time审计字段

关联关系

  • acode → bd_cms_area.acode
  • 与 bd_cms_content.tags 不同:本表是"关键词自动内链"配置

典型使用场景

  • 前台正文渲染时为指定关键词自动加超链接。

29. bd_cms_link — 友情链接表

用途:友情链接管理,支持分组。

核心字段

字段说明
id主键
acode区域编码
gid分组 ID
name链接名称
link跳转链接
logo图片地址
sorting排序
create_user / update_user / create_time / update_time审计字段

关联关系

  • acode → bd_cms_area.acode
  • gid 逻辑分组(非外键)

典型使用场景

  • 前台页脚友链展示,按分组调用。

30. bd_cms_slide — 轮播图表

用途:管理各区域/分组的轮播图。

核心字段

字段说明
id主键
acode区域编码
gid分组 ID
pic图片
link跳转链接
title / subtitle标题 / 副标题
sorting排序
create_user / update_user / create_time / update_time审计字段

关联关系

  • acode → bd_cms_area.acode
  • gid 逻辑分组

典型使用场景

  • 首页 / 栏目轮播图,按 acode + gid 调用。

31. bd_cms_label — 定制标签表

用途:供模板调用的全局自定义标签(如电话、版权、Banner)。

核心字段

字段说明
id主键
acode区域编码
name标签名
value标签值
type字段类型(1 单行/2 日期/3 单图/4 附件/5 编辑器/6 开关/7 多行/8 多图/9 下拉/11 多图标题/12 二列数组/15 三列数组)
description描述
create_user / update_user / create_time / update_time审计字段

关联关系

  • acode → bd_cms_area.acode
  • 多图类型自动追加 *title 标签

典型使用场景

  • 模板中用 {bd:label name="xxx"} 输出全局内容。
  • 后台"定制标签"维护。

32. bd_cms_member_comment — 会员评论表

用途:存储会员对内容的评论与回复。

核心字段

字段说明
id评论 ID
pid父评论 ID(回复关系)
contentid内容 ID
comment评论内容
uid评论人 ID
puid被回复人 ID
likes / oppose点赞 / 反对
status显示状态
user_ip / user_os / user_bsIP / 系统 / 浏览器
create_time / update_time时间
update_user更新人

关联关系

  • contentid → bd_cms_content.id(MemberComment::content())
  • uid → bd_user.id(user())
  • puid → bd_user.id(puser())
  • pid 自关联(评论树)

典型使用场景

  • 内容详情页评论、回复、点赞。
  • 后台评论审核与回复。

33. bd_cms_message — 在线留言表

用途:存储前台在线留言/简易表单的提交数据。

核心字段

字段说明
id留言 ID
acode区域编码
mobile联系电话
content留言内容
user_ip / user_os / user_bsIP / 系统 / 浏览器
recontent管理员回复内容
status是否前台显示
uid会员 ID(默认匿名)
dianhua电话(扩展字段)
create_user / update_user / create_time / update_time审计字段

关联关系

  • acode → bd_cms_area.acode
  • uid → bd_user.id(默认匿名用户)
  • 对应 bd_cms_form 中 fcode=1 的"在线留言"表单

典型使用场景

  • 前台"在线留言"提交。
  • 后台留言查看、回复、导出。

34. bd_cms_form — 自定义表单表

用途:定义自定义表单,并为其动态创建数据表。

核心字段

字段说明
id主键
fcode表单编码(唯一,自增生成)
form_name表单名称
table_name数据表名(自动加 cms_diy_ 前缀)
create_user / update_user / create_time / update_time审计字段

关联关系

  • table_name 指向动态创建的 bd_cms_diy_* 数据表
  • fcode 被 bd_cms_form_field.fcode 引用

典型使用场景

  • 后台新建自定义表单(报名、预约、询价)。
  • 创建时自动建表(固定含 id/acode/create_time)。
  • fcode=1 为内置"在线留言",不可删除。

35. bd_cms_form_field — 表单字段定义表

用途:定义自定义表单的字段,并同步修改对应数据表。

核心字段

字段说明
id主键
fcode所属表单编码
name字段名
length字段长度
required是否必填
description描述
sorting排序
create_user / update_user / create_time / update_time审计字段

关联关系

  • fcode → bd_cms_form.fcode
  • name 对应表单数据表(bd_cms_diy_*)的实际列

典型使用场景

  • 表单字段设计;增删字段自动 ALTER 对应 DIY 数据表。

三、CMS 动态生成的 DIY 表

由 bd_cms_form 创建表单时动态生成,表名 bd_cms_diy_<table_name>,固定包含:

字段说明
id自增主键
acode区域编码
create_time提交时间
<自定义字段>由 bd_cms_form_field 定义

当前库中的 DIY 表:bd_cms_diy_aaa、bd_cms_diy_abcd、bd_cms_diy_baoming、bd_cms_diy_ces、bd_cms_diy_job、bd_cms_diy_test1、bd_diy_aaaa

典型使用场景

  • 自定义表单提交数据落库;后台按表单查看/导出数据。

四、关键关联链速查

bd_cms_area.acode
   ├─ bd_cms_content.acode
   ├─ bd_cms_content_sort.acode
   ├─ bd_cms_site.acode
   ├─ bd_cms_company.acode
   ├─ bd_cms_link.acode / bd_cms_slide.acode / bd_cms_label.acode
   ├─ bd_cms_message.acode / bd_cms_tags.acode
   └─ bd_cms_diy_*.acode

bd_cms_model.mcode
   ├─ bd_cms_content_sort.mcode
   └─ bd_cms_extfield.mcode ──(name)──> bd_cms_content_ext 的列

bd_cms_content_sort.scode
   └─ bd_cms_content.scode

bd_cms_content.id
   ├─ bd_cms_content_ext.contentid
   └─ bd_cms_member_comment.contentid

bd_cms_form.fcode
   ├─ bd_cms_form_field.fcode ──(name)──> bd_cms_diy_* 的列
   └─ table_name ──> bd_cms_diy_*

bd_admin.id
   ├─ bd_admin_group_access.uid ──> bd_admin_group.id ──> bd_admin_rule.id
   └─ bd_admin_log.admin_id

bd_user.id
   ├─ bd_user_money_log.user_id
   ├─ bd_user_score_log.user_id
   ├─ bd_cms_member_comment.uid / puid
   └─ bd_token.user_id

bd_user_group.id ──> bd_user.group_id
bd_user_level.gcode ──> bd_user.level

两套"动态列"机制(易混淆)

  • bd_cms_extfield + bd_cms_content_ext:给内容模型加字段。
  • bd_cms_form_field + bd_cms_diy_*:给自定义表单加字段。
    两者都是直接改物理表结构,而非 EAV 键值存储。

更新时间:2026-09-18 22:29:39

文章目录