代码如下:
//@function: GetMenuTree
//@description: 获取动态菜单树
//@param: roleId string
//@return: err error, menus []model.SysRoleMenu
func GetMenuTree(roleId string) (err error, menus []model.SysRoleMenu) {
err, menuTree := GetMenuTreeMap(roleId)
menus = menuTree["0"]
for i := 0; i < len(menus); i++ {
err = GetChildrenList(&menus[i], menuTree)
}
if err := global.GVA_REDIS.Set(context.Background(), roleId, menus, 0).Err(); err != nil {
global.GVA_LOG.Error("保存redis失败!", zap.Error(err))
}
return err, menus
}
获取到树结构数据,并保存到redis,但是直接set是不行的,会报错的,是否需要转换?
你需要转换成string,go-redis的值只支持string.你可以json后转成string存起来