ITPub博客

首页 > 嵌入式/内核开发 > 嵌入式/内核开发 > 智汀云盘-网盘开发golagn:用户设置

智汀云盘-网盘开发golagn:用户设置

原创 嵌入式/内核开发 作者:智汀科技 时间:2022-01-21 10:58:35 0 删除 编辑

 1. 用户设置的读取

用户的设置保存在 数据库中的setting表,只需要读取数据库并解析即可:

list, err := entity.GetSettingList()
for _, val := range list {
    switch val.Name {
    case "PoolName":
        resp.PoolName = val.Value
    case "PartitionName":
        resp.PartitionName = val.Value
    case "IsAutoDel":
        resp.IsAutoDel, _ = strconv.Atoi(val.Value)
    }
}

2. 用户设置的更新

当更新用户设置时,需要先把setting表中的数据清空,再将新设置插入切片中,插入setting表,并更新全局的配置:

if err := entity.DropSetting(tx); err != nil {
    return errors.Wrap(err, status.SettingUpdateFailErr)
}
// 默认3个配置
settings := make([]entity.Setting, 0, 3)
settings = append(settings, entity.Setting{Name: "PoolName", Value: req.PoolName})
settings = append(settings, entity.Setting{Name: "PartitionName", Value: req.PartitionName})
settings = append(settings, entity.Setting{Name: "IsAutoDel", Value: strconv.Itoa(req.IsAutoDel)})
if err := entity.BatchInsertSetting(tx, settings); err != nil {
    return errors.Wrap(err, status.SettingUpdateFailErr)
}
// 更新全局配置
config.AppSetting.PoolName = req.PoolName
config.AppSetting.PartitionName = req.PartitionName
config.AppSetting.IsAutoDel = req.IsAutoDel

3.惯例


如果你对本文有任何疑问或者高见,关注智汀公众号共同交流探讨(欢迎加入微信号:13326423643可以免费赠送“智能开关或其他智能硬件”哦)。


 ZHITING
微信扫码二维码,关注我的公众号

 

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70009085/viewspace-2853349/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-10-28

  • 博文量
    17
  • 访问量
    6917