Algent 0.6.0

Algent 0.6.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
版本最新版本2019年5月
SPM支持 SPM

miup 维护。



Algent 0.6.0

  • miup

Algent

CI Status Version License Platform

Algent 是一个安全的 algolia 封装库。

您可以使用 Swift decodable 类型作为搜索结果使用 algolia。

示例

要运行示例项目,请先克隆仓库,然后在 Example 目录下首先运行 pod install。打开 AppDelegate.swift 并设置您的 AlgoliaSearch AppID 和 APIKey。

Algent.initialize(appID: "YOUR_APP_ID", apiKey: "YOUR_API_KEY")

自定义搜索

添加实现 decodable 的搜索结果模型

class Diary: Decodable {
    let title: String
    let text: String
    // Algolia hash tag info
    _tags: [String]
}

添加实现 AlgoliaRequestProtocol 的搜索请求类

struct SearchDiaryRequest: AlgoliaRequestProtocol {
    // set search result type
    typealias HitType = Diary

    let page: Int
    let per: Int
    let text: String?
    let hashtags: [String]?

    var indexName: String {
        return "diaries"
    }

    var query: AlgentQuery {
        let query = AlgentQuery(query: text)
        query.page = UInt(page)
        query.hitsPerPage = UInt(per)
        if let hashtags = hashtags {
            query.tagFilters = hashtags
        }
        return query
    }

    init(page: Int, per: Int, text: String? = nil, hashtags: [String]? = nil) {
        self.page = page
        self.per = per
        self.text = text
        self.hashtags = hashtags
    }
}

使用您的请求调用 Algent 搜索方法。

let request = SarchDiaryRequest(page: 0, per: 20, text: "hello world", hashtags: ["trip"])
Algent.shared.search(request: request) { result in
    switch result {
    case .success(let response):
        // response is AlgoliaResponse<Request.HitType>
        print(response.hits) // see hit object
    case .failure( let error):
        print(error) // get error
    }
}

要求

安装

Algent 可通过 CocoaPods 获得。要安装它,只需在 Podfile 中添加以下行:

pod 'Algent'

作者

miup, [email protected]

许可证

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