Aller au contenu principal

Module Nutrition

Le module Nutrition fournit la navigation de l’UI Nutrition ainsi que les opérations liées aux données nutrition.

Accéder au module

Après connectUser(...), accédez à Nutrition via sdk.modules.nutrition :

guard let sdk = AzeooSDK.shared else { return }
let nutrition = sdk.modules.nutrition

Intégration de l’UI

UIKit

let nutritionVC = nutrition.getViewController()
present(nutritionVC, animated: true)

SwiftUI (iOS 14+)

if #available(iOS 14.0, *) {
nutrition.getView()
}

Méthodes de navigation

Utilisez ces méthodes pour ouvrir les écrans nutrition :

nutrition.display(bottomSafeArea: true)
nutrition.showDiary(date: nil)
nutrition.showPlans()
nutrition.showPlan(planId: "plan-123")
nutrition.showRecipes()
nutrition.showRecipe(recipeId: 12345, recipeName: "Chicken Salad")
nutrition.showScanner()
nutrition.showMobileScanner()
nutrition.showSearch()
nutrition.showCart()
nutrition.showAddSelection()
nutrition.showAddFood()
nutrition.showAddMeal()
nutrition.showHome()

Méthodes de données

Utilisez ces méthodes pour lire ou modifier les données nutrition :

nutrition.getDiary(dateTimestamp: 1710460800) { result in /* ... */ }
nutrition.addFood(foodEntry: ["name": "Banana"]) { result in /* ... */ }
nutrition.updateFood(entryId: "entry-1", foodEntry: ["quantity": 2]) { result in /* ... */ }
nutrition.removeFood(entryId: "entry-1") { result in /* ... */ }
nutrition.searchFoods(query: "chicken", limit: 20) { result in /* ... */ }
nutrition.getFoodByBarcode(barcode: "3017620422003") { result in /* ... */ }
nutrition.getUserPlanData { result in /* ... */ }
nutrition.getPlansData { result in /* ... */ }
nutrition.getShoppingList { result in /* ... */ }
nutrition.addToShoppingList(item: ["name": "Eggs"]) { result in /* ... */ }
nutrition.removeFromShoppingList(itemId: "item-1") { result in /* ... */ }

Paramètres et état

nutrition.getSettings { result in /* ... */ }
nutrition.updateSettings(settings: ["targetCalories": 2200]) { result in /* ... */ }
nutrition.getMacroGoals { result in /* ... */ }
nutrition.updateMacroGoals(macros: ["protein": 160, "carbs": 220, "fat": 70]) { result in /* ... */ }

nutrition.getState { result in /* ... */ }
nutrition.resetState()
nutrition.setBottomSafeArea(enabled: true)

Complete example

import UIKit
import AzeooSDK

final class NutritionViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
openDiary()
}

private func openDiary() {
guard let sdk = AzeooSDK.shared else { return }
let nutrition = sdk.modules.nutrition

nutrition.showDiary(date: nil) { result in
if case .failure(let error) = result {
print("showDiary failed: \(error.localizedDescription)")
}
}
}

@IBAction func showScanner(_ sender: UIButton) {
AzeooSDK.shared?.modules.nutrition.showScanner()
}

@IBAction func showRecipes(_ sender: UIButton) {
AzeooSDK.shared?.modules.nutrition.showRecipes()
}
}

Prochaines étapes