diff --git a/model/gmodel/fs_user_info_logic.go b/model/gmodel/fs_user_info_logic.go index 17ba0982..f2667011 100644 --- a/model/gmodel/fs_user_info_logic.go +++ b/model/gmodel/fs_user_info_logic.go @@ -9,6 +9,7 @@ import ( "fusenapi/utils/fssql" "fusenapi/utils/handlers" + "github.com/tidwall/gjson" "gorm.io/gorm" ) @@ -113,26 +114,18 @@ func (m *FsUserInfoModel) GetProfile(ctx context.Context, pkey string, userId in return m.getDefaultProfile(ctx, tname) } - if logoSelected, ok := info["logo_selected"]; ok { - if version, ok := logoSelected.(map[string]any)["version"]; ok { - if ver, ok := version.(string); ok { - if ver != versionML { - defaultUserInfo, err := m.getDefaultProfile(ctx, tname) - if err != nil { - return nil, err - } - info["logo_selected"] = defaultUserInfo["logo_selected"] - } - } + if logoSelected := gjson.Get(v, "logo_selected"); logoSelected.Exists() { + if ver := logoSelected.Get("version"); ver.Exists() && ver.String() == versionML { + return info, nil } - } else { - defaultUserInfo, err := m.getDefaultProfile(ctx, tname) - if err != nil { - return nil, err - } - info["logo_selected"] = defaultUserInfo["logo_selected"] } + defaultUserInfo, err := m.getDefaultProfile(ctx, tname) + if err != nil { + return nil, err + } + info["logo_selected"] = defaultUserInfo["logo_selected"] + return info, nil }