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
- Configuration - Personnaliser l’UI
- API du client - Référence API bas niveau