├── .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 --------------------------------------------------------------------------------