mineadmin/MineAdmin

[FEATURE] 字典外挂,方便数据迁移

okami-chen opened this issue · 3 comments

现在的字典都是从数据库获取的,能不能在代码中定义好,启动的时候加载到内存或者缓存,然后获取的时候从内存或者缓存中检索

go代码如下

// 注册一个字典选项
dict.RegisterFunc("addons_card_organize", "组织选项", service.SysCard().OptionOrganize)

定义字典

// OptionOrganize 组织选项
func (s *sSysCard) OptionOrganize(ctx context.Context) (opts []*model.Option, err error) {
	opts = make([]*model.Option, 0)
	opts = append(opts, dict.GenCustomOption("运通", "运通", "success"))
	opts = append(opts, dict.GenCustomOption("银联", "银联", "success"))
	opts = append(opts, dict.GenCustomOption("维萨", "维萨", "error"))
	opts = append(opts, dict.GenCustomOption("万事达", "万事达", "info"))
	opts = append(opts, dict.GenCustomOption("JCB", "JCB", "warning"))
	return
}

之前写过一个 QueryResource 和 Resource 就是解决这个场景的。目前前端还少个 resource-select 组件

直接修改这个里面的方法,从缓存中获取数据,如果有直接构造数据返回,前端都不用动
app/System/Service/SystemDictDataService.php