linlinjava / litemall

又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端
MIT License
19.11k stars 7.17k forks source link

没有数据字典功能 #164

Open yixiong2000 opened 5 years ago

yixiong2000 commented 5 years ago

没有数据字典功能

linlinjava commented 5 years ago

有没有好的示例,或者使用案例,我其实一直不明白数据字典如何使用,应用场景

yixiong2000 commented 5 years ago
font{
    line-height: 1.6;
}
ul,ol{
    padding-left: 20px;
    list-style-position: inside;
}

这是在jeeplus 里的 数据字典,附件sql有表结构。数据字典,方便管理员维护系统类型的配置项,修改名称,删除或新增都不影响,并且不用改代码。

                            王一雄

                                yixiong.2000@gmail.com

    签名由
    网易邮箱大师
    定制

在2019年04月19日 10:20,linlinjava<notifications@github.com> 写道: 

有没有好的示例,或者使用案例,我其实一直不明白数据字典如何使用,应用场景

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.

yixiong2000 commented 5 years ago

image


-- Table structure for sys_dict_type


DROP TABLE IF EXISTS sys_dict_type; CREATE TABLE sys_dict_type ( id varchar(64) NOT NULL DEFAULT '' COMMENT '主键', type varchar(64) DEFAULT NULL COMMENT '类型', description varchar(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '描述', create_by varchar(64) DEFAULT NULL COMMENT '创建者', create_date datetime DEFAULT NULL COMMENT '创建时间', update_by varchar(64) DEFAULT NULL COMMENT '更新者', update_date datetime DEFAULT NULL COMMENT '更新时间', del_flag varchar(64) DEFAULT NULL COMMENT '逻辑删除标记(0:显示;1:隐藏)', PRIMARY KEY (id) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='字典类型';


-- Table structure for sys_dict_value


DROP TABLE IF EXISTS sys_dict_value; CREATE TABLE sys_dict_value ( id varchar(64) NOT NULL DEFAULT '' COMMENT '主键', dict_type_id varchar(64) DEFAULT NULL COMMENT '标签名', label varchar(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '键值', value varchar(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '排序', sort varchar(64) DEFAULT NULL COMMENT '外键', create_by varchar(64) DEFAULT NULL COMMENT '创建者', create_date datetime DEFAULT NULL COMMENT '创建时间', update_by varchar(64) DEFAULT NULL COMMENT '更新者', update_date datetime DEFAULT NULL COMMENT '更新时间', del_flag varchar(64) DEFAULT NULL COMMENT '逻辑删除标记(0:显示;1:隐藏)', PRIMARY KEY (id) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='字典值';

linlinjava commented 5 years ago

我觉得有两个困惑地方: (1)前端如何使用字典? 你分享的表和页面只是涉及字典的生成和管理功能,很简单。但是字典建立以后,如何使用好像没有看到案例。 (2)后端如果使用字典? 有些字段的数值直接耦合到代码里面,这可能会带来问题。 例如一些代码只支持字段值1,2,3,这里你通过字典管理增加了新的值4,前端可以显现并且传递给后端。但是后端业务逻辑使用时只能使用字段1,2,3,而4可能直接导致系统报错。

yixiong2000 commented 5 years ago
font{
    line-height: 1.6;
}
ul,ol{
    padding-left: 20px;
    list-style-position: inside;
}

    1、这个项目没有用前后的分离,用的标签。前端我不是很熟,应该可以用vuex来管理这些数据字典类型。2、后台使用如图,邮件附件里有相关代码。新增加的类型对应的业务逻辑当然还是再写的,所有这个功能是系统管理员来管理的。

                            王一雄

                                yixiong.2000@gmail.com

    签名由
    网易邮箱大师
    定制

在2019年04月19日 10:29,王一雄<yixiong.2000@gmail.com> 写道: 

font{
    line-height: 1.6;
}
ul,ol{
    padding-left: 20px;
    list-style-position: inside;
}

这是在jeeplus 里的 数据字典,附件sql有表结构。数据字典,方便管理员维护系统类型的配置项,修改名称,删除或新增都不影响,并且不用改代码。

                            王一雄

                                yixiong.2000@gmail.com

    签名由
    网易邮箱大师
    定制

在2019年04月19日 10:20,linlinjava<notifications@github.com> 写道: 

有没有好的示例,或者使用案例,我其实一直不明白数据字典如何使用,应用场景

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.

tomray318 commented 5 years ago

可以参考eladmin 的数据字典 前段也是el的

zhangalex commented 4 years ago

个人觉得这个项目没必要用数据字典。

linlinjava commented 4 years ago

关于数据字典的使用,我觉得像 @zhangalex 说的,如果有需要再使用吧。 目前看不存在什么使用场景。

不要因为别的管理平台有数据字典就需要实现数据字典。

milixiang commented 4 years ago

和业务耦合的字典是作用不大 但是类似于商品规格名称、商品参数名称之类的可以改为字典前台改为下拉。这样会便于操作点,而且不容易出现手输错误

spiritelf commented 4 years ago

一般业务系统都有数据字典,一般系统里的下拉框、状态都是可以用数据字典维护,更灵活一点。

billgame commented 2 years ago

我的理解数据字典作用是,如果后端对某个页面的某个多选项新加一个值并加入相应的业务逻辑, 前端(如vue)只要读数据字典的接口,自动就添加了新的值上去,不用改前端,虽然是挺好的,但也不是必需啦 ,毕竟不是经常改动,保持“轻”真好,方便教学