mineadmin / MineAdmin

🎉🎉🎉 MineAdmin是基于Hyperf框架 和 Vue3+Vite5 开发的前后端分离权限管理系统,自适应多终端。特色:后端 crud 生成 + 前端低代码 json 化配置

Home Page:https://www.mineadmin.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

okami-chen opened this issue · 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
}
commented

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

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

commented