├── .gitignore
├── LICENSE
├── LookNovel.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── xcshareddata
│ └── xcschemes
│ └── LookNovel.xcscheme
├── LookNovel.xcworkspace
├── contents.xcworkspacedata
└── xcshareddata
│ ├── IDEWorkspaceChecks.plist
│ └── WorkspaceSettings.xcsettings
├── LookNovel
├── AppDelegate.h
├── AppDelegate.m
├── Assets.xcassets
│ ├── 3d_recentBook_icon.imageset
│ │ ├── 3d_recentBook_icon@2x.png
│ │ ├── 3d_recentBook_icon@3x.png
│ │ └── Contents.json
│ ├── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── logoiPhoneApp_60pt@2x.png
│ │ ├── logoiPhoneApp_60pt@3x.png
│ │ ├── logoiPhoneNotification_20pt@2x.png
│ │ ├── logoiPhoneNotification_20pt@3x.png
│ │ ├── logoiPhoneSpootlight5_29pt@2x.png
│ │ ├── logoiPhoneSpootlight5_29pt@3x.png
│ │ ├── logoiPhoneSpootlight7_40pt@2x.png
│ │ ├── logoiPhoneSpootlight7_40pt@3x.png
│ │ └── logostore_1024pt.png
│ ├── Contents.json
│ ├── LaunchImage.launchimage
│ │ ├── Contents.json
│ │ ├── launchScreeniPhonePortraitiOS56_320x480pt.png
│ │ ├── launchScreeniPhonePortraitiOS56_320x480pt@2x.png
│ │ ├── launchScreeniPhonePortraitiOS56_320x568pt@2x.png
│ │ ├── launchScreeniPhonePortraitiOS789_320x480pt@2x.png
│ │ ├── launchScreeniPhonePortraitiOS789_320x568pt@2x.png
│ │ ├── launchScreeniPhonePortraitiOS89_375x667pt@2x.png
│ │ ├── launchScreeniPhonePortraitiOS89_414x736pt@3x.png
│ │ ├── launchScreeniPhoneXPortraitiOS11_375x812pt@3x.png
│ │ ├── launchScreeniPhoneXPortraitiOS12_414x896pt@2x.png
│ │ └── launchScreeniPhoneXPortraitiOS12_414x896pt@3x.png
│ ├── auth_face.imageset
│ │ ├── Contents.json
│ │ └── auth_face@2x.png
│ ├── auth_finger.imageset
│ │ ├── Contents.json
│ │ └── auth_finger@2x.png
│ ├── classify
│ │ ├── Contents.json
│ │ └── icon_author_12x12_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_author_12x12_@2x.png
│ │ │ └── icon_author_12x12_@3x.png
│ ├── detail
│ │ ├── Contents.json
│ │ ├── booklist_icon_collect_24_24_n_24x24_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── booklist_icon_collect_24_24_n_24x24_@2x.png
│ │ │ └── booklist_icon_collect_24_24_n_24x24_@3x.png
│ │ └── booklist_icon_collect_24_24_p_24x24_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── booklist_icon_collect_24_24_p_24x24_@2x.png
│ │ │ └── booklist_icon_collect_24_24_p_24x24_@3x.png
│ ├── home
│ │ ├── Contents.json
│ │ ├── icon_search_16x16_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_search_16x16_@2x.png
│ │ │ └── icon_search_16x16_@3x.png
│ │ ├── icon_search_gray_16x16_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_search_gray_16x16_@2x.png
│ │ │ └── icon_search_gray_16x16_@3x.png
│ │ ├── icon_shelf_reading_16x16_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_shelf_reading_16x16_@2x.png
│ │ │ └── icon_shelf_reading_16x16_@3x.png
│ │ ├── icon_shelf_reading_gray_16x16_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_shelf_reading_gray_16x16_@2x.png
│ │ │ └── icon_shelf_reading_gray_16x16_@3x.png
│ │ ├── pic_noCover_88x122_.imageset
│ │ │ ├── Contents.json
│ │ │ └── pic_noCover_88x122_@2x.png
│ │ ├── pic_recent_default_375x210_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pic_recent_default_375x210_@2x.png
│ │ │ └── pic_recent_default_375x210_@3x.png
│ │ ├── pic_recent_wave_375x25_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pic_recent_wave_375x25_@2x.png
│ │ │ └── pic_recent_wave_375x25_@3x.png
│ │ ├── pic_shelf_import_90x120_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pic_shelf_import_90x120_@2x.png
│ │ │ └── pic_shelf_import_90x120_@3x.png
│ │ └── textField_bg.imageset
│ │ │ ├── Contents.json
│ │ │ └── textField_bg@2x.png
│ ├── icon_return_8x14_.imageset
│ │ ├── Contents.json
│ │ ├── icon_return_8x14_@2x.png
│ │ └── icon_return_8x14_@3x.png
│ ├── jiantou.imageset
│ │ ├── Contents.json
│ │ ├── jiantou@2x.png
│ │ └── jiantou@3x.png
│ ├── logo.imageset
│ │ ├── Contents.json
│ │ └── logo@2x.png
│ ├── mine
│ │ ├── Contents.json
│ │ ├── personal_center_about_22x22_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── personal_center_about_22x22_@2x.png
│ │ │ └── personal_center_about_22x22_@3x.png
│ │ ├── personal_center_cleancache_22x22_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── personal_center_cleancache_22x22_@2x.png
│ │ │ └── personal_center_cleancache_22x22_@3x.png
│ │ ├── personal_center_history_22x22_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── personal_center_history_22x22_@2x.png
│ │ │ └── personal_center_history_22x22_@3x.png
│ │ ├── pic_local_empty_177x120_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pic_local_empty_177x120_@2x.png
│ │ │ └── pic_local_empty_177x120_@3x.png
│ │ ├── pic_mine_head_375x200_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pic_mine_head_375x200_@2x.png
│ │ │ └── pic_mine_head_375x200_@3x.png
│ │ └── pic_user_default_94x94_.imageset
│ │ │ ├── Contents.json
│ │ │ └── pic_user_default_94x94_@2x.png
│ ├── reader
│ │ ├── Contents.json
│ │ ├── forum_lock_9x11_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── forum_lock_9x11_@2x.png
│ │ │ └── forum_lock_9x11_@3x.png
│ │ ├── icon_change_34x34_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_change_34x34_@2x.png
│ │ │ └── icon_change_34x34_@3x.png
│ │ ├── icon_contents_34x34_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_contents_34x34_@2x.png
│ │ │ └── icon_contents_34x34_@3x.png
│ │ ├── icon_reader_battery_25x11_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_reader_battery_25x11_@2x.png
│ │ │ └── icon_reader_battery_25x11_@3x.png
│ │ ├── icon_reader_catalog_20x20_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_reader_catalog_20x20_@2x.png
│ │ │ └── icon_reader_catalog_20x20_@3x.png
│ │ ├── icon_reader_download_18x18_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_reader_download_18x18_@2x.png
│ │ │ └── icon_reader_download_18x18_@3x.png
│ │ ├── icon_reader_moon_20x20_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_reader_moon_20x20_@2x.png
│ │ │ └── icon_reader_moon_20x20_@3x.png
│ │ ├── icon_reader_setting_20x20_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_reader_setting_20x20_@2x.png
│ │ │ └── icon_reader_setting_20x20_@3x.png
│ │ ├── icon_reader_sun_20x20_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_reader_sun_20x20_@2x.png
│ │ │ └── icon_reader_sun_20x20_@3x.png
│ │ ├── icon_return_8x14_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_return_8x14_@2x.png
│ │ │ └── icon_return_8x14_@3x.png
│ │ ├── pic_reader_guidance_750x1334_.imageset
│ │ │ ├── Contents.json
│ │ │ └── pic_reader_guidance_750x1334_@1x.png
│ │ ├── setting
│ │ │ ├── Contents.json
│ │ │ ├── icon_adjust_button_30x30_.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon_adjust_button_30x30_@2x.png
│ │ │ │ └── icon_adjust_button_30x30_@3x.png
│ │ │ ├── icon_adjust_button_black_30x30_.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon_adjust_button_black_30x30_@2x.png
│ │ │ │ └── icon_adjust_button_black_30x30_@3x.png
│ │ │ ├── icon_adjust_button_night_32x32_.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon_adjust_button_night_32x32_@2x.png
│ │ │ │ └── icon_adjust_button_night_32x32_@3x.png
│ │ │ ├── icon_chapter_SortReverse_17x13_.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon_chapter_SortReverse_17x13_@2x.png
│ │ │ │ └── icon_chapter_SortReverse_17x13_@3x.png
│ │ │ ├── icon_chapter_Sort_17x13_.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon_chapter_Sort_17x13_@2x.png
│ │ │ │ └── icon_chapter_Sort_17x13_@3x.png
│ │ │ ├── icon_setlight_hight_20x20_.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon_setlight_hight_20x20_@2x.png
│ │ │ │ └── icon_setlight_hight_20x20_@3x.png
│ │ │ └── icon_setlight_low_21x20_.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon_setlight_low_21x20_@2x.png
│ │ │ │ └── icon_setlight_low_21x20_@3x.png
│ │ └── theme
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_black_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_black_28x28_@2x.png
│ │ │ └── icon_theme_black_28x28_@3x.png
│ │ │ ├── icon_theme_black_sel_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_black_sel_28x28_@2x.png
│ │ │ └── icon_theme_black_sel_28x28_@3x.png
│ │ │ ├── icon_theme_gray_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_gray_28x28_@2x.png
│ │ │ └── icon_theme_gray_28x28_@3x.png
│ │ │ ├── icon_theme_gray_sel_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_gray_sel_28x28_@2x.png
│ │ │ └── icon_theme_gray_sel_28x28_@3x.png
│ │ │ ├── icon_theme_green_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_green_28x28_@2x.png
│ │ │ └── icon_theme_green_28x28_@3x.png
│ │ │ ├── icon_theme_green_sel_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_green_sel_28x28_@2x.png
│ │ │ └── icon_theme_green_sel_28x28_@3x.png
│ │ │ ├── icon_theme_greenpic_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_greenpic_28x28_@2x.png
│ │ │ └── icon_theme_greenpic_28x28_@3x.png
│ │ │ ├── icon_theme_greenpic_sel_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_greenpic_sel_28x28_@2x.png
│ │ │ └── icon_theme_greenpic_sel_28x28_@3x.png
│ │ │ ├── icon_theme_kraft_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_kraft_28x28_@2x.png
│ │ │ └── icon_theme_kraft_28x28_@3x.png
│ │ │ ├── icon_theme_kraft_sel_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_kraft_sel_28x28_@2x.png
│ │ │ └── icon_theme_kraft_sel_28x28_@3x.png
│ │ │ ├── icon_theme_pink_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_pink_28x28_@2x.png
│ │ │ └── icon_theme_pink_28x28_@3x.png
│ │ │ ├── icon_theme_pink_sel_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_pink_sel_28x28_@2x.png
│ │ │ └── icon_theme_pink_sel_28x28_@3x.png
│ │ │ ├── icon_theme_pinkpic_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_pinkpic_28x28_@2x.png
│ │ │ └── icon_theme_pinkpic_28x28_@3x.png
│ │ │ ├── icon_theme_pinkpic_sel_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_pinkpic_sel_28x28_@2x.png
│ │ │ └── icon_theme_pinkpic_sel_28x28_@3x.png
│ │ │ ├── icon_theme_white_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_white_28x28_@2x.png
│ │ │ └── icon_theme_white_28x28_@3x.png
│ │ │ ├── icon_theme_white_sel_28x28_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── icon_theme_white_sel_28x28_@2x.png
│ │ │ └── icon_theme_white_sel_28x28_@3x.png
│ │ │ ├── pic_theme_Kraft_375x667_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pic_theme_Kraft_375x667_@2x.png
│ │ │ └── pic_theme_Kraft_375x667_@3x.png
│ │ │ ├── pic_theme_black_375x667_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pic_theme_black_375x667_@2x.png
│ │ │ └── pic_theme_black_375x667_@3x.png
│ │ │ ├── pic_theme_green_375x667_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pic_theme_green_375x667_@2x.png
│ │ │ └── pic_theme_green_375x667_@3x.png
│ │ │ └── pic_theme_pink_375x667_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pic_theme_pink_375x667_@2x.png
│ │ │ └── pic_theme_pink_375x667_@3x.png
│ ├── search
│ │ ├── Contents.json
│ │ ├── search_icon_author_16_16_16x16_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── search_icon_author_16_16_16x16_@2x.png
│ │ │ └── search_icon_author_16_16_16x16_@3x.png
│ │ ├── search_icon_book_16_16_16x16_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── search_icon_book_16_16_16x16_@2x.png
│ │ │ └── search_icon_book_16_16_16x16_@3x.png
│ │ ├── search_icon_delete_14_14_14x14_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── search_icon_delete_14_14_14x14_@2x.png
│ │ │ └── search_icon_delete_14_14_14x14_@3x.png
│ │ ├── search_icon_histroy_14_14_14x14_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── search_icon_histroy_14_14_14x14_@2x.png
│ │ │ └── search_icon_histroy_14_14_14x14_@3x.png
│ │ └── search_icon_label_16_16_16x16_.imageset
│ │ │ ├── Contents.json
│ │ │ ├── search_icon_label_16_16_16x16_@2x.png
│ │ │ └── search_icon_label_16_16_16x16_@3x.png
│ └── tab
│ │ ├── Contents.json
│ │ ├── icon_tabbar_bookshelf_24x24_.imageset
│ │ ├── Contents.json
│ │ ├── icon_tabbar_bookshelf_24x24_@2x.png
│ │ └── icon_tabbar_bookshelf_24x24_@3x.png
│ │ ├── icon_tabbar_bookshelf_sel_24x24_.imageset
│ │ ├── Contents.json
│ │ ├── icon_tabbar_bookshelf_sel_24x24_@2x.png
│ │ └── icon_tabbar_bookshelf_sel_24x24_@3x.png
│ │ ├── icon_tabbar_classify_24x24_.imageset
│ │ ├── Contents.json
│ │ ├── icon_tabbar_classify_24x24_@2x.png
│ │ └── icon_tabbar_classify_24x24_@3x.png
│ │ ├── icon_tabbar_classify_sel_24x24_.imageset
│ │ ├── Contents.json
│ │ ├── icon_tabbar_classify_sel_24x24_@2x.png
│ │ └── icon_tabbar_classify_sel_24x24_@3x.png
│ │ ├── icon_tabbar_mine_24x24_.imageset
│ │ ├── Contents.json
│ │ ├── icon_tabbar_mine_24x24_@2x.png
│ │ └── icon_tabbar_mine_24x24_@3x.png
│ │ └── icon_tabbar_mine_sel_24x24_.imageset
│ │ ├── Contents.json
│ │ ├── icon_tabbar_mine_sel_24x24_@2x.png
│ │ └── icon_tabbar_mine_sel_24x24_@3x.png
├── Info.plist
├── LookNovel.entitlements
├── classes
│ ├── auth
│ │ ├── controller
│ │ │ ├── LNLocalAuthViewController.h
│ │ │ └── LNLocalAuthViewController.m
│ │ └── tool
│ │ │ ├── LNLocalAuthViewModel.h
│ │ │ └── LNLocalAuthViewModel.m
│ ├── base
│ │ ├── LNAPI.h
│ │ ├── LNAPI.m
│ │ ├── controller
│ │ │ ├── LNBaseViewController.h
│ │ │ ├── LNBaseViewController.m
│ │ │ ├── LNCollectionViewController.h
│ │ │ ├── LNCollectionViewController.m
│ │ │ ├── LNNavigationViewController.h
│ │ │ ├── LNNavigationViewController.m
│ │ │ ├── LNTabBarController.h
│ │ │ ├── LNTabBarController.m
│ │ │ ├── LNTableViewController.h
│ │ │ └── LNTableViewController.m
│ │ ├── model
│ │ │ ├── LNBook.h
│ │ │ ├── LNBook.m
│ │ │ ├── LNRecentBook.h
│ │ │ ├── LNRecentBook.m
│ │ │ ├── LNRightLabelStaticModel.h
│ │ │ ├── LNRightLabelStaticModel.m
│ │ │ ├── LNStaticModel.h
│ │ │ └── LNStaticModel.m
│ │ ├── tool
│ │ │ ├── LNBaseViewModel.h
│ │ │ └── LNBaseViewModel.m
│ │ └── view
│ │ │ ├── LNBaseCollectionViewCell.h
│ │ │ ├── LNBaseCollectionViewCell.m
│ │ │ ├── LNBaseTableViewCell.h
│ │ │ ├── LNBaseTableViewCell.m
│ │ │ ├── LNRightLabelCell.h
│ │ │ ├── LNRightLabelCell.m
│ │ │ ├── LNStaticCell.h
│ │ │ └── LNStaticCell.m
│ ├── bookDetail
│ │ ├── controller
│ │ │ ├── LNBookDetailViewController.h
│ │ │ ├── LNBookDetailViewController.m
│ │ │ ├── LNChapterListViewController.h
│ │ │ └── LNChapterListViewController.m
│ │ ├── model
│ │ │ ├── LNBookDetail.h
│ │ │ └── LNBookDetail.m
│ │ ├── tool
│ │ │ ├── LNBookDetailViewModel.h
│ │ │ └── LNBookDetailViewModel.m
│ │ └── view
│ │ │ ├── LNBookDetailBottomView.h
│ │ │ ├── LNBookDetailBottomView.m
│ │ │ ├── LNBookDetailBottomView.xib
│ │ │ ├── LNBookDetailInfoView.h
│ │ │ ├── LNBookDetailInfoView.m
│ │ │ ├── LNBookDetailInfoView.xib
│ │ │ ├── LNBookDetailIntroView.h
│ │ │ ├── LNBookDetailIntroView.m
│ │ │ └── LNBookDetailIntroView.xib
│ ├── bookrack
│ │ ├── bookrack~.storyboard
│ │ ├── controller
│ │ │ └── bookrack
│ │ │ │ ├── LNBookrackViewController.h
│ │ │ │ └── LNBookrackViewController.m
│ │ ├── model
│ │ │ └── bookrack
│ │ │ │ ├── LNRecommnadBook.h
│ │ │ │ └── LNRecommnadBook.m
│ │ ├── tool
│ │ │ ├── LNBookrackViewModel.h
│ │ │ └── LNBookrackViewModel.m
│ │ └── view
│ │ │ └── bookrack
│ │ │ ├── LNBookrackRecentBookView.h
│ │ │ ├── LNBookrackRecentBookView.m
│ │ │ ├── LNBookrackRecentBookView.xib
│ │ │ ├── LNBookrackRecommandCell.h
│ │ │ ├── LNBookrackRecommandCell.m
│ │ │ └── LNBookrackRecommandCell.xib
│ ├── classify
│ │ ├── classify~.storyboard
│ │ ├── controller
│ │ │ ├── LNClassifyListViewController.h
│ │ │ ├── LNClassifyListViewController.m
│ │ │ ├── LNClassifyViewController.h
│ │ │ └── LNClassifyViewController.m
│ │ ├── model
│ │ │ ├── LNClassifyBookModel.h
│ │ │ ├── LNClassifyBookModel.m
│ │ │ ├── LNClassifyModel.h
│ │ │ └── LNClassifyModel.m
│ │ ├── tool
│ │ │ ├── LNClassifyListViewModel.h
│ │ │ ├── LNClassifyListViewModel.m
│ │ │ ├── LNClassifyViewModel.h
│ │ │ └── LNClassifyViewModel.m
│ │ └── view
│ │ │ ├── LNClassifyCell.h
│ │ │ ├── LNClassifyCell.m
│ │ │ ├── LNClassifyCell.xib
│ │ │ ├── LNClassifyGroupCell.h
│ │ │ ├── LNClassifyGroupCell.m
│ │ │ ├── LNClassifyGroupCell.xib
│ │ │ ├── LNClassifyGroupHeaderView.h
│ │ │ ├── LNClassifyGroupHeaderView.m
│ │ │ ├── LNClassifyListCell.h
│ │ │ ├── LNClassifyListCell.m
│ │ │ └── LNClassifyListCell.xib
│ ├── common
│ │ ├── LNConst.h
│ │ ├── LNConst.m
│ │ ├── category
│ │ │ ├── MBProgressHUD+LNHUD.h
│ │ │ ├── MBProgressHUD+LNHUD.m
│ │ │ ├── NSDate+LNAdd.h
│ │ │ ├── NSDate+LNAdd.m
│ │ │ ├── UIButton+LNAdd.h
│ │ │ ├── UIButton+LNAdd.m
│ │ │ ├── UIScrollView+EmptyDataSet.h
│ │ │ ├── UIScrollView+EmptyDataSet.m
│ │ │ ├── UIView+NIB.h
│ │ │ ├── UIView+NIB.m
│ │ │ ├── UIViewController+NIB.h
│ │ │ ├── UIViewController+NIB.m
│ │ │ └── singleton.h
│ │ └── helper
│ │ │ ├── LNCommonHelper.h
│ │ │ ├── LNCommonHelper.m
│ │ │ ├── LNRequest.h
│ │ │ ├── LNRequest.m
│ │ │ ├── LNSkinHelper.h
│ │ │ └── LNSkinHelper.m
│ ├── mine
│ │ ├── controller
│ │ │ ├── LNAboutViewController.h
│ │ │ ├── LNAboutViewController.m
│ │ │ ├── LNHistoryViewController.h
│ │ │ ├── LNHistoryViewController.m
│ │ │ ├── LNProfileViewController.h
│ │ │ └── LNProfileViewController.m
│ │ ├── mine~.storyboard
│ │ ├── tool
│ │ │ ├── LNHistoryViewModel.h
│ │ │ ├── LNHistoryViewModel.m
│ │ │ ├── LNProfileViewModel.h
│ │ │ └── LNProfileViewModel.m
│ │ └── view
│ │ │ ├── LNHistoryCell.h
│ │ │ ├── LNHistoryCell.m
│ │ │ ├── LNHistoryCell.xib
│ │ │ ├── LNProfileTopView.h
│ │ │ ├── LNProfileTopView.m
│ │ │ └── LNProfileTopView.xib
│ ├── reader
│ │ ├── controller
│ │ │ ├── LNReaderChapterListViewController.h
│ │ │ ├── LNReaderChapterListViewController.m
│ │ │ ├── LNReaderScourceListViewController.h
│ │ │ ├── LNReaderScourceListViewController.m
│ │ │ ├── LNReaderViewController.h
│ │ │ └── LNReaderViewController.m
│ │ ├── model
│ │ │ ├── LNBookChapter.h
│ │ │ ├── LNBookChapter.m
│ │ │ ├── LNBookContent.h
│ │ │ ├── LNBookContent.m
│ │ │ ├── LNBookLinkSource.h
│ │ │ └── LNBookLinkSource.m
│ │ ├── tool
│ │ │ ├── LNChapterListViewModel.h
│ │ │ ├── LNChapterListViewModel.m
│ │ │ ├── LNReaderViewModel.h
│ │ │ └── LNReaderViewModel.m
│ │ └── view
│ │ │ ├── LNReaderBottomControlView.h
│ │ │ ├── LNReaderBottomControlView.m
│ │ │ ├── LNReaderBottomControlView.xib
│ │ │ ├── LNReaderChapterListCell.h
│ │ │ ├── LNReaderChapterListCell.m
│ │ │ ├── LNReaderContentCell.h
│ │ │ ├── LNReaderContentCell.m
│ │ │ ├── LNReaderSettingView.h
│ │ │ ├── LNReaderSettingView.m
│ │ │ ├── LNReaderSettingView.xib
│ │ │ ├── LNReaderSourceListCell.h
│ │ │ ├── LNReaderSourceListCell.m
│ │ │ ├── LNReaderTopControlView.h
│ │ │ ├── LNReaderTopControlView.m
│ │ │ └── LNReaderTopControlView.xib
│ └── search
│ │ ├── controller
│ │ ├── LNSearchResultViewController.h
│ │ ├── LNSearchResultViewController.m
│ │ ├── LNSearchViewController.h
│ │ └── LNSearchViewController.m
│ │ ├── model
│ │ ├── LNSuggest.h
│ │ └── LNSuggest.m
│ │ ├── tool
│ │ ├── LNSearchResultViewModel.h
│ │ ├── LNSearchResultViewModel.m
│ │ ├── LNSearchViewModel.h
│ │ └── LNSearchViewModel.m
│ │ └── view
│ │ ├── LNSearchSuggestCell.h
│ │ ├── LNSearchSuggestCell.m
│ │ └── LNSearchSuggestCell.xib
├── lib
│ ├── TOCropViewController
│ │ ├── Categories
│ │ │ ├── UIImage+CropRotate.h
│ │ │ └── UIImage+CropRotate.m
│ │ ├── Constants
│ │ │ └── TOCropViewConstants.h
│ │ ├── Models
│ │ │ ├── TOActivityCroppedImageProvider.h
│ │ │ ├── TOActivityCroppedImageProvider.m
│ │ │ ├── TOCropViewControllerTransitioning.h
│ │ │ ├── TOCropViewControllerTransitioning.m
│ │ │ ├── TOCroppedImageAttributes.h
│ │ │ └── TOCroppedImageAttributes.m
│ │ ├── TOCropViewController.h
│ │ ├── TOCropViewController.m
│ │ └── Views
│ │ │ ├── TOCropOverlayView.h
│ │ │ ├── TOCropOverlayView.m
│ │ │ ├── TOCropScrollView.h
│ │ │ ├── TOCropScrollView.m
│ │ │ ├── TOCropToolbar.h
│ │ │ ├── TOCropToolbar.m
│ │ │ ├── TOCropView.h
│ │ │ └── TOCropView.m
│ ├── TZImagePickerController
│ │ ├── NSBundle+TZImagePicker.h
│ │ ├── NSBundle+TZImagePicker.m
│ │ ├── TZAssetCell.h
│ │ ├── TZAssetCell.m
│ │ ├── TZAssetModel.h
│ │ ├── TZAssetModel.m
│ │ ├── TZGifPhotoPreviewController.h
│ │ ├── TZGifPhotoPreviewController.m
│ │ ├── TZImageCropManager.h
│ │ ├── TZImageCropManager.m
│ │ ├── TZImageManager.h
│ │ ├── TZImageManager.m
│ │ ├── TZImagePickerController.bundle
│ │ │ ├── MMVideoPreviewPlay@2x.png
│ │ │ ├── MMVideoPreviewPlayHL@2x.png
│ │ │ ├── VideoSendIcon@2x.png
│ │ │ ├── en.lproj
│ │ │ │ └── Localizable.strings
│ │ │ ├── navi_back@2x.png
│ │ │ ├── photo_arrow_down@2x.png
│ │ │ ├── photo_arrow_up@2x.png
│ │ │ ├── photo_def_photoPickerVc@2x.png
│ │ │ ├── photo_def_previewVc@2x.png
│ │ │ ├── photo_number_icon@2x.png
│ │ │ ├── photo_original_def@2x.png
│ │ │ ├── photo_original_sel@2x.png
│ │ │ ├── photo_sel_photoPickerVc@2x.png
│ │ │ ├── photo_sel_previewVc@2x.png
│ │ │ ├── preview_number_icon@2x.png
│ │ │ ├── preview_original_def@2x.png
│ │ │ ├── takePicture80@2x.png
│ │ │ ├── takePicture@2x.png
│ │ │ ├── vi.lproj
│ │ │ │ └── Localizable.strings
│ │ │ ├── zh-Hans.lproj
│ │ │ │ └── Localizable.strings
│ │ │ └── zh-Hant.lproj
│ │ │ │ └── Localizable.strings
│ │ ├── TZImagePickerController.h
│ │ ├── TZImagePickerController.m
│ │ ├── TZImageRequestOperation.h
│ │ ├── TZImageRequestOperation.m
│ │ ├── TZLocationManager.h
│ │ ├── TZLocationManager.m
│ │ ├── TZPhotoPickerController.h
│ │ ├── TZPhotoPickerController.m
│ │ ├── TZPhotoPreviewCell.h
│ │ ├── TZPhotoPreviewCell.m
│ │ ├── TZPhotoPreviewController.h
│ │ ├── TZPhotoPreviewController.m
│ │ ├── TZProgressView.h
│ │ ├── TZProgressView.m
│ │ ├── TZVideoPlayerController.h
│ │ ├── TZVideoPlayerController.m
│ │ ├── UIView+Layout.h
│ │ └── UIView+Layout.m
│ ├── Wave
│ │ ├── ZHWave.h
│ │ └── ZHWave.m
│ ├── YBNetwork
│ │ ├── Cache
│ │ │ ├── YBNetworkCache+Internal.h
│ │ │ ├── YBNetworkCache.h
│ │ │ └── YBNetworkCache.m
│ │ ├── Manger
│ │ │ ├── YBBaseRequest+Internal.h
│ │ │ ├── YBNetworkManager.h
│ │ │ └── YBNetworkManager.m
│ │ ├── Response
│ │ │ ├── YBNetworkResponse.h
│ │ │ └── YBNetworkResponse.m
│ │ ├── YBBaseRequest.h
│ │ ├── YBBaseRequest.m
│ │ └── YBNetworkDefine.h
│ ├── YYKit
│ │ ├── Base
│ │ │ ├── Foundation
│ │ │ │ ├── NSArray+YYAdd.h
│ │ │ │ ├── NSArray+YYAdd.m
│ │ │ │ ├── NSBundle+YYAdd.h
│ │ │ │ ├── NSBundle+YYAdd.m
│ │ │ │ ├── NSData+YYAdd.h
│ │ │ │ ├── NSData+YYAdd.m
│ │ │ │ ├── NSDate+YYAdd.h
│ │ │ │ ├── NSDate+YYAdd.m
│ │ │ │ ├── NSDictionary+YYAdd.h
│ │ │ │ ├── NSDictionary+YYAdd.m
│ │ │ │ ├── NSKeyedUnarchiver+YYAdd.h
│ │ │ │ ├── NSKeyedUnarchiver+YYAdd.m
│ │ │ │ ├── NSNotificationCenter+YYAdd.h
│ │ │ │ ├── NSNotificationCenter+YYAdd.m
│ │ │ │ ├── NSNumber+YYAdd.h
│ │ │ │ ├── NSNumber+YYAdd.m
│ │ │ │ ├── NSObject+YYAdd.h
│ │ │ │ ├── NSObject+YYAdd.m
│ │ │ │ ├── NSObject+YYAddForARC.h
│ │ │ │ ├── NSObject+YYAddForARC.m
│ │ │ │ ├── NSObject+YYAddForKVO.h
│ │ │ │ ├── NSObject+YYAddForKVO.m
│ │ │ │ ├── NSString+YYAdd.h
│ │ │ │ ├── NSString+YYAdd.m
│ │ │ │ ├── NSThread+YYAdd.h
│ │ │ │ ├── NSThread+YYAdd.m
│ │ │ │ ├── NSTimer+YYAdd.h
│ │ │ │ └── NSTimer+YYAdd.m
│ │ │ ├── Quartz
│ │ │ │ ├── CALayer+YYAdd.h
│ │ │ │ ├── CALayer+YYAdd.m
│ │ │ │ ├── YYCGUtilities.h
│ │ │ │ └── YYCGUtilities.m
│ │ │ ├── UIKit
│ │ │ │ ├── UIApplication+YYAdd.h
│ │ │ │ ├── UIApplication+YYAdd.m
│ │ │ │ ├── UIBarButtonItem+YYAdd.h
│ │ │ │ ├── UIBarButtonItem+YYAdd.m
│ │ │ │ ├── UIBezierPath+YYAdd.h
│ │ │ │ ├── UIBezierPath+YYAdd.m
│ │ │ │ ├── UIColor+YYAdd.h
│ │ │ │ ├── UIColor+YYAdd.m
│ │ │ │ ├── UIControl+YYAdd.h
│ │ │ │ ├── UIControl+YYAdd.m
│ │ │ │ ├── UIDevice+YYAdd.h
│ │ │ │ ├── UIDevice+YYAdd.m
│ │ │ │ ├── UIFont+YYAdd.h
│ │ │ │ ├── UIFont+YYAdd.m
│ │ │ │ ├── UIGestureRecognizer+YYAdd.h
│ │ │ │ ├── UIGestureRecognizer+YYAdd.m
│ │ │ │ ├── UIImage+YYAdd.h
│ │ │ │ ├── UIImage+YYAdd.m
│ │ │ │ ├── UIScreen+YYAdd.h
│ │ │ │ ├── UIScreen+YYAdd.m
│ │ │ │ ├── UIScrollView+YYAdd.h
│ │ │ │ ├── UIScrollView+YYAdd.m
│ │ │ │ ├── UITableView+YYAdd.h
│ │ │ │ ├── UITableView+YYAdd.m
│ │ │ │ ├── UITextField+YYAdd.h
│ │ │ │ ├── UITextField+YYAdd.m
│ │ │ │ ├── UIView+YYAdd.h
│ │ │ │ └── UIView+YYAdd.m
│ │ │ └── YYKitMacro.h
│ │ ├── Cache
│ │ │ ├── YYCache.h
│ │ │ ├── YYCache.m
│ │ │ ├── YYDiskCache.h
│ │ │ ├── YYDiskCache.m
│ │ │ ├── YYKVStorage.h
│ │ │ ├── YYKVStorage.m
│ │ │ ├── YYMemoryCache.h
│ │ │ └── YYMemoryCache.m
│ │ ├── Image
│ │ │ ├── Categories
│ │ │ │ ├── CALayer+YYWebImage.h
│ │ │ │ ├── CALayer+YYWebImage.m
│ │ │ │ ├── MKAnnotationView+YYWebImage.h
│ │ │ │ ├── MKAnnotationView+YYWebImage.m
│ │ │ │ ├── UIButton+YYWebImage.h
│ │ │ │ ├── UIButton+YYWebImage.m
│ │ │ │ ├── UIImageView+YYWebImage.h
│ │ │ │ ├── UIImageView+YYWebImage.m
│ │ │ │ ├── _YYWebImageSetter.h
│ │ │ │ └── _YYWebImageSetter.m
│ │ │ ├── YYAnimatedImageView.h
│ │ │ ├── YYAnimatedImageView.m
│ │ │ ├── YYFrameImage.h
│ │ │ ├── YYFrameImage.m
│ │ │ ├── YYImage.h
│ │ │ ├── YYImage.m
│ │ │ ├── YYImageCache.h
│ │ │ ├── YYImageCache.m
│ │ │ ├── YYImageCoder.h
│ │ │ ├── YYImageCoder.m
│ │ │ ├── YYSpriteSheetImage.h
│ │ │ ├── YYSpriteSheetImage.m
│ │ │ ├── YYWebImageManager.h
│ │ │ ├── YYWebImageManager.m
│ │ │ ├── YYWebImageOperation.h
│ │ │ └── YYWebImageOperation.m
│ │ ├── Model
│ │ │ ├── NSObject+YYModel.h
│ │ │ ├── NSObject+YYModel.m
│ │ │ ├── YYClassInfo.h
│ │ │ └── YYClassInfo.m
│ │ ├── Text
│ │ │ ├── Component
│ │ │ │ ├── YYTextContainerView.h
│ │ │ │ ├── YYTextContainerView.m
│ │ │ │ ├── YYTextDebugOption.h
│ │ │ │ ├── YYTextDebugOption.m
│ │ │ │ ├── YYTextEffectWindow.h
│ │ │ │ ├── YYTextEffectWindow.m
│ │ │ │ ├── YYTextInput.h
│ │ │ │ ├── YYTextInput.m
│ │ │ │ ├── YYTextKeyboardManager.h
│ │ │ │ ├── YYTextKeyboardManager.m
│ │ │ │ ├── YYTextLayout.h
│ │ │ │ ├── YYTextLayout.m
│ │ │ │ ├── YYTextLine.h
│ │ │ │ ├── YYTextLine.m
│ │ │ │ ├── YYTextMagnifier.h
│ │ │ │ ├── YYTextMagnifier.m
│ │ │ │ ├── YYTextSelectionView.h
│ │ │ │ └── YYTextSelectionView.m
│ │ │ ├── String
│ │ │ │ ├── NSAttributedString+YYText.h
│ │ │ │ ├── NSAttributedString+YYText.m
│ │ │ │ ├── NSParagraphStyle+YYText.h
│ │ │ │ ├── NSParagraphStyle+YYText.m
│ │ │ │ ├── UIPasteboard+YYText.h
│ │ │ │ ├── UIPasteboard+YYText.m
│ │ │ │ ├── YYTextArchiver.h
│ │ │ │ ├── YYTextArchiver.m
│ │ │ │ ├── YYTextAttribute.h
│ │ │ │ ├── YYTextAttribute.m
│ │ │ │ ├── YYTextParser.h
│ │ │ │ ├── YYTextParser.m
│ │ │ │ ├── YYTextRubyAnnotation.h
│ │ │ │ ├── YYTextRubyAnnotation.m
│ │ │ │ ├── YYTextRunDelegate.h
│ │ │ │ ├── YYTextRunDelegate.m
│ │ │ │ ├── YYTextUtilities.h
│ │ │ │ └── YYTextUtilities.m
│ │ │ ├── YYLabel.h
│ │ │ ├── YYLabel.m
│ │ │ ├── YYTextView.h
│ │ │ └── YYTextView.m
│ │ ├── Utility
│ │ │ ├── YYAsyncLayer.h
│ │ │ ├── YYAsyncLayer.m
│ │ │ ├── YYDispatchQueuePool.h
│ │ │ ├── YYDispatchQueuePool.m
│ │ │ ├── YYFileHash.h
│ │ │ ├── YYFileHash.m
│ │ │ ├── YYGestureRecognizer.h
│ │ │ ├── YYGestureRecognizer.m
│ │ │ ├── YYKeychain.h
│ │ │ ├── YYKeychain.m
│ │ │ ├── YYReachability.h
│ │ │ ├── YYReachability.m
│ │ │ ├── YYSentinel.h
│ │ │ ├── YYSentinel.m
│ │ │ ├── YYThreadSafeArray.h
│ │ │ ├── YYThreadSafeArray.m
│ │ │ ├── YYThreadSafeDictionary.h
│ │ │ ├── YYThreadSafeDictionary.m
│ │ │ ├── YYTimer.h
│ │ │ ├── YYTimer.m
│ │ │ ├── YYTransaction.h
│ │ │ ├── YYTransaction.m
│ │ │ ├── YYWeakProxy.h
│ │ │ └── YYWeakProxy.m
│ │ └── YYKit.h
│ └── YZAuthID
│ │ ├── YZAuthID.h
│ │ └── YZAuthID.m
├── lookNovel.pch
├── main.m
└── source
│ ├── LNNormalTheme.json
│ └── LNReadTheme.json
├── Podfile
├── Podfile.lock
├── Pods
├── AFNetworking
│ ├── AFNetworking
│ │ ├── AFCompatibilityMacros.h
│ │ ├── AFHTTPSessionManager.h
│ │ ├── AFHTTPSessionManager.m
│ │ ├── AFNetworkReachabilityManager.h
│ │ ├── AFNetworkReachabilityManager.m
│ │ ├── AFNetworking.h
│ │ ├── AFSecurityPolicy.h
│ │ ├── AFSecurityPolicy.m
│ │ ├── AFURLRequestSerialization.h
│ │ ├── AFURLRequestSerialization.m
│ │ ├── AFURLResponseSerialization.h
│ │ ├── AFURLResponseSerialization.m
│ │ ├── AFURLSessionManager.h
│ │ └── AFURLSessionManager.m
│ ├── LICENSE
│ ├── README.md
│ └── UIKit+AFNetworking
│ │ ├── AFAutoPurgingImageCache.h
│ │ ├── AFAutoPurgingImageCache.m
│ │ ├── AFImageDownloader.h
│ │ ├── AFImageDownloader.m
│ │ ├── AFNetworkActivityIndicatorManager.h
│ │ ├── AFNetworkActivityIndicatorManager.m
│ │ ├── UIActivityIndicatorView+AFNetworking.h
│ │ ├── UIActivityIndicatorView+AFNetworking.m
│ │ ├── UIButton+AFNetworking.h
│ │ ├── UIButton+AFNetworking.m
│ │ ├── UIImage+AFNetworking.h
│ │ ├── UIImageView+AFNetworking.h
│ │ ├── UIImageView+AFNetworking.m
│ │ ├── UIKit+AFNetworking.h
│ │ ├── UIProgressView+AFNetworking.h
│ │ ├── UIProgressView+AFNetworking.m
│ │ ├── UIRefreshControl+AFNetworking.h
│ │ ├── UIRefreshControl+AFNetworking.m
│ │ ├── UIWebView+AFNetworking.h
│ │ └── UIWebView+AFNetworking.m
├── MBProgressHUD
│ ├── LICENSE
│ ├── MBProgressHUD.h
│ ├── MBProgressHUD.m
│ └── README.mdown
├── MJExtension
│ ├── LICENSE
│ ├── MJExtension
│ │ ├── MJExtension.h
│ │ ├── MJExtensionConst.h
│ │ ├── MJExtensionConst.m
│ │ ├── MJFoundation.h
│ │ ├── MJFoundation.m
│ │ ├── MJProperty.h
│ │ ├── MJProperty.m
│ │ ├── MJPropertyKey.h
│ │ ├── MJPropertyKey.m
│ │ ├── MJPropertyType.h
│ │ ├── MJPropertyType.m
│ │ ├── NSObject+MJClass.h
│ │ ├── NSObject+MJClass.m
│ │ ├── NSObject+MJCoding.h
│ │ ├── NSObject+MJCoding.m
│ │ ├── NSObject+MJKeyValue.h
│ │ ├── NSObject+MJKeyValue.m
│ │ ├── NSObject+MJProperty.h
│ │ ├── NSObject+MJProperty.m
│ │ ├── NSString+MJExtension.h
│ │ └── NSString+MJExtension.m
│ └── README.md
├── MJRefresh
│ ├── LICENSE
│ ├── MJRefresh
│ │ ├── Base
│ │ │ ├── MJRefreshAutoFooter.h
│ │ │ ├── MJRefreshAutoFooter.m
│ │ │ ├── MJRefreshBackFooter.h
│ │ │ ├── MJRefreshBackFooter.m
│ │ │ ├── MJRefreshComponent.h
│ │ │ ├── MJRefreshComponent.m
│ │ │ ├── MJRefreshFooter.h
│ │ │ ├── MJRefreshFooter.m
│ │ │ ├── MJRefreshHeader.h
│ │ │ └── MJRefreshHeader.m
│ │ ├── Custom
│ │ │ ├── Footer
│ │ │ │ ├── Auto
│ │ │ │ │ ├── MJRefreshAutoGifFooter.h
│ │ │ │ │ ├── MJRefreshAutoGifFooter.m
│ │ │ │ │ ├── MJRefreshAutoNormalFooter.h
│ │ │ │ │ ├── MJRefreshAutoNormalFooter.m
│ │ │ │ │ ├── MJRefreshAutoStateFooter.h
│ │ │ │ │ └── MJRefreshAutoStateFooter.m
│ │ │ │ └── Back
│ │ │ │ │ ├── MJRefreshBackGifFooter.h
│ │ │ │ │ ├── MJRefreshBackGifFooter.m
│ │ │ │ │ ├── MJRefreshBackNormalFooter.h
│ │ │ │ │ ├── MJRefreshBackNormalFooter.m
│ │ │ │ │ ├── MJRefreshBackStateFooter.h
│ │ │ │ │ └── MJRefreshBackStateFooter.m
│ │ │ └── Header
│ │ │ │ ├── MJRefreshGifHeader.h
│ │ │ │ ├── MJRefreshGifHeader.m
│ │ │ │ ├── MJRefreshNormalHeader.h
│ │ │ │ ├── MJRefreshNormalHeader.m
│ │ │ │ ├── MJRefreshStateHeader.h
│ │ │ │ └── MJRefreshStateHeader.m
│ │ ├── MJRefresh.bundle
│ │ │ ├── arrow@2x.png
│ │ │ ├── en.lproj
│ │ │ │ └── Localizable.strings
│ │ │ ├── zh-Hans.lproj
│ │ │ │ └── Localizable.strings
│ │ │ └── zh-Hant.lproj
│ │ │ │ └── Localizable.strings
│ │ ├── MJRefresh.h
│ │ ├── MJRefreshConst.h
│ │ ├── MJRefreshConst.m
│ │ ├── NSBundle+MJRefresh.h
│ │ ├── NSBundle+MJRefresh.m
│ │ ├── UIScrollView+MJExtension.h
│ │ ├── UIScrollView+MJExtension.m
│ │ ├── UIScrollView+MJRefresh.h
│ │ ├── UIScrollView+MJRefresh.m
│ │ ├── UIView+MJExtension.h
│ │ └── UIView+MJExtension.m
│ └── README.md
├── Manifest.lock
├── Masonry
│ ├── LICENSE
│ ├── Masonry
│ │ ├── MASCompositeConstraint.h
│ │ ├── MASCompositeConstraint.m
│ │ ├── MASConstraint+Private.h
│ │ ├── MASConstraint.h
│ │ ├── MASConstraint.m
│ │ ├── MASConstraintMaker.h
│ │ ├── MASConstraintMaker.m
│ │ ├── MASLayoutConstraint.h
│ │ ├── MASLayoutConstraint.m
│ │ ├── MASUtilities.h
│ │ ├── MASViewAttribute.h
│ │ ├── MASViewAttribute.m
│ │ ├── MASViewConstraint.h
│ │ ├── MASViewConstraint.m
│ │ ├── Masonry.h
│ │ ├── NSArray+MASAdditions.h
│ │ ├── NSArray+MASAdditions.m
│ │ ├── NSArray+MASShorthandAdditions.h
│ │ ├── NSLayoutConstraint+MASDebugAdditions.h
│ │ ├── NSLayoutConstraint+MASDebugAdditions.m
│ │ ├── View+MASAdditions.h
│ │ ├── View+MASAdditions.m
│ │ ├── View+MASShorthandAdditions.h
│ │ ├── ViewController+MASAdditions.h
│ │ └── ViewController+MASAdditions.m
│ └── README.md
├── Pods.xcodeproj
│ └── project.pbxproj
└── Target Support Files
│ ├── AFNetworking
│ ├── AFNetworking-dummy.m
│ ├── AFNetworking-prefix.pch
│ ├── AFNetworking-umbrella.h
│ ├── AFNetworking.modulemap
│ ├── AFNetworking.xcconfig
│ └── Info.plist
│ ├── MBProgressHUD
│ ├── Info.plist
│ ├── MBProgressHUD-dummy.m
│ ├── MBProgressHUD-prefix.pch
│ ├── MBProgressHUD-umbrella.h
│ ├── MBProgressHUD.modulemap
│ └── MBProgressHUD.xcconfig
│ ├── MJExtension
│ ├── Info.plist
│ ├── MJExtension-dummy.m
│ ├── MJExtension-prefix.pch
│ ├── MJExtension-umbrella.h
│ ├── MJExtension.modulemap
│ └── MJExtension.xcconfig
│ ├── MJRefresh
│ ├── Info.plist
│ ├── MJRefresh-dummy.m
│ ├── MJRefresh-prefix.pch
│ ├── MJRefresh-umbrella.h
│ ├── MJRefresh.modulemap
│ └── MJRefresh.xcconfig
│ ├── Masonry
│ ├── Info.plist
│ ├── Masonry-dummy.m
│ ├── Masonry-prefix.pch
│ ├── Masonry-umbrella.h
│ ├── Masonry.modulemap
│ └── Masonry.xcconfig
│ ├── Pods-LookNovel
│ ├── Info.plist
│ ├── Pods-LookNovel-acknowledgements.markdown
│ ├── Pods-LookNovel-acknowledgements.plist
│ ├── Pods-LookNovel-dummy.m
│ ├── Pods-LookNovel-frameworks.sh
│ ├── Pods-LookNovel-resources.sh
│ ├── Pods-LookNovel-umbrella.h
│ ├── Pods-LookNovel.debug.xcconfig
│ ├── Pods-LookNovel.modulemap
│ └── Pods-LookNovel.release.xcconfig
│ └── Pods-recentBook
│ ├── Info.plist
│ ├── Pods-recentBook-acknowledgements.markdown
│ ├── Pods-recentBook-acknowledgements.plist
│ ├── Pods-recentBook-dummy.m
│ ├── Pods-recentBook-resources.sh
│ ├── Pods-recentBook-umbrella.h
│ ├── Pods-recentBook.debug.xcconfig
│ ├── Pods-recentBook.modulemap
│ └── Pods-recentBook.release.xcconfig
├── README.md
├── recentBook
├── Base.lproj
│ └── MainInterface.storyboard
├── Info.plist
├── LNTodayViewModel.h
├── LNTodayViewModel.m
├── TodayViewController.h
├── TodayViewController.m
└── recentBook.entitlements
└── screenShot
└── screenShot.png
/LookNovel.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/LookNovel.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/LookNovel.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/LookNovel.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/LookNovel.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildSystemType
6 | Original
7 | IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/LookNovel/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/8.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 |
12 | @interface AppDelegate : UIResponder
13 |
14 | @property (strong, nonatomic) UIWindow *window;
15 |
16 | @property (nonatomic, strong) UIViewController *authVc;
17 | @end
18 |
19 |
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/3d_recentBook_icon.imageset/3d_recentBook_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/3d_recentBook_icon.imageset/3d_recentBook_icon@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/3d_recentBook_icon.imageset/3d_recentBook_icon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/3d_recentBook_icon.imageset/3d_recentBook_icon@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/3d_recentBook_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "3d_recentBook_icon@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "3d_recentBook_icon@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneApp_60pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneApp_60pt@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneApp_60pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneApp_60pt@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneNotification_20pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneNotification_20pt@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneNotification_20pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneNotification_20pt@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneSpootlight5_29pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneSpootlight5_29pt@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneSpootlight5_29pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneSpootlight5_29pt@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneSpootlight7_40pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneSpootlight7_40pt@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneSpootlight7_40pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/AppIcon.appiconset/logoiPhoneSpootlight7_40pt@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/AppIcon.appiconset/logostore_1024pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/AppIcon.appiconset/logostore_1024pt.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS56_320x480pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS56_320x480pt.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS56_320x480pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS56_320x480pt@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS56_320x568pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS56_320x568pt@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS789_320x480pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS789_320x480pt@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS789_320x568pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS789_320x568pt@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS89_375x667pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS89_375x667pt@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS89_414x736pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhonePortraitiOS89_414x736pt@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhoneXPortraitiOS11_375x812pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhoneXPortraitiOS11_375x812pt@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhoneXPortraitiOS12_414x896pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhoneXPortraitiOS12_414x896pt@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhoneXPortraitiOS12_414x896pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/LaunchImage.launchimage/launchScreeniPhoneXPortraitiOS12_414x896pt@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/auth_face.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "auth_face@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/auth_face.imageset/auth_face@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/auth_face.imageset/auth_face@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/auth_finger.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "auth_finger@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/auth_finger.imageset/auth_finger@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/auth_finger.imageset/auth_finger@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/classify/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/classify/icon_author_12x12_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_author_12x12_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_author_12x12_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/classify/icon_author_12x12_.imageset/icon_author_12x12_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/classify/icon_author_12x12_.imageset/icon_author_12x12_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/classify/icon_author_12x12_.imageset/icon_author_12x12_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/classify/icon_author_12x12_.imageset/icon_author_12x12_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/detail/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/detail/booklist_icon_collect_24_24_n_24x24_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "booklist_icon_collect_24_24_n_24x24_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "booklist_icon_collect_24_24_n_24x24_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/detail/booklist_icon_collect_24_24_n_24x24_.imageset/booklist_icon_collect_24_24_n_24x24_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/detail/booklist_icon_collect_24_24_n_24x24_.imageset/booklist_icon_collect_24_24_n_24x24_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/detail/booklist_icon_collect_24_24_n_24x24_.imageset/booklist_icon_collect_24_24_n_24x24_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/detail/booklist_icon_collect_24_24_n_24x24_.imageset/booklist_icon_collect_24_24_n_24x24_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/detail/booklist_icon_collect_24_24_p_24x24_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "booklist_icon_collect_24_24_p_24x24_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "booklist_icon_collect_24_24_p_24x24_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/detail/booklist_icon_collect_24_24_p_24x24_.imageset/booklist_icon_collect_24_24_p_24x24_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/detail/booklist_icon_collect_24_24_p_24x24_.imageset/booklist_icon_collect_24_24_p_24x24_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/detail/booklist_icon_collect_24_24_p_24x24_.imageset/booklist_icon_collect_24_24_p_24x24_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/detail/booklist_icon_collect_24_24_p_24x24_.imageset/booklist_icon_collect_24_24_p_24x24_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_search_16x16_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_search_16x16_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_search_16x16_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_search_16x16_.imageset/icon_search_16x16_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/icon_search_16x16_.imageset/icon_search_16x16_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_search_16x16_.imageset/icon_search_16x16_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/icon_search_16x16_.imageset/icon_search_16x16_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_search_gray_16x16_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_search_gray_16x16_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_search_gray_16x16_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | },
22 | "properties" : {
23 | "template-rendering-intent" : "original"
24 | }
25 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_search_gray_16x16_.imageset/icon_search_gray_16x16_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/icon_search_gray_16x16_.imageset/icon_search_gray_16x16_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_search_gray_16x16_.imageset/icon_search_gray_16x16_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/icon_search_gray_16x16_.imageset/icon_search_gray_16x16_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_shelf_reading_16x16_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_shelf_reading_16x16_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_shelf_reading_16x16_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_shelf_reading_16x16_.imageset/icon_shelf_reading_16x16_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/icon_shelf_reading_16x16_.imageset/icon_shelf_reading_16x16_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_shelf_reading_16x16_.imageset/icon_shelf_reading_16x16_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/icon_shelf_reading_16x16_.imageset/icon_shelf_reading_16x16_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_shelf_reading_gray_16x16_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_shelf_reading_gray_16x16_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_shelf_reading_gray_16x16_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_shelf_reading_gray_16x16_.imageset/icon_shelf_reading_gray_16x16_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/icon_shelf_reading_gray_16x16_.imageset/icon_shelf_reading_gray_16x16_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/icon_shelf_reading_gray_16x16_.imageset/icon_shelf_reading_gray_16x16_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/icon_shelf_reading_gray_16x16_.imageset/icon_shelf_reading_gray_16x16_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_noCover_88x122_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_noCover_88x122_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_noCover_88x122_.imageset/pic_noCover_88x122_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/pic_noCover_88x122_.imageset/pic_noCover_88x122_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_recent_default_375x210_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_recent_default_375x210_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic_recent_default_375x210_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_recent_default_375x210_.imageset/pic_recent_default_375x210_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/pic_recent_default_375x210_.imageset/pic_recent_default_375x210_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_recent_default_375x210_.imageset/pic_recent_default_375x210_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/pic_recent_default_375x210_.imageset/pic_recent_default_375x210_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_recent_wave_375x25_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_recent_wave_375x25_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic_recent_wave_375x25_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_recent_wave_375x25_.imageset/pic_recent_wave_375x25_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/pic_recent_wave_375x25_.imageset/pic_recent_wave_375x25_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_recent_wave_375x25_.imageset/pic_recent_wave_375x25_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/pic_recent_wave_375x25_.imageset/pic_recent_wave_375x25_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_shelf_import_90x120_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_shelf_import_90x120_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic_shelf_import_90x120_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_shelf_import_90x120_.imageset/pic_shelf_import_90x120_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/pic_shelf_import_90x120_.imageset/pic_shelf_import_90x120_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/pic_shelf_import_90x120_.imageset/pic_shelf_import_90x120_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/pic_shelf_import_90x120_.imageset/pic_shelf_import_90x120_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/textField_bg.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "resizing" : {
9 | "mode" : "3-part-horizontal",
10 | "center" : {
11 | "mode" : "tile",
12 | "width" : 1
13 | },
14 | "cap-insets" : {
15 | "right" : 5,
16 | "left" : 5
17 | }
18 | },
19 | "idiom" : "universal",
20 | "filename" : "textField_bg@2x.png",
21 | "scale" : "2x"
22 | },
23 | {
24 | "idiom" : "universal",
25 | "scale" : "3x"
26 | }
27 | ],
28 | "info" : {
29 | "version" : 1,
30 | "author" : "xcode"
31 | }
32 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/home/textField_bg.imageset/textField_bg@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/home/textField_bg.imageset/textField_bg@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/icon_return_8x14_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_return_8x14_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_return_8x14_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | },
22 | "properties" : {
23 | "template-rendering-intent" : "original"
24 | }
25 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/icon_return_8x14_.imageset/icon_return_8x14_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/icon_return_8x14_.imageset/icon_return_8x14_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/icon_return_8x14_.imageset/icon_return_8x14_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/icon_return_8x14_.imageset/icon_return_8x14_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/jiantou.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "jiantou@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "jiantou@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/jiantou.imageset/jiantou@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/jiantou.imageset/jiantou@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/jiantou.imageset/jiantou@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/jiantou.imageset/jiantou@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/logo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "logo@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/logo.imageset/logo@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/logo.imageset/logo@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/personal_center_about_22x22_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "personal_center_about_22x22_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "personal_center_about_22x22_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/personal_center_about_22x22_.imageset/personal_center_about_22x22_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/personal_center_about_22x22_.imageset/personal_center_about_22x22_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/personal_center_about_22x22_.imageset/personal_center_about_22x22_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/personal_center_about_22x22_.imageset/personal_center_about_22x22_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/personal_center_cleancache_22x22_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "personal_center_cleancache_22x22_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "personal_center_cleancache_22x22_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/personal_center_cleancache_22x22_.imageset/personal_center_cleancache_22x22_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/personal_center_cleancache_22x22_.imageset/personal_center_cleancache_22x22_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/personal_center_cleancache_22x22_.imageset/personal_center_cleancache_22x22_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/personal_center_cleancache_22x22_.imageset/personal_center_cleancache_22x22_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/personal_center_history_22x22_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "personal_center_history_22x22_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "personal_center_history_22x22_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/personal_center_history_22x22_.imageset/personal_center_history_22x22_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/personal_center_history_22x22_.imageset/personal_center_history_22x22_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/personal_center_history_22x22_.imageset/personal_center_history_22x22_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/personal_center_history_22x22_.imageset/personal_center_history_22x22_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/pic_local_empty_177x120_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_local_empty_177x120_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic_local_empty_177x120_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/pic_local_empty_177x120_.imageset/pic_local_empty_177x120_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/pic_local_empty_177x120_.imageset/pic_local_empty_177x120_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/pic_local_empty_177x120_.imageset/pic_local_empty_177x120_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/pic_local_empty_177x120_.imageset/pic_local_empty_177x120_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/pic_mine_head_375x200_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_mine_head_375x200_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic_mine_head_375x200_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/pic_mine_head_375x200_.imageset/pic_mine_head_375x200_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/pic_mine_head_375x200_.imageset/pic_mine_head_375x200_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/pic_mine_head_375x200_.imageset/pic_mine_head_375x200_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/pic_mine_head_375x200_.imageset/pic_mine_head_375x200_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/pic_user_default_94x94_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_user_default_94x94_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/mine/pic_user_default_94x94_.imageset/pic_user_default_94x94_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/mine/pic_user_default_94x94_.imageset/pic_user_default_94x94_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/forum_lock_9x11_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "forum_lock_9x11_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "forum_lock_9x11_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/forum_lock_9x11_.imageset/forum_lock_9x11_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/forum_lock_9x11_.imageset/forum_lock_9x11_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/forum_lock_9x11_.imageset/forum_lock_9x11_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/forum_lock_9x11_.imageset/forum_lock_9x11_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_change_34x34_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_change_34x34_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_change_34x34_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_change_34x34_.imageset/icon_change_34x34_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_change_34x34_.imageset/icon_change_34x34_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_change_34x34_.imageset/icon_change_34x34_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_change_34x34_.imageset/icon_change_34x34_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_contents_34x34_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_contents_34x34_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_contents_34x34_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_contents_34x34_.imageset/icon_contents_34x34_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_contents_34x34_.imageset/icon_contents_34x34_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_contents_34x34_.imageset/icon_contents_34x34_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_contents_34x34_.imageset/icon_contents_34x34_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_battery_25x11_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_reader_battery_25x11_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_reader_battery_25x11_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_battery_25x11_.imageset/icon_reader_battery_25x11_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_battery_25x11_.imageset/icon_reader_battery_25x11_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_battery_25x11_.imageset/icon_reader_battery_25x11_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_battery_25x11_.imageset/icon_reader_battery_25x11_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_catalog_20x20_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_reader_catalog_20x20_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_reader_catalog_20x20_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_catalog_20x20_.imageset/icon_reader_catalog_20x20_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_catalog_20x20_.imageset/icon_reader_catalog_20x20_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_catalog_20x20_.imageset/icon_reader_catalog_20x20_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_catalog_20x20_.imageset/icon_reader_catalog_20x20_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_download_18x18_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_reader_download_18x18_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_reader_download_18x18_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_download_18x18_.imageset/icon_reader_download_18x18_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_download_18x18_.imageset/icon_reader_download_18x18_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_download_18x18_.imageset/icon_reader_download_18x18_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_download_18x18_.imageset/icon_reader_download_18x18_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_moon_20x20_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_reader_moon_20x20_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_reader_moon_20x20_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_moon_20x20_.imageset/icon_reader_moon_20x20_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_moon_20x20_.imageset/icon_reader_moon_20x20_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_moon_20x20_.imageset/icon_reader_moon_20x20_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_moon_20x20_.imageset/icon_reader_moon_20x20_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_setting_20x20_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_reader_setting_20x20_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_reader_setting_20x20_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_setting_20x20_.imageset/icon_reader_setting_20x20_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_setting_20x20_.imageset/icon_reader_setting_20x20_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_setting_20x20_.imageset/icon_reader_setting_20x20_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_setting_20x20_.imageset/icon_reader_setting_20x20_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_sun_20x20_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_reader_sun_20x20_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_reader_sun_20x20_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_sun_20x20_.imageset/icon_reader_sun_20x20_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_sun_20x20_.imageset/icon_reader_sun_20x20_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_reader_sun_20x20_.imageset/icon_reader_sun_20x20_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_reader_sun_20x20_.imageset/icon_reader_sun_20x20_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_return_8x14_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_return_8x14_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_return_8x14_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_return_8x14_.imageset/icon_return_8x14_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_return_8x14_.imageset/icon_return_8x14_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/icon_return_8x14_.imageset/icon_return_8x14_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/icon_return_8x14_.imageset/icon_return_8x14_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/pic_reader_guidance_750x1334_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "pic_reader_guidance_750x1334_@1x.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/pic_reader_guidance_750x1334_.imageset/pic_reader_guidance_750x1334_@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/pic_reader_guidance_750x1334_.imageset/pic_reader_guidance_750x1334_@1x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_30x30_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_adjust_button_30x30_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_adjust_button_30x30_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_30x30_.imageset/icon_adjust_button_30x30_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_30x30_.imageset/icon_adjust_button_30x30_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_30x30_.imageset/icon_adjust_button_30x30_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_30x30_.imageset/icon_adjust_button_30x30_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_black_30x30_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_adjust_button_black_30x30_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_adjust_button_black_30x30_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_black_30x30_.imageset/icon_adjust_button_black_30x30_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_black_30x30_.imageset/icon_adjust_button_black_30x30_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_black_30x30_.imageset/icon_adjust_button_black_30x30_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_black_30x30_.imageset/icon_adjust_button_black_30x30_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_night_32x32_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_adjust_button_night_32x32_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_adjust_button_night_32x32_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_night_32x32_.imageset/icon_adjust_button_night_32x32_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_night_32x32_.imageset/icon_adjust_button_night_32x32_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_night_32x32_.imageset/icon_adjust_button_night_32x32_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_adjust_button_night_32x32_.imageset/icon_adjust_button_night_32x32_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_chapter_SortReverse_17x13_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_chapter_SortReverse_17x13_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_chapter_SortReverse_17x13_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_chapter_SortReverse_17x13_.imageset/icon_chapter_SortReverse_17x13_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_chapter_SortReverse_17x13_.imageset/icon_chapter_SortReverse_17x13_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_chapter_SortReverse_17x13_.imageset/icon_chapter_SortReverse_17x13_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_chapter_SortReverse_17x13_.imageset/icon_chapter_SortReverse_17x13_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_chapter_Sort_17x13_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_chapter_Sort_17x13_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_chapter_Sort_17x13_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_chapter_Sort_17x13_.imageset/icon_chapter_Sort_17x13_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_chapter_Sort_17x13_.imageset/icon_chapter_Sort_17x13_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_chapter_Sort_17x13_.imageset/icon_chapter_Sort_17x13_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_chapter_Sort_17x13_.imageset/icon_chapter_Sort_17x13_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_setlight_hight_20x20_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_setlight_hight_20x20_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_setlight_hight_20x20_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_setlight_hight_20x20_.imageset/icon_setlight_hight_20x20_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_setlight_hight_20x20_.imageset/icon_setlight_hight_20x20_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_setlight_hight_20x20_.imageset/icon_setlight_hight_20x20_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_setlight_hight_20x20_.imageset/icon_setlight_hight_20x20_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_setlight_low_21x20_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_setlight_low_21x20_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_setlight_low_21x20_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_setlight_low_21x20_.imageset/icon_setlight_low_21x20_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_setlight_low_21x20_.imageset/icon_setlight_low_21x20_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/setting/icon_setlight_low_21x20_.imageset/icon_setlight_low_21x20_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/setting/icon_setlight_low_21x20_.imageset/icon_setlight_low_21x20_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_black_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_black_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_black_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_black_28x28_.imageset/icon_theme_black_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_black_28x28_.imageset/icon_theme_black_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_black_28x28_.imageset/icon_theme_black_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_black_28x28_.imageset/icon_theme_black_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_black_sel_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_black_sel_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_black_sel_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_black_sel_28x28_.imageset/icon_theme_black_sel_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_black_sel_28x28_.imageset/icon_theme_black_sel_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_black_sel_28x28_.imageset/icon_theme_black_sel_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_black_sel_28x28_.imageset/icon_theme_black_sel_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_gray_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_gray_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_gray_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_gray_28x28_.imageset/icon_theme_gray_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_gray_28x28_.imageset/icon_theme_gray_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_gray_28x28_.imageset/icon_theme_gray_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_gray_28x28_.imageset/icon_theme_gray_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_gray_sel_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_gray_sel_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_gray_sel_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_gray_sel_28x28_.imageset/icon_theme_gray_sel_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_gray_sel_28x28_.imageset/icon_theme_gray_sel_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_gray_sel_28x28_.imageset/icon_theme_gray_sel_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_gray_sel_28x28_.imageset/icon_theme_gray_sel_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_green_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_green_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_green_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_green_28x28_.imageset/icon_theme_green_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_green_28x28_.imageset/icon_theme_green_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_green_28x28_.imageset/icon_theme_green_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_green_28x28_.imageset/icon_theme_green_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_green_sel_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_green_sel_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_green_sel_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_green_sel_28x28_.imageset/icon_theme_green_sel_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_green_sel_28x28_.imageset/icon_theme_green_sel_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_green_sel_28x28_.imageset/icon_theme_green_sel_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_green_sel_28x28_.imageset/icon_theme_green_sel_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_greenpic_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_greenpic_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_greenpic_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_greenpic_28x28_.imageset/icon_theme_greenpic_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_greenpic_28x28_.imageset/icon_theme_greenpic_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_greenpic_28x28_.imageset/icon_theme_greenpic_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_greenpic_28x28_.imageset/icon_theme_greenpic_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_greenpic_sel_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_greenpic_sel_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_greenpic_sel_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_greenpic_sel_28x28_.imageset/icon_theme_greenpic_sel_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_greenpic_sel_28x28_.imageset/icon_theme_greenpic_sel_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_greenpic_sel_28x28_.imageset/icon_theme_greenpic_sel_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_greenpic_sel_28x28_.imageset/icon_theme_greenpic_sel_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_kraft_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_kraft_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_kraft_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_kraft_28x28_.imageset/icon_theme_kraft_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_kraft_28x28_.imageset/icon_theme_kraft_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_kraft_28x28_.imageset/icon_theme_kraft_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_kraft_28x28_.imageset/icon_theme_kraft_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_kraft_sel_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_kraft_sel_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_kraft_sel_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_kraft_sel_28x28_.imageset/icon_theme_kraft_sel_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_kraft_sel_28x28_.imageset/icon_theme_kraft_sel_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_kraft_sel_28x28_.imageset/icon_theme_kraft_sel_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_kraft_sel_28x28_.imageset/icon_theme_kraft_sel_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pink_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_pink_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_pink_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pink_28x28_.imageset/icon_theme_pink_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_pink_28x28_.imageset/icon_theme_pink_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pink_28x28_.imageset/icon_theme_pink_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_pink_28x28_.imageset/icon_theme_pink_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pink_sel_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_pink_sel_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_pink_sel_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pink_sel_28x28_.imageset/icon_theme_pink_sel_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_pink_sel_28x28_.imageset/icon_theme_pink_sel_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pink_sel_28x28_.imageset/icon_theme_pink_sel_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_pink_sel_28x28_.imageset/icon_theme_pink_sel_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pinkpic_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_pinkpic_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_pinkpic_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pinkpic_28x28_.imageset/icon_theme_pinkpic_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_pinkpic_28x28_.imageset/icon_theme_pinkpic_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pinkpic_28x28_.imageset/icon_theme_pinkpic_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_pinkpic_28x28_.imageset/icon_theme_pinkpic_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pinkpic_sel_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_pinkpic_sel_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_pinkpic_sel_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pinkpic_sel_28x28_.imageset/icon_theme_pinkpic_sel_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_pinkpic_sel_28x28_.imageset/icon_theme_pinkpic_sel_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_pinkpic_sel_28x28_.imageset/icon_theme_pinkpic_sel_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_pinkpic_sel_28x28_.imageset/icon_theme_pinkpic_sel_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_white_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_white_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_white_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_white_28x28_.imageset/icon_theme_white_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_white_28x28_.imageset/icon_theme_white_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_white_28x28_.imageset/icon_theme_white_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_white_28x28_.imageset/icon_theme_white_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_white_sel_28x28_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_theme_white_sel_28x28_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_theme_white_sel_28x28_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_white_sel_28x28_.imageset/icon_theme_white_sel_28x28_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_white_sel_28x28_.imageset/icon_theme_white_sel_28x28_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/icon_theme_white_sel_28x28_.imageset/icon_theme_white_sel_28x28_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/icon_theme_white_sel_28x28_.imageset/icon_theme_white_sel_28x28_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_Kraft_375x667_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_theme_Kraft_375x667_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic_theme_Kraft_375x667_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_Kraft_375x667_.imageset/pic_theme_Kraft_375x667_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/pic_theme_Kraft_375x667_.imageset/pic_theme_Kraft_375x667_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_Kraft_375x667_.imageset/pic_theme_Kraft_375x667_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/pic_theme_Kraft_375x667_.imageset/pic_theme_Kraft_375x667_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_black_375x667_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_theme_black_375x667_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic_theme_black_375x667_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_black_375x667_.imageset/pic_theme_black_375x667_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/pic_theme_black_375x667_.imageset/pic_theme_black_375x667_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_black_375x667_.imageset/pic_theme_black_375x667_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/pic_theme_black_375x667_.imageset/pic_theme_black_375x667_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_green_375x667_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_theme_green_375x667_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic_theme_green_375x667_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_green_375x667_.imageset/pic_theme_green_375x667_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/pic_theme_green_375x667_.imageset/pic_theme_green_375x667_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_green_375x667_.imageset/pic_theme_green_375x667_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/pic_theme_green_375x667_.imageset/pic_theme_green_375x667_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_pink_375x667_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic_theme_pink_375x667_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic_theme_pink_375x667_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_pink_375x667_.imageset/pic_theme_pink_375x667_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/pic_theme_pink_375x667_.imageset/pic_theme_pink_375x667_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/reader/theme/pic_theme_pink_375x667_.imageset/pic_theme_pink_375x667_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/reader/theme/pic_theme_pink_375x667_.imageset/pic_theme_pink_375x667_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_author_16_16_16x16_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "search_icon_author_16_16_16x16_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "search_icon_author_16_16_16x16_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_author_16_16_16x16_.imageset/search_icon_author_16_16_16x16_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/search/search_icon_author_16_16_16x16_.imageset/search_icon_author_16_16_16x16_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_author_16_16_16x16_.imageset/search_icon_author_16_16_16x16_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/search/search_icon_author_16_16_16x16_.imageset/search_icon_author_16_16_16x16_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_book_16_16_16x16_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "search_icon_book_16_16_16x16_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "search_icon_book_16_16_16x16_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_book_16_16_16x16_.imageset/search_icon_book_16_16_16x16_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/search/search_icon_book_16_16_16x16_.imageset/search_icon_book_16_16_16x16_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_book_16_16_16x16_.imageset/search_icon_book_16_16_16x16_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/search/search_icon_book_16_16_16x16_.imageset/search_icon_book_16_16_16x16_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_delete_14_14_14x14_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "search_icon_delete_14_14_14x14_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "search_icon_delete_14_14_14x14_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_delete_14_14_14x14_.imageset/search_icon_delete_14_14_14x14_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/search/search_icon_delete_14_14_14x14_.imageset/search_icon_delete_14_14_14x14_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_delete_14_14_14x14_.imageset/search_icon_delete_14_14_14x14_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/search/search_icon_delete_14_14_14x14_.imageset/search_icon_delete_14_14_14x14_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_histroy_14_14_14x14_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "search_icon_histroy_14_14_14x14_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "search_icon_histroy_14_14_14x14_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_histroy_14_14_14x14_.imageset/search_icon_histroy_14_14_14x14_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/search/search_icon_histroy_14_14_14x14_.imageset/search_icon_histroy_14_14_14x14_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_histroy_14_14_14x14_.imageset/search_icon_histroy_14_14_14x14_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/search/search_icon_histroy_14_14_14x14_.imageset/search_icon_histroy_14_14_14x14_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_label_16_16_16x16_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "search_icon_label_16_16_16x16_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "search_icon_label_16_16_16x16_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_label_16_16_16x16_.imageset/search_icon_label_16_16_16x16_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/search/search_icon_label_16_16_16x16_.imageset/search_icon_label_16_16_16x16_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/search/search_icon_label_16_16_16x16_.imageset/search_icon_label_16_16_16x16_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/search/search_icon_label_16_16_16x16_.imageset/search_icon_label_16_16_16x16_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_bookshelf_24x24_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_tabbar_bookshelf_24x24_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_tabbar_bookshelf_24x24_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | },
22 | "properties" : {
23 | "template-rendering-intent" : "original"
24 | }
25 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_bookshelf_24x24_.imageset/icon_tabbar_bookshelf_24x24_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_bookshelf_24x24_.imageset/icon_tabbar_bookshelf_24x24_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_bookshelf_24x24_.imageset/icon_tabbar_bookshelf_24x24_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_bookshelf_24x24_.imageset/icon_tabbar_bookshelf_24x24_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_bookshelf_sel_24x24_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_tabbar_bookshelf_sel_24x24_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_tabbar_bookshelf_sel_24x24_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | },
22 | "properties" : {
23 | "template-rendering-intent" : "original"
24 | }
25 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_bookshelf_sel_24x24_.imageset/icon_tabbar_bookshelf_sel_24x24_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_bookshelf_sel_24x24_.imageset/icon_tabbar_bookshelf_sel_24x24_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_bookshelf_sel_24x24_.imageset/icon_tabbar_bookshelf_sel_24x24_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_bookshelf_sel_24x24_.imageset/icon_tabbar_bookshelf_sel_24x24_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_classify_24x24_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_tabbar_classify_24x24_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_tabbar_classify_24x24_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | },
22 | "properties" : {
23 | "template-rendering-intent" : "original"
24 | }
25 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_classify_24x24_.imageset/icon_tabbar_classify_24x24_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_classify_24x24_.imageset/icon_tabbar_classify_24x24_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_classify_24x24_.imageset/icon_tabbar_classify_24x24_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_classify_24x24_.imageset/icon_tabbar_classify_24x24_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_classify_sel_24x24_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_tabbar_classify_sel_24x24_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_tabbar_classify_sel_24x24_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | },
22 | "properties" : {
23 | "template-rendering-intent" : "original"
24 | }
25 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_classify_sel_24x24_.imageset/icon_tabbar_classify_sel_24x24_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_classify_sel_24x24_.imageset/icon_tabbar_classify_sel_24x24_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_classify_sel_24x24_.imageset/icon_tabbar_classify_sel_24x24_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_classify_sel_24x24_.imageset/icon_tabbar_classify_sel_24x24_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_mine_24x24_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_tabbar_mine_24x24_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_tabbar_mine_24x24_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_mine_24x24_.imageset/icon_tabbar_mine_24x24_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_mine_24x24_.imageset/icon_tabbar_mine_24x24_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_mine_24x24_.imageset/icon_tabbar_mine_24x24_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_mine_24x24_.imageset/icon_tabbar_mine_24x24_@3x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_mine_sel_24x24_.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_tabbar_mine_sel_24x24_@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_tabbar_mine_sel_24x24_@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_mine_sel_24x24_.imageset/icon_tabbar_mine_sel_24x24_@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_mine_sel_24x24_.imageset/icon_tabbar_mine_sel_24x24_@2x.png
--------------------------------------------------------------------------------
/LookNovel/Assets.xcassets/tab/icon_tabbar_mine_sel_24x24_.imageset/icon_tabbar_mine_sel_24x24_@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/Assets.xcassets/tab/icon_tabbar_mine_sel_24x24_.imageset/icon_tabbar_mine_sel_24x24_@3x.png
--------------------------------------------------------------------------------
/LookNovel/LookNovel.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.application-groups
6 |
7 | group.com.wcs.lookNovel
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/LookNovel/classes/auth/controller/LNLocalAuthViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNLocalAuthViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/23.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNLocalAuthViewController : LNBaseViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/auth/tool/LNLocalAuthViewModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNLocalAuthViewModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/23.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNLocalAuthViewController.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNLocalAuthViewModel : NSObject
15 |
16 | @property (nonatomic, weak) LNLocalAuthViewController *authVc;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/auth/tool/LNLocalAuthViewModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNLocalAuthViewModel.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/23.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNLocalAuthViewModel.h"
10 |
11 | @implementation LNLocalAuthViewModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/controller/LNBaseViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBaseViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/9.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNBaseViewController : UIViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/controller/LNNavigationViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNNavigationViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNNavigationViewController : UINavigationController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/controller/LNTabBarController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNTabBarController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/9.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNTabBarController : UITabBarController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/model/LNBook.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBook.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/17.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface LNBook : NSObject
12 | ///主键
13 | @property (nonatomic, copy) NSString *_id;
14 | ///封面图片
15 | @property (nonatomic, copy) NSString *cover;
16 | ///标题
17 | @property (nonatomic, copy) NSString *title;
18 |
19 | @end
20 |
21 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/model/LNRecentBook.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNRecentBook.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNBook.h"
11 | #import "LNBookChapter.h"
12 | #import "LNBookLinkSource.h"
13 |
14 | @interface LNRecentBook : LNBook
15 | ///当前章节
16 | @property (nonatomic, assign) NSInteger chapterIndex;
17 | ///章节列表
18 | @property (nonatomic, strong) NSArray *chapters;
19 | ///已读比例
20 | @property (nonatomic, assign) float readRatio;
21 | ///最后阅读时间
22 | @property (nonatomic, copy) NSString *lastReadTime;
23 | @end
24 |
25 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/model/LNRecentBook.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNRecentBook.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNRecentBook.h"
10 |
11 | @implementation LNRecentBook
12 | @end
13 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/model/LNRightLabelStaticModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNRightLabelStaticModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNStaticModel.h"
10 |
11 | @interface LNRightLabelStaticModel : LNStaticModel
12 | /**内容*/
13 | @property (nonatomic, copy) NSString *text;
14 | @property (nonatomic, strong) UIColor *textColor;
15 | @property (nonatomic, strong) UIFont *textFont;
16 | @end
17 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/model/LNRightLabelStaticModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNRightLabelStaticModel.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNRightLabelStaticModel.h"
10 |
11 | @implementation LNRightLabelStaticModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/model/LNStaticModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNStaticModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface LNStaticModel : NSObject
12 | /**icon*/
13 | @property (nonatomic, copy) NSString *icon;
14 | /**标题*/
15 | @property (nonatomic, copy) NSString *title;
16 | /**cell高度*/
17 | @property (nonatomic, assign) CGFloat cellHeight;
18 | /**需要跳转的类*/
19 | @property (nonatomic) Class destClass;
20 | /**cell类*/
21 | @property (nonatomic) Class cellClass;
22 | /**点击操作*/
23 | @property (nonatomic, copy) void(^operationBlock)(void);
24 | /**扩展信息*/
25 | @property (nonatomic, strong) id extra;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/model/LNStaticModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNStaticModel.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNStaticModel.h"
10 |
11 | @implementation LNStaticModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/tool/LNBaseViewModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBaseViewModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNRecentBook.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNBaseViewModel : NSObject
15 | /**依赖的主vc*/
16 | @property (nonatomic, weak) UIViewController *mainVc;
17 |
18 | ///获取浏览记录
19 | - (NSArray *)getRecentBook;
20 | ///保存最新浏览记录
21 | - (void)saveLastRecentBook:(LNRecentBook *)book;
22 | ///获取最新浏览记录
23 | - (LNRecentBook *)getLastRecentBook;
24 | ///获取最新浏览记录
25 | - (LNRecentBook *)getLastRecentBookFromGroup;
26 | ///开始阅读
27 | - (void)startToReadBook:(LNBook *)book;
28 |
29 | - (void)deleteRecentBook:(LNRecentBook *)book;
30 |
31 | @end
32 |
33 | NS_ASSUME_NONNULL_END
34 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/view/LNBaseCollectionViewCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBaseCollectionViewCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface LNBaseCollectionViewCell : UICollectionViewCell
12 |
13 | + (instancetype)cellForCollectionView:(UICollectionView *)collectionView indexPath:(NSIndexPath *)indexPath;
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/view/LNBaseTableViewCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBaseTableViewCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface LNBaseTableViewCell : UITableViewCell
12 | + (instancetype)cellForTableView:(UITableView *)tableView;
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/view/LNRightLabelCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNRightLabelCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNStaticCell.h"
10 | #import "LNRightLabelStaticModel.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNRightLabelCell : LNStaticCell
15 |
16 | @end
17 |
18 | NS_ASSUME_NONNULL_END
19 |
--------------------------------------------------------------------------------
/LookNovel/classes/base/view/LNStaticCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNStaticCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseTableViewCell.h"
10 | #import "LNStaticModel.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNStaticCell : LNBaseTableViewCell
15 | /**设置模型*/
16 | @property (nonatomic, strong) LNStaticModel *model;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookDetail/controller/LNBookDetailViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookDetailViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/17.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNBookDetailViewController : LNBaseViewController
14 |
15 | @property (nonatomic, copy) NSString *bookId;
16 | @end
17 |
18 | NS_ASSUME_NONNULL_END
19 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookDetail/controller/LNChapterListViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNChapterListViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNTableViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNChapterListViewController : LNTableViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookDetail/model/LNBookDetail.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookDetail.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBookDetail.h"
10 |
11 | @implementation LNBookDetail
12 |
13 | @end
14 |
15 | @implementation LNRecommend
16 |
17 | @end
18 |
19 | @implementation LNUpdate
20 |
21 | @end
22 |
23 |
24 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookDetail/view/LNBookDetailBottomView.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookDetailBottomView.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNBookDetailBottomView : UIView
14 |
15 | @property (nonatomic, copy) void(^clickActionBlock)(void);
16 |
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookDetail/view/LNBookDetailBottomView.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookDetailBottomView.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBookDetailBottomView.h"
10 |
11 | @interface LNBookDetailBottomView ()
12 | @property (weak, nonatomic) IBOutlet UIButton *actionButton;
13 |
14 | @end
15 |
16 | @implementation LNBookDetailBottomView
17 |
18 | - (void)awakeFromNib
19 | {
20 | [super awakeFromNib];
21 |
22 | self.actionButton.backgroundColor = UIColorHex([LNSkinHelper sharedHelper].currentSkin.appMainColor);
23 | self.actionButton.layer.cornerRadius = 6;
24 | }
25 |
26 | - (IBAction)clickAction {
27 | if (self.clickActionBlock) {
28 | self.clickActionBlock();
29 | }
30 | }
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookDetail/view/LNBookDetailInfoView.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookDetailInfoView.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNBookDetail.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNBookDetailInfoView : UIView
15 |
16 | @property (nonatomic, strong) LNBookDetail *detail;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookDetail/view/LNBookDetailIntroView.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookDetailIntroView.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNBookDetail.h"
11 |
12 | @class LNBookDetailIntroView;
13 |
14 | NS_ASSUME_NONNULL_BEGIN
15 |
16 | @protocol LNBookDetailIntroViewDelegate
17 |
18 | - (void)introViewDidClickChapterList:(LNBookDetailIntroView *)view;
19 |
20 | @end
21 |
22 | @interface LNBookDetailIntroView : UIView
23 |
24 | @property (nonatomic, strong) LNBookDetail *detail;
25 | /**代理*/
26 | @property (nonatomic, weak) id delegate;
27 | @end
28 |
29 | NS_ASSUME_NONNULL_END
30 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookrack/controller/bookrack/LNBookrackViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookrackViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/9.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNCollectionViewController.h"
10 | @class LNBookrackViewModel;
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNBookrackViewController : LNCollectionViewController
15 | @property (nonatomic, strong) LNBookrackViewModel *bookrackVM;
16 | @end
17 |
18 | NS_ASSUME_NONNULL_END
19 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookrack/model/bookrack/LNRecommnadBook.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNRecommnadBook.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/9.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNBook.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNRecommnadBook : LNBook
15 | ///作者
16 | @property (nonatomic, copy) NSString *author;
17 | ///内容介绍
18 | @property (nonatomic, copy) NSString *desc;
19 | ///字数
20 | @property (nonatomic, copy) NSString *word;
21 |
22 | @end
23 |
24 | NS_ASSUME_NONNULL_END
25 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookrack/model/bookrack/LNRecommnadBook.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNRecommnadBook.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/9.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNRecommnadBook.h"
10 |
11 | @implementation LNRecommnadBook
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookrack/view/bookrack/LNBookrackRecentBookView.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookrackRecentBookView.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNRecentBook.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNBookrackRecentBookView : UIView
15 |
16 | @property (nonatomic, strong) LNRecentBook *recentBook;
17 |
18 | @property (nonatomic, copy) void(^clickContinueBlock)(LNBookrackRecentBookView *);
19 |
20 | @end
21 |
22 | NS_ASSUME_NONNULL_END
23 |
--------------------------------------------------------------------------------
/LookNovel/classes/bookrack/view/bookrack/LNBookrackRecommandCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookrackRecommandCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseCollectionViewCell.h"
10 | #import "LNBookrackViewModel.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNBookrackRecommandCell : LNBaseCollectionViewCell
15 | /**数据源*/
16 | @property (nonatomic, strong) LNRecommnadBook *bookModel;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/classify/controller/LNClassifyListViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNClassifyListViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/16.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNTableViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNClassifyListViewController : LNTableViewController
14 | /**id*/
15 | @property (nonatomic, copy) NSString *categoryId;
16 | /**分类名*/
17 | @property (nonatomic, copy) NSString *itemName;
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/LookNovel/classes/classify/controller/LNClassifyViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNClassifyViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/9.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNClassifyViewController : LNBaseViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/classify/model/LNClassifyBookModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNClassifyBookModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/16.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNBook.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNClassifyBookModel : LNBook
15 | @property (nonatomic, copy) NSString *author;
16 | @property (nonatomic, copy) NSString *desc;
17 | @property (nonatomic, copy) NSString *categoryName;
18 | @property (nonatomic, copy) NSString *word;
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/LookNovel/classes/classify/model/LNClassifyBookModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNClassifyBookModel.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/16.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNClassifyBookModel.h"
10 |
11 | @implementation LNClassifyBookModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/LookNovel/classes/classify/model/LNClassifyModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNClassifyModel.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/15.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNClassifyModel.h"
10 |
11 | @implementation LNClassifyModel
12 | - (void)setCoverImgs:(NSArray *)coverImgs
13 | {
14 | NSMutableArray *array = [[NSMutableArray alloc] init];
15 | for (NSString *url in coverImgs) {
16 | NSString *str = [LNCommonHelper getCoverUrl:url];
17 | [array addObject:str];
18 | }
19 | _coverImgs = [array copy];
20 | }
21 | @end
22 |
23 | @implementation LNClassifyGroupModel
24 |
25 | + (NSDictionary *)modelContainerPropertyGenericClass
26 | {
27 | return @{@"categories": [LNClassifyModel class]};
28 | }
29 |
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/LookNovel/classes/classify/tool/LNClassifyListViewModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNClassifyListViewModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/16.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewModel.h"
10 | #import "LNClassifyListViewController.h"
11 | #import "LNClassifyBookModel.h"
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | @interface LNClassifyListViewModel : LNBaseViewModel
16 |
17 | @property (nonatomic, weak) LNClassifyListViewController *listVc;
18 |
19 | @property (nonatomic, assign, readonly) NSInteger pageSize;
20 |
21 | - (void)getBooksWithGroupId:(NSString *)groupId page:(NSInteger)page complete:(nonnull httpCompleteBlock)completeBlock;
22 |
23 | - (void)enterBookDetailAtIndex:(NSInteger)index;
24 | @end
25 |
26 | NS_ASSUME_NONNULL_END
27 |
--------------------------------------------------------------------------------
/LookNovel/classes/classify/view/LNClassifyCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNClassifyCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/16.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseCollectionViewCell.h"
10 | #import "LNClassifyModel.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNClassifyCell : LNBaseCollectionViewCell
15 |
16 | @property (nonatomic, strong) LNClassifyModel *model;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/classify/view/LNClassifyGroupCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNClassifyGroupCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/15.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseTableViewCell.h"
10 | #import "LNClassifyModel.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNClassifyGroupCell : LNBaseTableViewCell
15 |
16 | @property (nonatomic, strong) LNClassifyGroupModel *groupModel;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/classify/view/LNClassifyGroupHeaderView.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNClassifyGroupHeaderView.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/16.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNClassifyModel.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNClassifyGroupHeaderView : UICollectionReusableView
15 |
16 | @property (nonatomic, strong) LNClassifyGroupModel *groupModel;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/classify/view/LNClassifyListCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNClassifyListCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/16.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseTableViewCell.h"
10 | #import "LNClassifyBookModel.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNClassifyListCell : LNBaseTableViewCell
15 |
16 | @property (nonatomic, strong) LNClassifyBookModel *model;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/common/category/NSDate+LNAdd.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSDate+LNAdd.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface NSDate (LNAdd)
14 | + (NSInteger)numberOfDaysWithFromDate:(NSDate *)fromDate toDate:(NSDate *)toDate;
15 | + (NSInteger)numberOfHoursWithFromDate:(NSDate *)fromDate toDate:(NSDate *)toDate;
16 |
17 | - (NSString *)timeIntervalDescription;
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/LookNovel/classes/common/category/UIButton+LNAdd.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIButton+LNAdd.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/17.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface UIButton (LNAdd)
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/common/category/UIButton+LNAdd.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIButton+LNAdd.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/17.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "UIButton+LNAdd.h"
10 |
11 | @implementation UIButton (LNAdd)
12 | - (void)setHighlighted:(BOOL)highlighted{}
13 | @end
14 |
--------------------------------------------------------------------------------
/LookNovel/classes/common/category/UIView+NIB.h:
--------------------------------------------------------------------------------
1 |
2 |
3 | #import
4 |
5 | @interface UIView (NIB)
6 |
7 | + (instancetype)viewFromNib;
8 |
9 | - (void)addShadowWithColor:(UIColor *)color;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/LookNovel/classes/common/category/UIView+NIB.m:
--------------------------------------------------------------------------------
1 |
2 |
3 | #import "UIView+NIB.h"
4 |
5 | @implementation UIView (NIB)
6 |
7 | + (instancetype)viewFromNib
8 | {
9 | id obj = nil;
10 | @try {
11 | obj = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:nil options:nil].firstObject;
12 | } @catch (NSException *exception) {
13 | return nil;
14 | }
15 | return obj;
16 | }
17 |
18 | - (void)addShadowWithColor:(UIColor *)color
19 | {
20 | self.layer.shadowColor = color?color.CGColor:[[UIColor blackColor] colorWithAlphaComponent:0.2].CGColor;
21 | self.layer.shadowOffset = CGSizeMake(0, 2);
22 | self.layer.shadowOpacity = 1;
23 | self.layer.shadowRadius = 4;
24 | }
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/LookNovel/classes/common/category/UIViewController+NIB.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+NIB.h
3 | // SlashYouth
4 | //
5 | // Created by wangchengshan on 16/9/5.
6 | // Copyright © 2016年 Slash. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface UIViewController (NIB)
12 |
13 | + (instancetype)viewControllerFromNib;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/LookNovel/classes/common/category/singleton.h:
--------------------------------------------------------------------------------
1 |
2 | // .h文件
3 | #define singletonH(name) + (instancetype)shared##name;
4 |
5 | // .m文件
6 | #define singletonM(name) \
7 | static id _instance = nil; \
8 | + (id)allocWithZone:(struct _NSZone *)zone \
9 | { \
10 | static dispatch_once_t onceToken; \
11 | dispatch_once(&onceToken, ^{ \
12 | _instance = [super allocWithZone:zone]; \
13 | }); \
14 | return _instance; \
15 | } \
16 | + (instancetype)shared##name \
17 | { \
18 | static dispatch_once_t onceToken; \
19 | dispatch_once(&onceToken, ^{ \
20 | _instance = [[self alloc] init]; \
21 | }); \
22 | return _instance; \
23 | } \
24 | - (id)copyWithZone:(NSZone *)zone \
25 | { \
26 | return _instance; \
27 | }
--------------------------------------------------------------------------------
/LookNovel/classes/common/helper/LNCommonHelper.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNCommonHelper.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/16.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNCommonHelper : NSObject
14 |
15 | + (NSString *)getCoverUrl:(NSString *)url;
16 |
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/common/helper/LNCommonHelper.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNCommonHelper.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/16.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNCommonHelper.h"
10 |
11 | @implementation LNCommonHelper
12 |
13 | + (NSString *)getCoverUrl:(NSString *)url
14 | {
15 | return coverImgUrl(url);
16 | }
17 | @end
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/common/helper/LNRequest.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNRequest.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/9.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "YBBaseRequest.h"
10 |
11 | typedef void(^httpCompleteBlock)(id result, BOOL cache, NSError *error);
12 |
13 | @interface LNRequest : YBBaseRequest
14 |
15 | + (void)GET:(NSString *)url params:(NSDictionary *)params cache:(BOOL)cache complete:(httpCompleteBlock)completeBlock;
16 |
17 | + (void)POST:(NSString *)url params:(NSDictionary *)params cache:(BOOL)cache complete:(httpCompleteBlock)completeBlock;
18 |
19 | + (float)cacheSize;
20 |
21 | + (void)clearCache;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/LookNovel/classes/mine/controller/LNAboutViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNAboutViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNAboutViewController : LNBaseViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/mine/controller/LNHistoryViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNHistoryViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNTableViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNHistoryViewController : LNTableViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/mine/controller/LNProfileViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNProfileViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/9.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNTableViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNProfileViewController : LNTableViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/mine/tool/LNHistoryViewModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNHistoryViewModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewModel.h"
10 | #import "LNHistoryViewController.h"
11 |
12 | @interface LNHistoryViewModel : LNBaseViewModel
13 |
14 | @property (nonatomic, weak) LNHistoryViewController *historyVc;
15 |
16 | - (void)loadHistoryData;
17 |
18 | - (void)continueReadBook:(LNRecentBook *)book;
19 | @end
20 |
21 |
--------------------------------------------------------------------------------
/LookNovel/classes/mine/tool/LNHistoryViewModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNHistoryViewModel.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNHistoryViewModel.h"
10 |
11 |
12 | @implementation LNHistoryViewModel
13 |
14 | - (UIViewController *)mainVc
15 | {
16 | return self.historyVc;
17 | }
18 |
19 | - (void)loadHistoryData
20 | {
21 | NSArray *historyList = [self getRecentBook];
22 | NSMutableArray *list = [NSMutableArray arrayWithArray:historyList];
23 | [list reverse];
24 | self.historyVc.dataArray = list;
25 | }
26 |
27 | - (void)continueReadBook:(LNRecentBook *)book
28 | {
29 | [self startToReadBook:book];
30 | }
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/LookNovel/classes/mine/tool/LNProfileViewModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNProfileViewModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/17.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewModel.h"
10 | #import "LNProfileViewController.h"
11 | #import "LNRightLabelStaticModel.h"
12 |
13 | @interface LNProfileViewModel : LNBaseViewModel
14 |
15 | @property (nonatomic, weak) LNProfileViewController *profileVc;
16 | @property (nonatomic, weak) LNRightLabelStaticModel *cacheModel;
17 |
18 | - (void)pickImageWithComplete:(void(^)(UIImage *image))completeBlock;
19 |
20 | - (UIImage *)getImageFromDisk;
21 |
22 | - (NSString *)cacheSize;
23 |
24 | - (void)clearCache;
25 |
26 | @end
27 |
28 |
--------------------------------------------------------------------------------
/LookNovel/classes/mine/view/LNHistoryCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNHistoryCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/20.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseTableViewCell.h"
10 | #import "LNRecentBook.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNHistoryCell : LNBaseTableViewCell
15 | @property (nonatomic, strong) LNRecentBook *book;
16 | @end
17 |
18 | NS_ASSUME_NONNULL_END
19 |
--------------------------------------------------------------------------------
/LookNovel/classes/mine/view/LNProfileTopView.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNProfileTopView.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/17.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNProfileTopView : UIView
14 |
15 | - (void)setHeadImageView:(UIImage *)image;
16 |
17 | @property (nonatomic, copy) void(^clickHeadIcon)(LNProfileTopView *);
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/controller/LNReaderChapterListViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNReaderChapterListViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/15.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNTableViewController.h"
10 | @class LNRecentBook;
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNReaderChapterListViewController : LNTableViewController
15 | /**当前的书*/
16 | @property (nonatomic, strong) LNRecentBook *recentBook;
17 | @property (nonatomic, copy) void(^didSelect)(NSInteger index);
18 |
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/controller/LNReaderScourceListViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNReaderScourceListViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/15.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNTableViewController.h"
10 | @class LNBookLinkSource;
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNReaderScourceListViewController : LNTableViewController
15 |
16 | @property (nonatomic, copy) void(^didSelect)(LNBookLinkSource *source);
17 | /**当前的源的索引*/
18 | @property (nonatomic, assign) NSInteger currentIndex;
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/controller/LNReaderViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNReaderViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNTableViewController.h"
10 | #import "LNRecentBook.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNReaderViewController : LNTableViewController
15 |
16 | @property (nonatomic, strong) LNRecentBook *recentBook;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/model/LNBookChapter.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookChapter.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNBookContent.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNBookChapter : NSObject
15 | @property (nonatomic, copy) NSString *name;
16 | @property (nonatomic, copy) NSString *Id;
17 | /**章节的内容*/
18 | @property (nonatomic, strong) LNBookContent *content;
19 | /**序号*/
20 | @property (nonatomic, strong) NSNumber *sort;
21 |
22 | @property (nonatomic, assign) BOOL isCurrent;
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/model/LNBookChapter.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookChapter.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBookChapter.h"
10 |
11 | @implementation LNBookChapter
12 |
13 | + (NSDictionary *)modelCustomPropertyMapper
14 | {
15 | return @{@"Id": @"id"};
16 | }
17 |
18 | - (BOOL)isEqual:(LNBookChapter *)other
19 | {
20 | return [self.Id isEqualToString:other.Id];
21 | }
22 |
23 | - (instancetype)initWithCoder:(NSCoder *)coder
24 | {
25 | return [self modelInitWithCoder:coder];
26 | }
27 |
28 | - (void)encodeWithCoder:(NSCoder *)coder
29 | {
30 | [self modelEncodeWithCoder:coder];
31 | }
32 |
33 | @end
34 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/model/LNBookContent.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookContent.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface LNBookContent : NSObject
12 | @property (nonatomic, copy) NSString *name;
13 | @property (nonatomic, copy) NSString *chapterId;
14 | @property (nonatomic, copy) NSString *content;
15 |
16 | @property (nonatomic, strong) NSAttributedString *titleAttribute;
17 | @property (nonatomic, strong) NSAttributedString *bodyAttribute;
18 |
19 | @property (nonatomic, strong) NSNumber *cellHeight;
20 | @end
21 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/model/LNBookContent.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookContent.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBookContent.h"
10 |
11 | @implementation LNBookContent
12 |
13 | + (NSDictionary *)modelCustomPropertyMapper
14 | {
15 | return @{@"chapterId": @"id"};
16 | }
17 |
18 | - (instancetype)initWithCoder:(NSCoder *)coder
19 | {
20 | return [self modelInitWithCoder:coder];
21 | }
22 |
23 | - (void)encodeWithCoder:(NSCoder *)coder
24 | {
25 | [self modelEncodeWithCoder:coder];
26 | }
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/model/LNBookLinkSource.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNBookLinkSource.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBookLinkSource.h"
10 |
11 | @implementation LNBookLinkSource
12 |
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/tool/LNChapterListViewModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNChapterListViewModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2020/8/17.
6 | // Copyright © 2020 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewModel.h"
10 | @class LNReaderChapterListViewController;
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNChapterListViewModel : LNBaseViewModel
15 | @property (nonatomic, weak) LNReaderChapterListViewController *readerVc;
16 | @property (nonatomic, strong) LNRecentBook *recentBook;
17 |
18 | ///更新章节
19 | - (void)updateChapterListComplete:(httpCompleteBlock)completeBlock;
20 | @end
21 |
22 | NS_ASSUME_NONNULL_END
23 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/view/LNReaderChapterListCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNReaderChapterListCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/15.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseTableViewCell.h"
10 | #import "LNBookChapter.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNReaderChapterListCell : LNBaseTableViewCell
15 | @property (nonatomic, strong) LNBookChapter *chapter;
16 | @end
17 |
18 | NS_ASSUME_NONNULL_END
19 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/view/LNReaderContentCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNReaderContentCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/10.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseTableViewCell.h"
10 | #import "LNBookContent.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNReaderContentCell : LNBaseTableViewCell
15 |
16 | @property (nonatomic, strong) LNBookContent *content;
17 |
18 | + (CGFloat)heightWithModel:(LNBookContent *)content;
19 |
20 | @end
21 |
22 | NS_ASSUME_NONNULL_END
23 |
--------------------------------------------------------------------------------
/LookNovel/classes/reader/view/LNReaderSourceListCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNReaderSourceListCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/15.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseTableViewCell.h"
10 | #import "LNBookLinkSource.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNReaderSourceListCell : LNBaseTableViewCell
15 |
16 | @property (nonatomic, strong) LNBookLinkSource *source;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/search/controller/LNSearchResultViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNSearchResultViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/21.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNTableViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNSearchResultViewController : LNTableViewController
14 | /**搜索的文本*/
15 | @property (nonatomic, copy) NSString *searchText;
16 | @end
17 |
18 | NS_ASSUME_NONNULL_END
19 |
--------------------------------------------------------------------------------
/LookNovel/classes/search/controller/LNSearchViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNSearchViewController.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/21.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LNSearchViewController : LNBaseViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/LookNovel/classes/search/model/LNSuggest.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNSuggest.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/21.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNSuggest.h"
10 |
11 | @implementation LNSuggest
12 |
13 | + (NSDictionary *)modelCustomPropertyMapper
14 | {
15 | return @{@"Id":@"id"};
16 | }
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/LookNovel/classes/search/tool/LNSearchResultViewModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNSearchResultViewModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/21.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewModel.h"
10 | #import "LNSearchResultViewController.h"
11 | #import "LNClassifyBookModel.h"
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | @interface LNSearchResultViewModel : LNBaseViewModel
16 |
17 | @property (nonatomic, weak) LNSearchResultViewController *resultVc;
18 |
19 | - (void)startSearchWithText:(NSString *)text page:(NSInteger)page pageSize:(NSInteger)pageSize complete:(httpCompleteBlock)completeBlock;
20 |
21 | - (void)enterBookDetailAtIndex:(NSInteger)index;
22 | @end
23 |
24 | NS_ASSUME_NONNULL_END
25 |
--------------------------------------------------------------------------------
/LookNovel/classes/search/tool/LNSearchViewModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNSearchViewModel.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/21.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewModel.h"
10 | #import "LNSearchViewController.h"
11 | #import "LNSuggest.h"
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | @interface LNSearchViewModel : LNBaseViewModel
16 |
17 | @property (nonatomic, weak) LNSearchViewController *searchVc;
18 | @property (nonatomic, weak) UISearchBar *searchBar;
19 |
20 | @property (nonatomic, strong) NSArray *tipArray;
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/LookNovel/classes/search/view/LNSearchSuggestCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNSearchSuggestCell.h
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/21.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseTableViewCell.h"
10 | #import "LNSuggest.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNSearchSuggestCell : LNBaseTableViewCell
15 |
16 | @property (nonatomic, strong) LNSuggest *suggest;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/LookNovel/classes/search/view/LNSearchSuggestCell.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNSearchSuggestCell.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/21.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNSearchSuggestCell.h"
10 |
11 | @interface LNSearchSuggestCell ()
12 | @property (weak, nonatomic) IBOutlet UIImageView *icon;
13 | @property (weak, nonatomic) IBOutlet UILabel *nameLabel;
14 |
15 | @end
16 |
17 | @implementation LNSearchSuggestCell
18 |
19 | - (void)setSuggest:(LNSuggest *)suggest
20 | {
21 | self.icon.image = [UIImage imageNamed:suggest.iconName];
22 | self.nameLabel.text = suggest.text;
23 | }
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/NSBundle+TZImagePicker.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSBundle+TZImagePicker.h
3 | // TZImagePickerController
4 | //
5 | // Created by 谭真 on 16/08/18.
6 | // Copyright © 2016年 谭真. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSBundle (TZImagePicker)
12 |
13 | + (NSBundle *)tz_imagePickerBundle;
14 |
15 | + (NSString *)tz_localizedStringForKey:(NSString *)key value:(NSString *)value;
16 | + (NSString *)tz_localizedStringForKey:(NSString *)key;
17 |
18 | @end
19 |
20 |
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZGifPhotoPreviewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // TZGifPhotoPreviewController.h
3 | // TZImagePickerController
4 | //
5 | // Created by ttouch on 2016/12/13.
6 | // Copyright © 2016年 谭真. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class TZAssetModel;
12 | @interface TZGifPhotoPreviewController : UIViewController
13 |
14 | @property (nonatomic, strong) TZAssetModel *model;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/MMVideoPreviewPlay@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/MMVideoPreviewPlay@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/MMVideoPreviewPlayHL@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/MMVideoPreviewPlayHL@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/VideoSendIcon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/VideoSendIcon@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/en.lproj/Localizable.strings
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/navi_back@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/navi_back@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_arrow_down@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_arrow_down@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_arrow_up@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_arrow_up@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_def_photoPickerVc@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_def_photoPickerVc@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_def_previewVc@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_def_previewVc@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_number_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_number_icon@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_original_def@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_original_def@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_original_sel@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_original_sel@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_sel_photoPickerVc@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_sel_photoPickerVc@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_sel_previewVc@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/photo_sel_previewVc@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/preview_number_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/preview_number_icon@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/preview_original_def@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/preview_original_def@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/takePicture80@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/takePicture80@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/takePicture@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/takePicture@2x.png
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/zh-Hans.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/zh-Hans.lproj/Localizable.strings
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/zh-Hant.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/LookNovel/lib/TZImagePickerController/TZImagePickerController.bundle/zh-Hant.lproj/Localizable.strings
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZPhotoPickerController.h:
--------------------------------------------------------------------------------
1 | //
2 | // TZPhotoPickerController.h
3 | // TZImagePickerController
4 | //
5 | // Created by 谭真 on 15/12/24.
6 | // Copyright © 2015年 谭真. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LNBaseViewController.h"
11 |
12 | @class TZAlbumModel;
13 | @interface TZPhotoPickerController : LNBaseViewController
14 |
15 | @property (nonatomic, assign) BOOL isFirstAppear;
16 | @property (nonatomic, assign) NSInteger columnNumber;
17 | @property (nonatomic, strong) TZAlbumModel *model;
18 | @end
19 |
20 |
21 | @interface TZCollectionView : UICollectionView
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZProgressView.h:
--------------------------------------------------------------------------------
1 | //
2 | // TZProgressView.h
3 | // TZImagePickerController
4 | //
5 | // Created by ttouch on 2016/12/6.
6 | // Copyright © 2016年 谭真. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface TZProgressView : UIView
12 |
13 | @property (nonatomic, assign) double progress;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/LookNovel/lib/TZImagePickerController/TZVideoPlayerController.h:
--------------------------------------------------------------------------------
1 | //
2 | // TZVideoPlayerController.h
3 | // TZImagePickerController
4 | //
5 | // Created by 谭真 on 16/1/5.
6 | // Copyright © 2016年 谭真. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class TZAssetModel;
12 | @interface TZVideoPlayerController : UIViewController
13 |
14 | @property (nonatomic, strong) TZAssetModel *model;
15 |
16 | @end
--------------------------------------------------------------------------------
/LookNovel/lib/Wave/ZHWave.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #define ZHColor(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:(a)]
4 | typedef void(^ZHWaveBlock)(CGFloat currentY);
5 | @interface ZHWave : UIView
6 |
7 | /**
8 | * 浪弯曲度
9 | */
10 | @property (nonatomic, assign) CGFloat waveCurvature;
11 | /**
12 | * 浪速
13 | */
14 | @property (nonatomic, assign) CGFloat waveSpeed;
15 | /**
16 | * 浪高
17 | */
18 | @property (nonatomic, assign) CGFloat waveHeight;
19 | /**
20 | * 浪色
21 | */
22 | @property (nonatomic, strong) UIColor *wavecolor;
23 |
24 | @property (nonatomic, copy) ZHWaveBlock waveBlock;
25 |
26 |
27 | - (void)stopWaveAnimation;
28 |
29 | - (void)startWaveAnimation;
30 |
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/LookNovel/lib/YBNetwork/Cache/YBNetworkCache+Internal.h:
--------------------------------------------------------------------------------
1 | //
2 | // YBNetworkCache+Internal.h
3 | // YBNetwork
4 | //
5 | // Created by 杨波 on 2019/4/7.
6 | // Copyright © 2019 杨波. All rights reserved.
7 | //
8 |
9 | #import "YBNetworkCache.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface YBNetworkCache ()
14 |
15 | /**
16 | 存数据
17 |
18 | @param object 数据对象
19 | @param key 标识
20 | */
21 | - (void)setObject:(nullable id)object forKey:(id)key;
22 |
23 | /**
24 | 取数据
25 |
26 | @param key 标识
27 | @param block 回调 (主线程)
28 | */
29 | - (void)objectForKey:(NSString *)key withBlock:(void(^)(NSString *key, id _Nullable object))block;
30 |
31 | @end
32 |
33 | NS_ASSUME_NONNULL_END
34 |
--------------------------------------------------------------------------------
/LookNovel/lib/YBNetwork/Manger/YBBaseRequest+Internal.h:
--------------------------------------------------------------------------------
1 | //
2 | // YBBaseRequest+Internal.h
3 | // YBNetwork
4 | //
5 | // Created by 杨波 on 2019/4/3.
6 | // Copyright © 2019 杨波. All rights reserved.
7 | //
8 |
9 | #import "YBBaseRequest.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface YBBaseRequest ()
14 |
15 | /// 请求方法字符串
16 | - (NSString *)requestMethodString;
17 |
18 | /// 请求 URL 字符串
19 | - (NSString *)requestURLString;
20 |
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/LookNovel/lib/YYKit/Base/Foundation/NSObject+YYAddForARC.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSObject+YYAddForARC.h
3 | // YYKit
4 | //
5 | // Created by ibireme on 13/12/15.
6 | // Copyright (c) 2015 ibireme.
7 | //
8 | // This source code is licensed under the MIT-style license found in the
9 | // LICENSE file in the root directory of this source tree.
10 | //
11 |
12 | #import
13 |
14 | /**
15 | Debug method for NSObject when using ARC.
16 | */
17 | @interface NSObject (YYAddForARC)
18 |
19 | /// Same as `retain`
20 | - (instancetype)arcDebugRetain;
21 |
22 | /// Same as `release`
23 | - (oneway void)arcDebugRelease;
24 |
25 | /// Same as `autorelease`
26 | - (instancetype)arcDebugAutorelease;
27 |
28 | /// Same as `retainCount`
29 | - (NSUInteger)arcDebugRetainCount;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/LookNovel/lib/YYKit/Base/Foundation/NSThread+YYAdd.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSThread+YYAdd.h
3 | // YYKit
4 | //
5 | // Created by ibireme on 15/7/3.
6 | // Copyright (c) 2015 ibireme.
7 | //
8 | // This source code is licensed under the MIT-style license found in the
9 | // LICENSE file in the root directory of this source tree.
10 | //
11 |
12 | #import
13 |
14 | @interface NSThread (YYAdd)
15 |
16 | /**
17 | Add an autorelease pool to current runloop for current thread.
18 |
19 | @discussion If you create your own thread (NSThread/pthread), and you use
20 | runloop to manage your task, you may use this method to add an autorelease pool
21 | to the runloop. Its behavior is the same as the main thread's autorelease pool.
22 | */
23 | + (void)addAutoreleasePoolToCurrentRunloop;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/LookNovel/lib/YYKit/Base/UIKit/UITextField+YYAdd.h:
--------------------------------------------------------------------------------
1 | //
2 | // UITextField+YYAdd.h
3 | // YYKit
4 | //
5 | // Created by ibireme on 14/5/12.
6 | // Copyright (c) 2015 ibireme.
7 | //
8 | // This source code is licensed under the MIT-style license found in the
9 | // LICENSE file in the root directory of this source tree.
10 | //
11 |
12 | #import
13 |
14 | NS_ASSUME_NONNULL_BEGIN
15 |
16 | /**
17 | Provides extensions for `UITextField`.
18 | */
19 | @interface UITextField (YYAdd)
20 |
21 | /**
22 | Set all text selected.
23 | */
24 | - (void)selectAllText;
25 |
26 | /**
27 | Set text in range selected.
28 |
29 | @param range The range of selected text in a document.
30 | */
31 | - (void)setSelectedRange:(NSRange)range;
32 |
33 | @end
34 |
35 | NS_ASSUME_NONNULL_END
36 |
--------------------------------------------------------------------------------
/LookNovel/lib/YYKit/Utility/YYSentinel.h:
--------------------------------------------------------------------------------
1 | //
2 | // YYSentinel.h
3 | // YYKit
4 | //
5 | // Created by ibireme on 15/4/13.
6 | // Copyright (c) 2015 ibireme.
7 | //
8 | // This source code is licensed under the MIT-style license found in the
9 | // LICENSE file in the root directory of this source tree.
10 | //
11 |
12 | #import
13 |
14 | NS_ASSUME_NONNULL_BEGIN
15 |
16 | /**
17 | YYSentinel is a thread safe incrementing counter.
18 | It may be used in some multi-threaded situation.
19 | */
20 | @interface YYSentinel : NSObject
21 |
22 | /// Returns the current value of the counter.
23 | @property (readonly) int32_t value;
24 |
25 | /// Increase the value atomically.
26 | /// @return The new value.
27 | - (int32_t)increase;
28 |
29 | @end
30 |
31 | NS_ASSUME_NONNULL_END
32 |
--------------------------------------------------------------------------------
/LookNovel/lib/YYKit/Utility/YYSentinel.m:
--------------------------------------------------------------------------------
1 | //
2 | // YYSentinel.m
3 | // YYKit
4 | //
5 | // Created by ibireme on 15/4/13.
6 | // Copyright (c) 2015 ibireme.
7 | //
8 | // This source code is licensed under the MIT-style license found in the
9 | // LICENSE file in the root directory of this source tree.
10 | //
11 |
12 | #import "YYSentinel.h"
13 | #import
14 |
15 | @implementation YYSentinel {
16 | int32_t _value;
17 | }
18 |
19 | - (int32_t)value {
20 | return _value;
21 | }
22 |
23 | - (int32_t)increase {
24 | return OSAtomicIncrement32(&_value);
25 | }
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/LookNovel/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // LookNovel
4 | //
5 | // Created by wangchengshan on 2019/5/8.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/LookNovel/source/LNNormalTheme.json:
--------------------------------------------------------------------------------
1 | {
2 | "appMainColor": "66A1F4",
3 | "tabBarTitleNormalColor": "B3B3B3",
4 | "tabBarTitleSelectColor": "66A1F4",
5 | "tabBarOneNormalImage": "icon_tabbar_bookshelf_24x24_",
6 | "tabBarOneSelectImage": "icon_tabbar_bookshelf_sel_24x24_",
7 | "tabBarTwoNormalImage": "icon_tabbar_classify_24x24_",
8 | "tabBarTwoSelectImage": "icon_tabbar_classify_sel_24x24_",
9 | "tabBarThreeNormalImage": "icon_tabbar_mine_24x24_",
10 | "tabBarThreeSelectImage": "icon_tabbar_mine_sel_24x24_",
11 | }
12 |
--------------------------------------------------------------------------------
/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | platform :ios, ‘9.0’
3 |
4 | target 'LookNovel' do
5 | use_frameworks!
6 | pod 'AFNetworking'
7 | pod 'MBProgressHUD'
8 | pod 'Masonry'
9 | pod 'MJExtension'
10 | pod 'MJRefresh'
11 | end
12 |
13 | target 'recentBook' do
14 | use_frameworks!
15 | pod 'AFNetworking'
16 | pod 'MBProgressHUD'
17 | pod 'Masonry'
18 | pod 'MJExtension'
19 | pod 'MJRefresh'
20 | end
--------------------------------------------------------------------------------
/Pods/MJExtension/MJExtension/MJExtension.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJExtension.h
3 | // MJExtension
4 | //
5 | // Created by mj on 14-1-15.
6 | // Copyright (c) 2014年 小码哥. All rights reserved.
7 | // 代码地址:https://github.com/CoderMJLee/MJExtension
8 | // 代码地址:http://code4app.com/ios/%E5%AD%97%E5%85%B8-JSON-%E4%B8%8E%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%BD%AC%E6%8D%A2/5339992a933bf062608b4c57
9 |
10 | #import "NSObject+MJCoding.h"
11 | #import "NSObject+MJProperty.h"
12 | #import "NSObject+MJClass.h"
13 | #import "NSObject+MJKeyValue.h"
14 | #import "NSString+MJExtension.h"
15 | #import "MJExtensionConst.h"
--------------------------------------------------------------------------------
/Pods/MJExtension/MJExtension/MJFoundation.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJFoundation.h
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 14/7/16.
6 | // Copyright (c) 2014年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface MJFoundation : NSObject
12 | + (BOOL)isClassFromFoundation:(Class)c;
13 | @end
14 |
--------------------------------------------------------------------------------
/Pods/MJExtension/MJExtension/MJPropertyKey.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJPropertyKey.h
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 15/8/11.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | typedef enum {
12 | MJPropertyKeyTypeDictionary = 0, // 字典的key
13 | MJPropertyKeyTypeArray // 数组的key
14 | } MJPropertyKeyType;
15 |
16 | /**
17 | * 属性的key
18 | */
19 | @interface MJPropertyKey : NSObject
20 | /** key的名字 */
21 | @property (copy, nonatomic) NSString *name;
22 | /** key的种类,可能是@"10",可能是@"age" */
23 | @property (assign, nonatomic) MJPropertyKeyType type;
24 |
25 | /**
26 | * 根据当前的key,也就是name,从object(字典或者数组)中取值
27 | */
28 | - (id)valueInObject:(id)object;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/Pods/MJExtension/MJExtension/MJPropertyKey.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJPropertyKey.m
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 15/8/11.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJPropertyKey.h"
10 |
11 | @implementation MJPropertyKey
12 |
13 | - (id)valueInObject:(id)object
14 | {
15 | if ([object isKindOfClass:[NSDictionary class]] && self.type == MJPropertyKeyTypeDictionary) {
16 | return object[self.name];
17 | } else if ([object isKindOfClass:[NSArray class]] && self.type == MJPropertyKeyTypeArray) {
18 | NSArray *array = object;
19 | NSUInteger index = self.name.intValue;
20 | if (index < array.count) return array[index];
21 | return nil;
22 | }
23 | return nil;
24 | }
25 | @end
26 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/Base/MJRefreshBackFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshFooter.h"
10 |
11 | @interface MJRefreshBackFooter : MJRefreshFooter
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoGifFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoStateFooter.h"
10 |
11 | @interface MJRefreshAutoGifFooter : MJRefreshAutoStateFooter
12 | @property (weak, nonatomic, readonly) UIImageView *gifView;
13 |
14 | /** 设置state状态下的动画图片images 动画持续时间duration*/
15 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
16 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
17 | @end
18 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoNormalFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoStateFooter.h"
10 |
11 | @interface MJRefreshAutoNormalFooter : MJRefreshAutoStateFooter
12 | /** 菊花的样式 */
13 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
14 | @end
15 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoStateFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/6/13.
6 | // Copyright © 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoFooter.h"
10 |
11 | @interface MJRefreshAutoStateFooter : MJRefreshAutoFooter
12 | /** 文字距离圈圈、箭头的距离 */
13 | @property (assign, nonatomic) CGFloat labelLeftInset;
14 | /** 显示刷新状态的label */
15 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
16 |
17 | /** 设置state状态下的文字 */
18 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
19 |
20 | /** 隐藏刷新状态的文字 */
21 | @property (assign, nonatomic, getter=isRefreshingTitleHidden) BOOL refreshingTitleHidden;
22 | @end
23 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackGifFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshBackStateFooter.h"
10 |
11 | @interface MJRefreshBackGifFooter : MJRefreshBackStateFooter
12 | @property (weak, nonatomic, readonly) UIImageView *gifView;
13 |
14 | /** 设置state状态下的动画图片images 动画持续时间duration*/
15 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
16 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
17 | @end
18 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackNormalFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshBackStateFooter.h"
10 |
11 | @interface MJRefreshBackNormalFooter : MJRefreshBackStateFooter
12 | @property (weak, nonatomic, readonly) UIImageView *arrowView;
13 | /** 菊花的样式 */
14 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
15 | @end
16 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackStateFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/6/13.
6 | // Copyright © 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshBackFooter.h"
10 |
11 | @interface MJRefreshBackStateFooter : MJRefreshBackFooter
12 | /** 文字距离圈圈、箭头的距离 */
13 | @property (assign, nonatomic) CGFloat labelLeftInset;
14 | /** 显示刷新状态的label */
15 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
16 | /** 设置state状态下的文字 */
17 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
18 |
19 | /** 获取state状态下的title */
20 | - (NSString *)titleForState:(MJRefreshState)state;
21 | @end
22 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/Custom/Header/MJRefreshGifHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshGifHeader.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshStateHeader.h"
10 |
11 | @interface MJRefreshGifHeader : MJRefreshStateHeader
12 | @property (weak, nonatomic, readonly) UIImageView *gifView;
13 |
14 | /** 设置state状态下的动画图片images 动画持续时间duration*/
15 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
16 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
17 | @end
18 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/Custom/Header/MJRefreshNormalHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshNormalHeader.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshStateHeader.h"
10 |
11 | @interface MJRefreshNormalHeader : MJRefreshStateHeader
12 | @property (weak, nonatomic, readonly) UIImageView *arrowView;
13 | /** 菊花的样式 */
14 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
15 | @end
16 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/arrow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/arrow@2x.png
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | "MJRefreshHeaderIdleText" = "Pull down to refresh";
2 | "MJRefreshHeaderPullingText" = "Release to refresh";
3 | "MJRefreshHeaderRefreshingText" = "Loading...";
4 |
5 | "MJRefreshAutoFooterIdleText" = "Tap or pull up to load more";
6 | "MJRefreshAutoFooterRefreshingText" = "Loading...";
7 | "MJRefreshAutoFooterNoMoreDataText" = "No more data";
8 |
9 | "MJRefreshBackFooterIdleText" = "Pull up to load more";
10 | "MJRefreshBackFooterPullingText" = "Release to load more.";
11 | "MJRefreshBackFooterRefreshingText" = "Loading...";
12 | "MJRefreshBackFooterNoMoreDataText" = "No more data";
13 |
14 | "MJRefreshHeaderLastTimeText" = "Last updated: ";
15 | "MJRefreshHeaderDateTodayText" = "Today";
16 | "MJRefreshHeaderNoneLastDateText" = "No record";
17 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hans.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hans.lproj/Localizable.strings
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hant.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | "MJRefreshHeaderIdleText" = "下拉可以刷新";
2 | "MJRefreshHeaderPullingText" = "鬆開立即刷新";
3 | "MJRefreshHeaderRefreshingText" = "正在刷新數據中...";
4 |
5 | "MJRefreshAutoFooterIdleText" = "點擊或上拉加載更多";
6 | "MJRefreshAutoFooterRefreshingText" = "正在加載更多的數據...";
7 | "MJRefreshAutoFooterNoMoreDataText" = "已經全部加載完畢";
8 |
9 | "MJRefreshBackFooterIdleText" = "上拉可以加載更多";
10 | "MJRefreshBackFooterPullingText" = "鬆開立即加載更多";
11 | "MJRefreshBackFooterRefreshingText" = "正在加載更多的數據...";
12 | "MJRefreshBackFooterNoMoreDataText" = "已經全部加載完畢";
13 |
14 | "MJRefreshHeaderLastTimeText" = "最後更新:";
15 | "MJRefreshHeaderDateTodayText" = "今天";
16 | "MJRefreshHeaderNoneLastDateText" = "無記錄";
17 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/MJRefresh.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 |
4 | #import "UIScrollView+MJRefresh.h"
5 | #import "UIScrollView+MJExtension.h"
6 | #import "UIView+MJExtension.h"
7 |
8 | #import "MJRefreshNormalHeader.h"
9 | #import "MJRefreshGifHeader.h"
10 |
11 | #import "MJRefreshBackNormalFooter.h"
12 | #import "MJRefreshBackGifFooter.h"
13 | #import "MJRefreshAutoNormalFooter.h"
14 | #import "MJRefreshAutoGifFooter.h"
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/NSBundle+MJRefresh.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSBundle+MJRefresh.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 16/6/13.
6 | // Copyright © 2016年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSBundle (MJRefresh)
12 | + (instancetype)mj_refreshBundle;
13 | + (UIImage *)mj_arrowImage;
14 | + (NSString *)mj_localizedStringForKey:(NSString *)key value:(NSString *)value;
15 | + (NSString *)mj_localizedStringForKey:(NSString *)key;
16 | @end
17 |
--------------------------------------------------------------------------------
/Pods/MJRefresh/MJRefresh/UIView+MJExtension.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // UIView+Extension.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 14-5-28.
7 | // Copyright (c) 2014年 小码哥. All rights reserved.
8 | //
9 |
10 | #import
11 |
12 | @interface UIView (MJExtension)
13 | @property (assign, nonatomic) CGFloat mj_x;
14 | @property (assign, nonatomic) CGFloat mj_y;
15 | @property (assign, nonatomic) CGFloat mj_w;
16 | @property (assign, nonatomic) CGFloat mj_h;
17 | @property (assign, nonatomic) CGSize mj_size;
18 | @property (assign, nonatomic) CGPoint mj_origin;
19 | @end
20 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/MASCompositeConstraint.h:
--------------------------------------------------------------------------------
1 | //
2 | // MASCompositeConstraint.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 21/07/13.
6 | // Copyright (c) 2013 cloudling. All rights reserved.
7 | //
8 |
9 | #import "MASConstraint.h"
10 | #import "MASUtilities.h"
11 |
12 | /**
13 | * A group of MASConstraint objects
14 | */
15 | @interface MASCompositeConstraint : MASConstraint
16 |
17 | /**
18 | * Creates a composite with a predefined array of children
19 | *
20 | * @param children child MASConstraints
21 | *
22 | * @return a composite constraint
23 | */
24 | - (id)initWithChildren:(NSArray *)children;
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/MASLayoutConstraint.h:
--------------------------------------------------------------------------------
1 | //
2 | // MASLayoutConstraint.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 3/08/13.
6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved.
7 | //
8 |
9 | #import "MASUtilities.h"
10 |
11 | /**
12 | * When you are debugging or printing the constraints attached to a view this subclass
13 | * makes it easier to identify which constraints have been created via Masonry
14 | */
15 | @interface MASLayoutConstraint : NSLayoutConstraint
16 |
17 | /**
18 | * a key to associate with this constraint
19 | */
20 | @property (nonatomic, strong) id mas_key;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/MASLayoutConstraint.m:
--------------------------------------------------------------------------------
1 | //
2 | // MASLayoutConstraint.m
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 3/08/13.
6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved.
7 | //
8 |
9 | #import "MASLayoutConstraint.h"
10 |
11 | @implementation MASLayoutConstraint
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSLayoutConstraint+MASDebugAdditions.h
3 | // Masonry
4 | //
5 | // Created by Jonas Budelmann on 3/08/13.
6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved.
7 | //
8 |
9 | #import "MASUtilities.h"
10 |
11 | /**
12 | * makes debug and log output of NSLayoutConstraints more readable
13 | */
14 | @interface NSLayoutConstraint (MASDebugAdditions)
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_AFNetworking : NSObject
3 | @end
4 | @implementation PodsDummy_AFNetworking
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #ifndef TARGET_OS_IOS
14 | #define TARGET_OS_IOS TARGET_OS_IPHONE
15 | #endif
16 |
17 | #ifndef TARGET_OS_WATCH
18 | #define TARGET_OS_WATCH 0
19 | #endif
20 |
21 | #ifndef TARGET_OS_TV
22 | #define TARGET_OS_TV 0
23 | #endif
24 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/AFNetworking/AFNetworking.modulemap:
--------------------------------------------------------------------------------
1 | framework module AFNetworking {
2 | umbrella header "AFNetworking-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/AFNetworking
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MBProgressHUD/MBProgressHUD-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MBProgressHUD : NSObject
3 | @end
4 | @implementation PodsDummy_MBProgressHUD
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MBProgressHUD/MBProgressHUD-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MBProgressHUD/MBProgressHUD-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "MBProgressHUD.h"
14 |
15 | FOUNDATION_EXPORT double MBProgressHUDVersionNumber;
16 | FOUNDATION_EXPORT const unsigned char MBProgressHUDVersionString[];
17 |
18 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MBProgressHUD/MBProgressHUD.modulemap:
--------------------------------------------------------------------------------
1 | framework module MBProgressHUD {
2 | umbrella header "MBProgressHUD-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MBProgressHUD/MBProgressHUD.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_LDFLAGS = -framework "CoreGraphics" -framework "QuartzCore"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MBProgressHUD
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MJExtension/MJExtension-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MJExtension : NSObject
3 | @end
4 | @implementation PodsDummy_MJExtension
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MJExtension/MJExtension-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MJExtension/MJExtension-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "MJExtension.h"
14 | #import "MJExtensionConst.h"
15 | #import "MJFoundation.h"
16 | #import "MJProperty.h"
17 | #import "MJPropertyKey.h"
18 | #import "MJPropertyType.h"
19 | #import "NSObject+MJClass.h"
20 | #import "NSObject+MJCoding.h"
21 | #import "NSObject+MJKeyValue.h"
22 | #import "NSObject+MJProperty.h"
23 | #import "NSString+MJExtension.h"
24 |
25 | FOUNDATION_EXPORT double MJExtensionVersionNumber;
26 | FOUNDATION_EXPORT const unsigned char MJExtensionVersionString[];
27 |
28 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MJExtension/MJExtension.modulemap:
--------------------------------------------------------------------------------
1 | framework module MJExtension {
2 | umbrella header "MJExtension-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MJExtension/MJExtension.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJExtension
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJExtension
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MJRefresh/MJRefresh-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MJRefresh : NSObject
3 | @end
4 | @implementation PodsDummy_MJRefresh
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MJRefresh/MJRefresh-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MJRefresh/MJRefresh.modulemap:
--------------------------------------------------------------------------------
1 | framework module MJRefresh {
2 | umbrella header "MJRefresh-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MJRefresh/MJRefresh.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJRefresh
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry/Masonry-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Masonry : NSObject
3 | @end
4 | @implementation PodsDummy_Masonry
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry/Masonry-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry/Masonry.modulemap:
--------------------------------------------------------------------------------
1 | framework module Masonry {
2 | umbrella header "Masonry-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Masonry/Masonry.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Masonry
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Masonry
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-LookNovel/Pods-LookNovel-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_LookNovel : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_LookNovel
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-LookNovel/Pods-LookNovel-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_LookNovelVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_LookNovelVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-LookNovel/Pods-LookNovel.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_LookNovel {
2 | umbrella header "Pods-LookNovel-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-recentBook/Pods-recentBook-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_recentBook : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_recentBook
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-recentBook/Pods-recentBook-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_recentBookVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_recentBookVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-recentBook/Pods-recentBook.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_recentBook {
2 | umbrella header "Pods-recentBook-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/recentBook/LNTodayViewModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // LNTodayViewModel.h
3 | // recentBook
4 | //
5 | // Created by wangchengshan on 2019/5/24.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNBaseViewModel.h"
10 | #import "TodayViewController.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface LNTodayViewModel : LNBaseViewModel
15 | /***/
16 | @property (nonatomic, weak) TodayViewController *todayVc;
17 |
18 | @property (nonatomic, strong) LNRecentBook *currentBook;
19 |
20 | - (void)loadData;
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/recentBook/LNTodayViewModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // LNTodayViewModel.m
3 | // recentBook
4 | //
5 | // Created by wangchengshan on 2019/5/24.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import "LNTodayViewModel.h"
10 |
11 | @implementation LNTodayViewModel
12 |
13 | - (void)loadData
14 | {
15 | LNRecentBook *book = [self getLastRecentBookFromGroup];
16 | self.currentBook = book;
17 | [self.todayVc updateData];
18 | }
19 | @end
20 |
--------------------------------------------------------------------------------
/recentBook/TodayViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // TodayViewController.h
3 | // recentBook
4 | //
5 | // Created by wangchengshan on 2019/5/24.
6 | // Copyright © 2019 wcs Co.,ltd. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface TodayViewController : UIViewController
12 |
13 | - (void)updateData;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/recentBook/recentBook.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.application-groups
6 |
7 | group.com.wcs.lookNovel
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/screenShot/screenShot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wcsBurneyCoder/readNovel/17f110b879c5136074d071fcb3226ba7f275022e/screenShot/screenShot.png
--------------------------------------------------------------------------------