3.3 KiB
3.3 KiB
OrganizeInternalOA Config表详细内容设计
Author: 筱锋xiao_lfeng | Version: 1.1.0
oa_config 数据表
数据表结构
序号 | 名称 | 描述 | 类型 | 键 | 为空 | 额外 | 默认值 |
---|---|---|---|---|---|---|---|
1 | id |
主键 | bigint unsigned | PRI | NO | auto_increment | |
2 | value |
调用关键字 | varchar(50) | UNI | NO | ||
3 | data |
json数据 | json | YES | |||
4 | created_at |
创建时间 | timestamp | NO | DEFAULT_GENERATED | CURRENT_TIMESTAMP | |
5 | updated_at |
修改时间 | timestamp | YES |
各功能内容解释
id
: 主键,构建索引所用value
: 构建索引,用于索引字符串内容,方便对data
的获取data
: 输出的 ‘json’ 数据(重要)created_at
: 创建时间updated_at
: 修改时间
说明
在这张数据表中,为存储相关配置信息,例如前端需要展示的轮播图、展览业、合作厂商列表、优秀成员列表等等,为了方便开发以及后续维护不需要进行额外进行对表的设计(对于新的一个前端展示功能模块就要新建一张表,显得麻烦),故将所有的内容压缩到这张表,需要展示的内容已结构化 json 数据存储到
data
字段。下面是内容举例。
假设我现在有一个config表 id value data
然后我有两个前端模块要动态(可修改)展示,一个是团队信息展示,另外一个轮播图,那么我新增一行 id为主键(不管),团队成员信息定义value:organize_user_info,设计数据结构,最终结构化为json存储到 data 轮播图一样,定义value: image_index,设计数据结构存储 data
一段时间后,有新的业务要展示,例如合作厂家展示
那就在这张表新建一行数据,定义value:cooperate,然后设计数据结构 存储data
以后有新的展示业务,以此类推。
这样取对应地方数据WHERE value后取出data,直接发送前端或定时(解析后给redis)。也不用一个业务新建一张表,也没那么多数据表查找循环。 对于数据体量非巨大的应该有一定可行性。
轮播图数据结构设计
{
"order": string,
"data": [
{
"display_order": integer,
"image": string,
"title": string,
"description": string,
"is_active": boolean,
"created_at": timestamp,
"updated_at": timestamp,
"author": string
},
{
......
}
]
}
order
: 展示顺序,可选值 [asc|desc]data
: 数据内容display_order
: 展示顺序(输入integer,自定义处理)image
: 图片地址title
: 标题description
: 描述is_active
: 是否展示 [true|false]created_at
: 创建时间updated_at
: 修改时间autohr
: 填写作者