FoodFactsSDK 0.2.8

FoodFactsSDK 0.2.8

测试已测试
Lang语言 SwiftSwift
许可证 MIT
Released最后发布2017年2月
SwiftSwift版本3.0
SPM支持SPM

Food Facts维护。



 
依赖
Alamofire>= 0
SwiftyJSON>= 0
 

  • FoodFacts

FoodFactsSDK

FoodFactsSDK 帮助您在几秒钟内开始使用我们令人惊叹的API。

要求

  • Swift 2 &Swift 3
  • Xcode 7 & Xcode 8
  • FoodFacts API账户(注册

安装

FoodFactsSDK 通过CocoaPods提供。要安装它,只需在Podfile中添加以下行

对于Swift 3 使用

pod "FoodFactsSDK"

对于Swift 2 使用

pod "FoodFactsSDK", "0.2.7"

初始化

在你的AppDelegate中导入FoodFactsSDK

  import FoodFactsSDK

接下来添加您的账户凭证。

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

          FoodFacts().configuration(username: "YOUR USERNAME GOES HERE", password: "YOUR PASSWORD GOES HERE")

          return true
      }

你已经准备好了!

使用

食物分类列表

使用FoodFacts().categoryList获取所有分类。

FoodFacts().categoryList(callback: {response in
            for Category in response.categoies{
                print(Category.name)
            }
        })

食物子分类列表

使用FoodFacts().subCategoryList(category_id: )获取所有子分类。使用父分类ID作为category_id参数。

FoodFacts().subCategoryList(category_id: 21, callback: {response in
            for category in response.categoies{
                for sub_category in category.subCategories{
                    print(sub_category.name)
                }
            }
        })

按分类获取产品

使用FoodFacts().productsByCategory(category_id: Int, subcategory_id: Int, per_page: Int, page: Int, sort_by: String)获取某个分类下的所有产品。

  • category_id = 父分类ID。
  • subcategory_id = 子分类ID。
  • per_page = 返回的产品数量。
  • page = 开始页面。
  • sort_by = 按什么排序产品。
    • peg_name.sort (名称升序)
    • peg_name.sort:desc (名称降序)
    • pd_score (得分升序)
    • pd_score:desc (得分降序)

FoodFacts().productsByCategory(category_id: 21, subcategory_id: 256, per_page: 4, page: 1, sort_by: "peg_name.sort", callback: {response in

           for products in response.results.products{
               print(products.title)
           }
       })

按搜索词获取产品

使用FoodFacts().productsBySearchTerm(search_term: String, per_page: Int, page: Int, sort_by: String)获取所有通过搜索词搜索到的产品。

  • search_term = 搜索词。
  • per_page = 返回的产品数量。
  • page = 开始页面。
  • sort_by = 按什么排序产品。
    • peg_name.sort (名称升序)
    • peg_name.sort:desc (名称降序)
    • pd_score (得分升序)
    • pd_score:desc (得分降序)

  FoodFacts().productsBySearchTerm(search_term: "apples", per_page: 4, page: 1, sort_by: "peg_name.sort", callback: {response in

             for products in response.results.products{
                 print(products.title)
             }
         })

通过产品ID获取产品信息

请使用FoodFacts().productInformationByID(product_id: String)获取产品信息。

FoodFacts().productInformationByID(product_id: "", callback: {response in
            print(response.results.productDetail.title)
        })

通过UPC获取产品信息

请使用FoodFacts().productInformationByUPC(upc: String)获取产品信息。

FoodFacts().productInformationByUPC(upc: "075720004096", callback: {response in
            print(response.results.productDetail.title)
        })

FFProduct

FFProduct 包含:

  • allergen_list = 该产品中的过敏原列表。
  • brand = 产品品牌。
  • main_category_name = 主类别名称。
  • product_id = 产品ID。
  • product_image = 产品图片URL。
  • product_upc = 产品UPC码。
  • sef_url = 产品URL。
  • serving_size = 剂量大小。
  • sub_category_name = 子类别名称。
  • title = 产品名称。
  • total_weight = 产品总重量。
  • food_facts_score = 我们对该产品的评分。
  • main_category_id = 主类别ID。
  • sub_category_id = 子类别ID。
  • ingredients = 成分列表(FFProductIngredient)

FFCategory

FFCategory 包含:

  • category_id = 类别ID。
  • name = 类别名称。
  • parent_category_id = 父类别ID。
  • subCategories = 子类别列表(FFSubCategory)

FFSubCategory

FFSubCategory 包含:

  • category_id = 子类别ID。
  • name = 子类别名称。
  • parent_category_id = 父类别ID。

FFCategoryListResponse

FFCategoryListResponse 包含:

  • code = 状态码。
  • userId = 您的用户ID。
  • apiRemaining = 剩余API调用次数。
  • categoies = 类别列表(FFCategory)

FFProductAllergen

FFProductAllergen 包含:

  • allergen_id = 过敏原ID
  • name = 过敏原名称。

FFProductDetail

FFProductDetail 包含:

  • allergen_list = 该产品中的过敏原列表。
  • brand = 产品品牌。
  • main_category_name = 主类别名称。
  • product_id = 产品ID。
  • product_image = 产品图片URL。
  • product_upc = 产品UPC码。
  • sef_url = 产品URL。
  • serving_size = 剂量大小。
  • sub_category_name = 子类别名称。
  • title = 产品名称。
  • total_weight = 产品总重量。
  • food_facts_score = 我们对该产品的评分。
  • main_category_id = 主类别ID。
  • sub_category_id = 子类别ID。

FFProductIngredient

FFProductIngredient 包含:

  • allergens = 与此成分相关的过敏原
  • ingredient_id = 成分ID。
  • name = 成分名称。
  • order = 所有成分的顺序。

FFProductNutrition

FFProductNutrition 包含:

  • unit_abbreviation = 产品营养的单位缩写。
  • name = 营养名称。
  • amount = 营养数量。

FFProductReportCard

FFProductReportCard 包含:

  • good_or_bad = 返回好或坏值。
  • heading = 报告卡标题。
  • text = 返回报告卡的文本。
  • type = 返回报告卡类型。

FFProductResponse

FFProductResponse 包含:

  • code = 状态码。
  • userId = 您的用户ID。
  • apiRemaining = 剩余API调用次数。
  • results = FFProductResults

FFProductResults

FFProductResults 包含:

  • productDetail = FFProductDetail
  • productNutrition = 营养列表(FFProductDetail)
  • productVitamins = 维生素列表(FFProductVitamin)
  • 产品成分 = 维生素列表(FFProductIngredient
  • 产品过敏原 = 维生素列表(FFProductAllergen
  • 产品报告卡 = 维生素列表(FFProductReportCard

FFProductVitamin

FFProductVitamin 包含

  • amount = 这是维生素的数量。
  • name = 这是维生素的名称。
  • percent = 这是维生素的百分比。

FFProductsResponse

FFProductsResponse 包含

  • code = 状态码。
  • userId = 您的用户ID。
  • apiRemaining = 剩余API调用次数。
  • results = FFProductsResults

FFProductsResults

FFProductsResults 包含

  • totalResults = 找到的产品总数。
  • resultsPerPage = 每页产品数量。
  • currentPage = 当前页面。
  • code = 状态码。
  • products = 产品列表(FFProduct

许可

FoodFactsSDK 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。