项目作者: RayTW

项目描述 :
comic download from 8Comic.com
高级语言: Swift
项目地址: git://github.com/RayTW/Swift8ComicSDK.git
创建时间: 2017-06-07T01:42:16Z
项目社区:https://github.com/RayTW/Swift8ComicSDK

开源协议:MIT License

下载


Swift8ComicSDK

CI Status
Version
License
Platform

Requirements

  • 必須要在 app 啟動時,先呼叫 R8Comic.get().loadSiteUrlList(…),以取得該站漫畫圖片存放的伺服器列表。
  • 信任全部 http 開頭的網址,因無法明確得知此網站存放漫畫的主機 domain,請在 info.plist 加上下列設定:
  1. <key>NSAppTransportSecurity</key>
  2. <dict>
  3. <key>NSAllowsArbitraryLoads</key>
  4. <true></true>
  5. </dict>

Installation

Swift8ComicSDK is available through CocoaPods. To install
it, simply add the following line to your Podfile:

  1. pod "Swift8ComicSDK"

Swift language version

  • version <= v1.2.3 swift 3.2
  • version >= v2.0.0 swift 4

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Class R8Comic, for example

讀取全部漫畫

  1. R8Comic.get().getAll { (comics:[Comic]) in
  2. self.mComics = comics
  3. for comic : Comic in comics {
  4. print("id==>\(comic.getId()), name[\(comic.getName())]")
  5. }
  6. }

搜尋漫畫

  1. R8Comic.get().searchComic("火影") { (comics) in
  2. print("searchComic=>\(comics.count)")
  3. for comicTemp : Comic in comics {
  4. print("id==>\(comicTemp.getId()), name[\(comicTemp.getName())]")
  5. }
  6. }

快速搜尋漫畫

  1. R8Comic.get().quickSearchComic("火影") { (comics) in
  2. print("testQuickSearchComic=>\(comics.count)")
  3. for comicName : String in comics {
  4. print("name[\(comicName)]")
  5. }
  6. }

讀取指定一款漫畫的資訊

  1. let comic = R8Comic.get().generatorFakeComic("103", name: "海賊王")
  2. R8Comic.get().loadComicDetail(comic) { (comicDetail : Comic) in
  3. print("loadFinish,id==>\(comicDetail.getId()), name[\(comicDetail.getName())]")
  4. print("comic,Description=>\(comic.getDescription()!)")
  5. print("comic,Author=>\(comic.getAuthor()!)")
  6. print("comic,UpdateTime=>\(comic.getLatestUpdateDateTime()!)")
  7. print("comic,EpisodeCount=>\(comic.getEpisode().count)")
  8. }

完整流程範例

  1. R8Comic.get().loadSiteUrlList { (hostMap: [String: String]) in
  2. //self.mHostMap = hostMap
  3. // 取得全部漫畫
  4. R8Comic.get().getAll { (comics: [Comic]) in
  5. self.mComics = comics
  6. let comic = comics[comics.count - 1]
  7. print("comic,id==>\(comic.getId()), name[\(comic.getName())]")
  8. print("comic,封面大圖==>\(String(describing:comic.getIconUrl())), 封面小圖[\(String(describing:comic.getSmallIconUrl()))]")
  9. // 單1本漫畫,解析說明、集數等等資料…
  10. R8Comic.get().loadComicDetail(comic, onLoadDetail: { (comic) in
  11. print("comic,集數==>\(comic.getEpisode().count)")
  12. // 單集漫畫讀取圖片網址資料
  13. let episode = comic.getEpisode()[0]
  14. //檢查此漫畫集數是否已有串過完整url,若未有完成url則將url重組
  15. if(!episode.getUrl().hasPrefix("http")){
  16. episode.setUrl(hostMap[episode.getCatid()]! + episode.getUrl())
  17. }
  18. print("comic,episode名稱==>\(episode.getName())")
  19. print("comic,episode,url==>\(episode.getUrl())")
  20. R8Comic.get().loadEpisodeDetail(episode, onLoadDetail: { (episode) in
  21. episode.setUpPages()
  22. print("episode,單集多張圖片網址=>\(episode.getImageUrlList())")
  23. })
  24. })
  25. }
  26. }

Note

  • 必須要在 app 啟動時,先呼叫 R8Comic.get().loadSiteUrlList(…),以取得該站漫畫圖片存放的伺服器列表。

Author

RayTW, ray00000sina@gmail.com

License

Swift8ComicSDK is available under the MIT license. See the LICENSE file for more info.