Mirmeca 0.04

Mirmeca 0.04

测试测试通过
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2015 年 8 月
SPM支持 SPM

Solal Fitoussi 维护。



 
依赖项
Alamofire= 1.3.1
ObjectMapper= 0.15
 

Mirmeca 0.04

  • Solal Fitoussi

Mirmeca

Mirmeca 是一个用 Swift 编写的框架,它可以让你轻松地在 WordPress API 上构建应用程序。

特性

  • 提供 WordPress 类型PostFeaturedImageTermCommentAuthor 等)的现成模型。
  • 内置网关以从您的 WordPress 后端检索类型集合或单个项目(PostsGatewayCommentGateway 等)。
  • 在 5 分钟内开始显示内容,代码少于 5 行。

入门

要开始,您需要一个运行 WP API 插件的 WordPress 安装。

通过 网关PostsGatewayTermGateway 等)与您的 WordPress 后端进行交互。

网关可以让您使用几行代码向 WordPress 发送内容请求。

它们输出 类型PostCommentAuthor)或类型的数组。

在 AppDelegate 中声明您的环境

let envs = ["dev": "https://:3000/wp-json", "staging": "http://staging.example.com"]
MirmecaEnv.sharedInstance.defineEnvs(envs, defaultEnv: "dev")

在 ViewController 中发送请求以获取最新的帖子

// Pass the "posts" endpoint & use the default env
PostsGateway(endpoint: "posts", env: nil).request({})

通过向请求方法传递一个闭包来打印帖子

PostsGateway(endpoint: "posts", env: nil).request({ (value: AnyObject?, error: NSError?) -> Void in
  // Make sure that something was returned
  if (error != nil) {
    println("Something went wrong")
  } else {
    // Cast the return value as an array of posts
    let posts = value as! [Post]
    for post in posts {
      println(post.title!)
    }
  }
})

使用案例

以下是 Mirmeca 帮助您完成的众多事情中的三个。

类型 & 网关

  • 在此处查看可用的 类型 列表:这里
  • 在此处查看可用的 网关 列表:这里

搜索帖子

  • 端点: posts?filter[s]=
  • 网关: PostsGateway
  • 代码
let query = "chocolate%20cake"
PostsGateway(endpoint: "posts?filter[s]=\(query)", env: nil).request({ (value: AnyObject?, error: NSError?) -> Void in
  // Make sure that something was returned
  if (error != nil) {
    println("Something went wrong")
  } else {
    // Cast the return value as an array of posts
    let posts = value as! [Post]
    for post in posts {
      println(post.title!)
    }
  }
})

列出您的网站分类

  • 端点: taxonomies/category/terms
  • 网关: TermsGateway
  • 代码
TermsGateway(endpoint: "taxonomies/category/terms", env: nil).request({ (value: AnyObject?, error: NSError?) -> Void in
    // Make sure that something was returned
    if (error != nil) {
        println("Something went wrong")
    } else {
        // Cast the return value as an array of terms
        let categories = value as! [Term]
        for category in categories {
            println(category.name!)
        }
    }
})

检索帖子的评论

  • 端点: posts/40627/comments
  • 网关: CommentsGateway
  • 代码
CommentsGateway(endpoint: "posts/40627/comments", env: nil).request({ (value: AnyObject?, error: NSError?) -> Void in
    // Make sure that something was returned
    if (error != nil) {
        println("Something went wrong")
    } else {
        // Cast the return value as an array of comments
        let comments = value as! [Comment]
        for comment in comments {
            println(comment.author!.name!)
        }
    }
})

安装

贡献