Commit 3758957d577c973ffec5fe4eb65c466067f3a219

Authored by 王军波
1 parent 1ac7bee4

推荐..数据请求

LiveVideoCloud.xcodeproj/project.pbxproj
@@ -198,6 +198,7 @@ @@ -198,6 +198,7 @@
198 D209AD711EC583D100D82E3B /* MineAccountController.m in Sources */ = {isa = PBXBuildFile; fileRef = D209AD701EC583D100D82E3B /* MineAccountController.m */; }; 198 D209AD711EC583D100D82E3B /* MineAccountController.m in Sources */ = {isa = PBXBuildFile; fileRef = D209AD701EC583D100D82E3B /* MineAccountController.m */; };
199 D20C82BE1EEEA89700BB609F /* LVCHomePageListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D20C82BD1EEEA89700BB609F /* LVCHomePageListModel.m */; }; 199 D20C82BE1EEEA89700BB609F /* LVCHomePageListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D20C82BD1EEEA89700BB609F /* LVCHomePageListModel.m */; };
200 D214CB4F1EF7BD890014EEBA /* V8HorizontalPickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = D214CB4D1EF7BD890014EEBA /* V8HorizontalPickerView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 200 D214CB4F1EF7BD890014EEBA /* V8HorizontalPickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = D214CB4D1EF7BD890014EEBA /* V8HorizontalPickerView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
  201 + D214CB521EF7CB310014EEBA /* LVCChannelPagingView.m in Sources */ = {isa = PBXBuildFile; fileRef = D214CB511EF7CB310014EEBA /* LVCChannelPagingView.m */; };
201 D217A24A1E7B76C7003B44CB /* PresentView.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A2471E7B76C7003B44CB /* PresentView.m */; }; 202 D217A24A1E7B76C7003B44CB /* PresentView.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A2471E7B76C7003B44CB /* PresentView.m */; };
202 D217A24B1E7B76C7003B44CB /* PresentViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A2491E7B76C7003B44CB /* PresentViewCell.m */; }; 203 D217A24B1E7B76C7003B44CB /* PresentViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A2491E7B76C7003B44CB /* PresentViewCell.m */; };
203 D217A24E1E7B77C7003B44CB /* ComboCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A24D1E7B77C7003B44CB /* ComboCell.m */; }; 204 D217A24E1E7B77C7003B44CB /* ComboCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A24D1E7B77C7003B44CB /* ComboCell.m */; };
@@ -210,6 +211,10 @@ @@ -210,6 +211,10 @@
210 D236967E1E7F9E4100E4BF71 /* GiftPayButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D236967D1E7F9E4100E4BF71 /* GiftPayButton.m */; }; 211 D236967E1E7F9E4100E4BF71 /* GiftPayButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D236967D1E7F9E4100E4BF71 /* GiftPayButton.m */; };
211 D23696841E7FC6A900E4BF71 /* chatListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D23696831E7FC6A900E4BF71 /* chatListCell.m */; }; 212 D23696841E7FC6A900E4BF71 /* chatListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D23696831E7FC6A900E4BF71 /* chatListCell.m */; };
212 D23696921E7FC83800E4BF71 /* chatMsgModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D23696911E7FC83800E4BF71 /* chatMsgModel.m */; }; 213 D23696921E7FC83800E4BF71 /* chatMsgModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D23696911E7FC83800E4BF71 /* chatMsgModel.m */; };
  214 + D23BBDB81EF8D15D002FE0B8 /* LVCMainHeaderCollectionReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D23BBDB71EF8D15D002FE0B8 /* LVCMainHeaderCollectionReusableView.m */; };
  215 + D23BBDBB1EF8E8B2002FE0B8 /* LVCBannerAndMarqueeModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D23BBDBA1EF8E8B2002FE0B8 /* LVCBannerAndMarqueeModel.m */; };
  216 + D23BBDBE1EF8ED4A002FE0B8 /* LVCChannelDetailModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D23BBDBD1EF8ED4A002FE0B8 /* LVCChannelDetailModel.m */; };
  217 + D23BBDC11EF8F513002FE0B8 /* LVCBqWqXgModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D23BBDC01EF8F513002FE0B8 /* LVCBqWqXgModel.m */; };
213 D23DC1551ECC41C100103B0E /* LVCVerifyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D23DC1541ECC41C100103B0E /* LVCVerifyViewController.m */; }; 218 D23DC1551ECC41C100103B0E /* LVCVerifyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D23DC1541ECC41C100103B0E /* LVCVerifyViewController.m */; };
214 D24571581E8393EB00AA85D6 /* UIImageView+ZXExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = D24571571E8393EB00AA85D6 /* UIImageView+ZXExtension.m */; }; 219 D24571581E8393EB00AA85D6 /* UIImageView+ZXExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = D24571571E8393EB00AA85D6 /* UIImageView+ZXExtension.m */; };
215 D245715C1E83A62B00AA85D6 /* BounceView.m in Sources */ = {isa = PBXBuildFile; fileRef = D245715B1E83A62B00AA85D6 /* BounceView.m */; }; 220 D245715C1E83A62B00AA85D6 /* BounceView.m in Sources */ = {isa = PBXBuildFile; fileRef = D245715B1E83A62B00AA85D6 /* BounceView.m */; };
@@ -695,6 +700,8 @@ @@ -695,6 +700,8 @@
695 D214CB4C1EF7BD890014EEBA /* V8HorizontalPickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8HorizontalPickerView.h; sourceTree = "<group>"; }; 700 D214CB4C1EF7BD890014EEBA /* V8HorizontalPickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8HorizontalPickerView.h; sourceTree = "<group>"; };
696 D214CB4D1EF7BD890014EEBA /* V8HorizontalPickerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = V8HorizontalPickerView.m; sourceTree = "<group>"; }; 701 D214CB4D1EF7BD890014EEBA /* V8HorizontalPickerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = V8HorizontalPickerView.m; sourceTree = "<group>"; };
697 D214CB4E1EF7BD890014EEBA /* V8HorizontalPickerViewProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8HorizontalPickerViewProtocol.h; sourceTree = "<group>"; }; 702 D214CB4E1EF7BD890014EEBA /* V8HorizontalPickerViewProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8HorizontalPickerViewProtocol.h; sourceTree = "<group>"; };
  703 + D214CB501EF7CB310014EEBA /* LVCChannelPagingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChannelPagingView.h; sourceTree = "<group>"; };
  704 + D214CB511EF7CB310014EEBA /* LVCChannelPagingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChannelPagingView.m; sourceTree = "<group>"; };
698 D217A2451E7B76C7003B44CB /* PresentModelAble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentModelAble.h; sourceTree = "<group>"; }; 705 D217A2451E7B76C7003B44CB /* PresentModelAble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentModelAble.h; sourceTree = "<group>"; };
699 D217A2461E7B76C7003B44CB /* PresentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentView.h; sourceTree = "<group>"; }; 706 D217A2461E7B76C7003B44CB /* PresentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentView.h; sourceTree = "<group>"; };
700 D217A2471E7B76C7003B44CB /* PresentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PresentView.m; sourceTree = "<group>"; }; 707 D217A2471E7B76C7003B44CB /* PresentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PresentView.m; sourceTree = "<group>"; };
@@ -720,6 +727,14 @@ @@ -720,6 +727,14 @@
720 D23696831E7FC6A900E4BF71 /* chatListCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = chatListCell.m; sourceTree = "<group>"; }; 727 D23696831E7FC6A900E4BF71 /* chatListCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = chatListCell.m; sourceTree = "<group>"; };
721 D23696901E7FC83800E4BF71 /* chatMsgModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chatMsgModel.h; sourceTree = "<group>"; }; 728 D23696901E7FC83800E4BF71 /* chatMsgModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chatMsgModel.h; sourceTree = "<group>"; };
722 D23696911E7FC83800E4BF71 /* chatMsgModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = chatMsgModel.m; sourceTree = "<group>"; }; 729 D23696911E7FC83800E4BF71 /* chatMsgModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = chatMsgModel.m; sourceTree = "<group>"; };
  730 + D23BBDB61EF8D15D002FE0B8 /* LVCMainHeaderCollectionReusableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMainHeaderCollectionReusableView.h; sourceTree = "<group>"; };
  731 + D23BBDB71EF8D15D002FE0B8 /* LVCMainHeaderCollectionReusableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMainHeaderCollectionReusableView.m; sourceTree = "<group>"; };
  732 + D23BBDB91EF8E8B2002FE0B8 /* LVCBannerAndMarqueeModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCBannerAndMarqueeModel.h; sourceTree = "<group>"; };
  733 + D23BBDBA1EF8E8B2002FE0B8 /* LVCBannerAndMarqueeModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCBannerAndMarqueeModel.m; sourceTree = "<group>"; };
  734 + D23BBDBC1EF8ED4A002FE0B8 /* LVCChannelDetailModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChannelDetailModel.h; sourceTree = "<group>"; };
  735 + D23BBDBD1EF8ED4A002FE0B8 /* LVCChannelDetailModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChannelDetailModel.m; sourceTree = "<group>"; };
  736 + D23BBDBF1EF8F513002FE0B8 /* LVCBqWqXgModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCBqWqXgModel.h; sourceTree = "<group>"; };
  737 + D23BBDC01EF8F513002FE0B8 /* LVCBqWqXgModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCBqWqXgModel.m; sourceTree = "<group>"; };
723 D23DC1531ECC41C100103B0E /* LVCVerifyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCVerifyViewController.h; sourceTree = "<group>"; }; 738 D23DC1531ECC41C100103B0E /* LVCVerifyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCVerifyViewController.h; sourceTree = "<group>"; };
724 D23DC1541ECC41C100103B0E /* LVCVerifyViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCVerifyViewController.m; sourceTree = "<group>"; }; 739 D23DC1541ECC41C100103B0E /* LVCVerifyViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCVerifyViewController.m; sourceTree = "<group>"; };
725 D24571561E8393EB00AA85D6 /* UIImageView+ZXExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+ZXExtension.h"; sourceTree = "<group>"; }; 740 D24571561E8393EB00AA85D6 /* UIImageView+ZXExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+ZXExtension.h"; sourceTree = "<group>"; };
@@ -1722,6 +1737,12 @@ @@ -1722,6 +1737,12 @@
1722 children = ( 1737 children = (
1723 D20C82BC1EEEA89700BB609F /* LVCHomePageListModel.h */, 1738 D20C82BC1EEEA89700BB609F /* LVCHomePageListModel.h */,
1724 D20C82BD1EEEA89700BB609F /* LVCHomePageListModel.m */, 1739 D20C82BD1EEEA89700BB609F /* LVCHomePageListModel.m */,
  1740 + D23BBDB91EF8E8B2002FE0B8 /* LVCBannerAndMarqueeModel.h */,
  1741 + D23BBDBA1EF8E8B2002FE0B8 /* LVCBannerAndMarqueeModel.m */,
  1742 + D23BBDBC1EF8ED4A002FE0B8 /* LVCChannelDetailModel.h */,
  1743 + D23BBDBD1EF8ED4A002FE0B8 /* LVCChannelDetailModel.m */,
  1744 + D23BBDBF1EF8F513002FE0B8 /* LVCBqWqXgModel.h */,
  1745 + D23BBDC01EF8F513002FE0B8 /* LVCBqWqXgModel.m */,
1725 ); 1746 );
1726 name = Model; 1747 name = Model;
1727 sourceTree = "<group>"; 1748 sourceTree = "<group>";
@@ -1736,6 +1757,17 @@ @@ -1736,6 +1757,17 @@
1736 path = V8HorizontalPickerView; 1757 path = V8HorizontalPickerView;
1737 sourceTree = "<group>"; 1758 sourceTree = "<group>";
1738 }; 1759 };
  1760 + D214CB531EF7CB380014EEBA /* View */ = {
  1761 + isa = PBXGroup;
  1762 + children = (
  1763 + D214CB501EF7CB310014EEBA /* LVCChannelPagingView.h */,
  1764 + D214CB511EF7CB310014EEBA /* LVCChannelPagingView.m */,
  1765 + D23BBDB61EF8D15D002FE0B8 /* LVCMainHeaderCollectionReusableView.h */,
  1766 + D23BBDB71EF8D15D002FE0B8 /* LVCMainHeaderCollectionReusableView.m */,
  1767 + );
  1768 + name = View;
  1769 + sourceTree = "<group>";
  1770 + };
1739 D217A2441E7B76C7003B44CB /* Present */ = { 1771 D217A2441E7B76C7003B44CB /* Present */ = {
1740 isa = PBXGroup; 1772 isa = PBXGroup;
1741 children = ( 1773 children = (
@@ -1810,6 +1842,7 @@ @@ -1810,6 +1842,7 @@
1810 children = ( 1842 children = (
1811 D233EE741EEE26C700674ED5 /* Controller */, 1843 D233EE741EEE26C700674ED5 /* Controller */,
1812 D20C82BF1EEEA89E00BB609F /* Model */, 1844 D20C82BF1EEEA89E00BB609F /* Model */,
  1845 + D214CB531EF7CB380014EEBA /* View */,
1813 ); 1846 );
1814 path = HomePageSections; 1847 path = HomePageSections;
1815 sourceTree = "<group>"; 1848 sourceTree = "<group>";
@@ -2279,6 +2312,7 @@ @@ -2279,6 +2312,7 @@
2279 D2029C861E6EADE10027CD92 /* Tools.m in Sources */, 2312 D2029C861E6EADE10027CD92 /* Tools.m in Sources */,
2280 4B42A6C41EC00CC800DA09D7 /* UIAlertView+Blocks.m in Sources */, 2313 4B42A6C41EC00CC800DA09D7 /* UIAlertView+Blocks.m in Sources */,
2281 D25BF8931E7FBAEA007FB138 /* LVCUGCBackgroundView.m in Sources */, 2314 D25BF8931E7FBAEA007FB138 /* LVCUGCBackgroundView.m in Sources */,
  2315 + D214CB521EF7CB310014EEBA /* LVCChannelPagingView.m in Sources */,
2282 4B45CE861EB86A590079AFB7 /* LVCLoginShowView.m in Sources */, 2316 4B45CE861EB86A590079AFB7 /* LVCLoginShowView.m in Sources */,
2283 D2029CA01E6EADE10027CD92 /* NSObject+MJProperty.m in Sources */, 2317 D2029CA01E6EADE10027CD92 /* NSObject+MJProperty.m in Sources */,
2284 4BD855FE1EBACD530082061D /* AFSecurityPolicy.m in Sources */, 2318 4BD855FE1EBACD530082061D /* AFSecurityPolicy.m in Sources */,
@@ -2287,6 +2321,7 @@ @@ -2287,6 +2321,7 @@
2287 D2029C9C1E6EADE10027CD92 /* MJPropertyType.m in Sources */, 2321 D2029C9C1E6EADE10027CD92 /* MJPropertyType.m in Sources */,
2288 81A4830E1E88B8300097A80A /* LVCChannelsModel.m in Sources */, 2322 81A4830E1E88B8300097A80A /* LVCChannelsModel.m in Sources */,
2289 D22831091E77D8D500627701 /* GiftModel.m in Sources */, 2323 D22831091E77D8D500627701 /* GiftModel.m in Sources */,
  2324 + D23BBDBE1EF8ED4A002FE0B8 /* LVCChannelDetailModel.m in Sources */,
2290 D2029CCD1E6EADE10027CD92 /* SearchModel.m in Sources */, 2325 D2029CCD1E6EADE10027CD92 /* SearchModel.m in Sources */,
2291 4BD8560F1EBACEF80082061D /* CNLiveWebView.m in Sources */, 2326 4BD8560F1EBACEF80082061D /* CNLiveWebView.m in Sources */,
2292 810B65051E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, 2327 810B65051E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */,
@@ -2302,6 +2337,7 @@ @@ -2302,6 +2337,7 @@
2302 81A483111E88B8630097A80A /* LVCChannelDetailsModel.m in Sources */, 2337 81A483111E88B8630097A80A /* LVCChannelDetailsModel.m in Sources */,
2303 D2029D011E6EAE2E0027CD92 /* UIColor+HexString.m in Sources */, 2338 D2029D011E6EAE2E0027CD92 /* UIColor+HexString.m in Sources */,
2304 4B45CE7D1EB86A590079AFB7 /* ModifyInfomationController.m in Sources */, 2339 4B45CE7D1EB86A590079AFB7 /* ModifyInfomationController.m in Sources */,
  2340 + D23BBDBB1EF8E8B2002FE0B8 /* LVCBannerAndMarqueeModel.m in Sources */,
2305 D2029CA41E6EADE10027CD92 /* MJRefreshComponent.m in Sources */, 2341 D2029CA41E6EADE10027CD92 /* MJRefreshComponent.m in Sources */,
2306 D2575C7A1E76A4F300E3A8FC /* NHCarViews.m in Sources */, 2342 D2575C7A1E76A4F300E3A8FC /* NHCarViews.m in Sources */,
2307 D209AD711EC583D100D82E3B /* MineAccountController.m in Sources */, 2343 D209AD711EC583D100D82E3B /* MineAccountController.m in Sources */,
@@ -2354,6 +2390,7 @@ @@ -2354,6 +2390,7 @@
2354 4BD856181EBAD35C0082061D /* NSDictionary+Safety.m in Sources */, 2390 4BD856181EBAD35C0082061D /* NSDictionary+Safety.m in Sources */,
2355 4BD856011EBACD530082061D /* AFURLResponseSerialization.m in Sources */, 2391 4BD856011EBACD530082061D /* AFURLResponseSerialization.m in Sources */,
2356 D2575C4A1E7685DE00E3A8FC /* UIView+Bubbling.m in Sources */, 2392 D2575C4A1E7685DE00E3A8FC /* UIView+Bubbling.m in Sources */,
  2393 + D23BBDB81EF8D15D002FE0B8 /* LVCMainHeaderCollectionReusableView.m in Sources */,
2357 D2029CA61E6EADE10027CD92 /* MJRefreshHeader.m in Sources */, 2394 D2029CA61E6EADE10027CD92 /* MJRefreshHeader.m in Sources */,
2358 D2029CC41E6EADE10027CD92 /* UIImageView+WebCache.m in Sources */, 2395 D2029CC41E6EADE10027CD92 /* UIImageView+WebCache.m in Sources */,
2359 4B45CE801EB86A590079AFB7 /* idAndPwdView.m in Sources */, 2396 4B45CE801EB86A590079AFB7 /* idAndPwdView.m in Sources */,
@@ -2473,6 +2510,7 @@ @@ -2473,6 +2510,7 @@
2473 D2029D061E6EAE2E0027CD92 /* UIView+Extension.m in Sources */, 2510 D2029D061E6EAE2E0027CD92 /* UIView+Extension.m in Sources */,
2474 D25530001E7909AC00DF38A5 /* GiftAnimOperation.m in Sources */, 2511 D25530001E7909AC00DF38A5 /* GiftAnimOperation.m in Sources */,
2475 D2029C9D1E6EADE10027CD92 /* NSObject+MJClass.m in Sources */, 2512 D2029C9D1E6EADE10027CD92 /* NSObject+MJClass.m in Sources */,
  2513 + D23BBDC11EF8F513002FE0B8 /* LVCBqWqXgModel.m in Sources */,
2476 D2029CCF1E6EADE10027CD92 /* SearchHttp.m in Sources */, 2514 D2029CCF1E6EADE10027CD92 /* SearchHttp.m in Sources */,
2477 810B65001E779B1F00133E15 /* MASConstraintMaker.m in Sources */, 2515 810B65001E779B1F00133E15 /* MASConstraintMaker.m in Sources */,
2478 D245715C1E83A62B00AA85D6 /* BounceView.m in Sources */, 2516 D245715C1E83A62B00AA85D6 /* BounceView.m in Sources */,
LiveVideoCloud/Classes/Sections/HomePageSections/LVCBannerAndMarqueeModel.h 0 → 100644
  1 +//
  2 +// LVCBannerAndMarqueeModel.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/20.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "BaseModel.h"
  10 +
  11 +@interface LVCBannerAndMarqueeModel : BaseModel // channels 中 programs 也用这个model
  12 +
  13 +@property (nonatomic, copy)NSString *url;
  14 +@property (nonatomic, copy)NSString *img;
  15 +@property (nonatomic, copy)NSString *mediaId;
  16 +@property (nonatomic, copy)NSString *title;
  17 +@property (nonatomic, copy)NSString *vipFlag;
  18 +@property (nonatomic, copy)NSString *docID;
  19 +@property (nonatomic, copy)NSString *picType; //列表显示图片类型 H 横图 V 竖图 M 明星人气榜
  20 +@property (nonatomic, copy)NSString *subTitle;
  21 +@property (nonatomic, copy)NSString *type; //节目类型 live:直播,program:普通视频,web:网页,series:连续剧,album:专辑
  22 +
  23 +//@property (nonatomic, copy)NSString *playMediaId;
  24 +//@property (nonatomic, copy)NSString *desc;
  25 +//@property (nonatomic, copy)NSString *itemId;
  26 +//@property (nonatomic, copy)NSString *activityId;
  27 +
  28 +@end
LiveVideoCloud/Classes/Sections/HomePageSections/LVCBannerAndMarqueeModel.m 0 → 100644
  1 +//
  2 +// LVCBannerAndMarqueeModel.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/20.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCBannerAndMarqueeModel.h"
  10 +
  11 +@implementation LVCBannerAndMarqueeModel
  12 +
  13 +@end
LiveVideoCloud/Classes/Sections/HomePageSections/LVCBqWqXgModel.h 0 → 100644
  1 +//
  2 +// LVCBqWqXgModel.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/20.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "BaseModel.h"
  10 +
  11 +@interface LVCBqWqXgModel : BaseModel
  12 +
  13 +// 本期看点、往期回看、相关视频、相关明星 公共属性
  14 +@property (nonatomic, copy)NSString *title;
  15 +@property (nonatomic, copy)NSString *img;
  16 +// 本期看点、往期回看、相关视频 公共属性
  17 +@property (nonatomic, copy)NSString *mediaId;
  18 +@property (nonatomic, copy)NSString *docSubTitle;
  19 +// 相关视频、相关明星 公共属性
  20 +@property (nonatomic, copy)NSString *docID;
  21 +@property (nonatomic, copy)NSString *type;
  22 +// 相关视频
  23 +@property (nonatomic, copy)NSString *MAM_PosterUrl;
  24 +@property (nonatomic, copy)NSString *MAM_SmallPosterUrl;
  25 +@property (nonatomic, copy)NSString *docDescription;
  26 +@property (nonatomic, copy)NSString *vipFlag;
  27 +@property (nonatomic, copy)NSString *MAM_BigPostUrl;
  28 +// 相关明星
  29 +@property (nonatomic, copy)NSString *support;
  30 +@property (nonatomic, copy)NSString *voteRule;
  31 +
  32 +// 用于判断播放底页里本期看点、往期回看、相关视频中,播放的视频是否高亮显示
  33 +@property (nonatomic, assign)BOOL isPlaying;
  34 +@property (nonatomic, copy)NSString *module;
  35 +
  36 +@end
LiveVideoCloud/Classes/Sections/HomePageSections/LVCBqWqXgModel.m 0 → 100644
  1 +//
  2 +// LVCBqWqXgModel.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/20.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCBqWqXgModel.h"
  10 +
  11 +@implementation LVCBqWqXgModel
  12 +
  13 +@end
LiveVideoCloud/Classes/Sections/HomePageSections/LVCChannelDetailModel.h 0 → 100644
  1 +//
  2 +// LVCChannelDetailModel.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/20.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "BaseModel.h"
  10 +
  11 +@interface LVCChannelDetailModel : BaseModel
  12 +
  13 +@property (nonatomic, strong)NSString *cid;
  14 +@property (nonatomic, strong)NSString *title;
  15 +@property (nonatomic, strong)NSString *channelType;
  16 +@property (nonatomic, strong)NSArray *programs;
  17 +@property (nonatomic, strong)NSString *categoryType;
  18 +
  19 +@end
LiveVideoCloud/Classes/Sections/HomePageSections/LVCChannelDetailModel.m 0 → 100644
  1 +//
  2 +// LVCChannelDetailModel.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/20.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCChannelDetailModel.h"
  10 +
  11 +@implementation LVCChannelDetailModel
  12 +
  13 +@end
LiveVideoCloud/Classes/Sections/HomePageSections/LVCChannelPagingView.h 0 → 100644
  1 +//
  2 +// LVCChannelPagingView.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/19.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface LVCChannelPagingView : UIView
  12 +
  13 +@property (nonatomic, strong) LVCHomePageListModel *model;
  14 +
  15 +@end
LiveVideoCloud/Classes/Sections/HomePageSections/LVCChannelPagingView.m 0 → 100644
  1 +//
  2 +// LVCChannelPagingView.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/19.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCChannelPagingView.h"
  10 +
  11 +@interface LVCChannelPagingView() <UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout> {
  12 +
  13 + BOOL _hasSearchBox; //是否显示搜索框
  14 + NSArray *_searchColumnArray;
  15 + NSMutableArray *_banners;
  16 + NSMutableArray *_marquees;
  17 + NSMutableArray *_channels;
  18 +}
  19 +
  20 +@property (nonatomic, strong)UICollectionView *collectionView;
  21 +@property (nonatomic, strong)UIView *searchBackground;
  22 +@property (nonatomic, strong)UIButton *searchBtn;
  23 +@property (nonatomic, strong)UIView *searchLine;
  24 +@property (nonatomic, strong)UILabel *searchHotLab;
  25 +
  26 +@end
  27 +
  28 +@implementation LVCChannelPagingView
  29 +
  30 +- (instancetype)initWithFrame:(CGRect)frame
  31 +{
  32 + self = [super initWithFrame:frame];
  33 + if (self) {
  34 + [self addSubview:self.collectionView];
  35 + _banners = [[NSMutableArray alloc] init];
  36 + _marquees = [[NSMutableArray alloc] init];
  37 + _channels = [[NSMutableArray alloc] init];
  38 + }
  39 + return self;
  40 +}
  41 +
  42 +- (void)setModel:(LVCHomePageListModel *)model {
  43 +
  44 + if (_model != model) {
  45 + _model = model;
  46 + }
  47 + [self requestAppindex];
  48 +}
  49 +
  50 +#pragma mark - 请求数据
  51 +- (void)requestAppindex {
  52 +
  53 + NSString *uid;
  54 + if ([UserTools isLogin]) {
  55 + uid = [UserInformationModel manager].uid;
  56 + } else {
  57 + uid = [NSString stringWithFormat:@"%u", arc4random()%3];
  58 + }
  59 + NSString *tm = [NSString stringWithFormat:@"%u_%@", arc4random()%10, uid];
  60 +
  61 + NSDictionary *parameter = @{@"cid": self.model.cid ? self.model.cid : @"",
  62 + @"tm": tm};
  63 +
  64 + NSString *url;
  65 + if ([self.model.cid isEqualToString:@"tj/"]) {
  66 + url = Appindexpage;
  67 + } else {
  68 + url = Appindex;
  69 + }
  70 +
  71 + [[AFHTTPRequestOperationManager manager] GET:url parameters:[self addParameters:parameter] success:^(AFHTTPRequestOperation *operation, id responseObject) {
  72 +
  73 + responseObject = [responseObject validatedDictionary];
  74 +
  75 + _hasSearchBox = [responseObject[@"searchCategory"] isEqualToString:@"false"] ? NO : YES;
  76 +
  77 + self.searchHotLab.text = responseObject[@"placeHolder"];
  78 +
  79 + //是否显示搜索旁边的分类
  80 + _searchColumnArray = responseObject[@"searchColumn"];
  81 +
  82 + if ([Tools isArray:_searchColumnArray]) {
  83 +
  84 + // 搜索旁的分类
  85 + } else {
  86 +
  87 + self.searchBtn.width = KScreenWidth - 20;
  88 + }
  89 +
  90 + if (responseObject[@"banner"] && [responseObject[@"banner"] isKindOfClass:[NSArray class]]) {
  91 + for (NSDictionary *dic in responseObject[@"banner"]) {
  92 + LVCBannerAndMarqueeModel *model = [LVCBannerAndMarqueeModel modelWithDic:dic];
  93 + if (model) {
  94 + [_banners addObject:model];
  95 + }
  96 + }
  97 + }
  98 + if (responseObject[@"marquee"] && [responseObject[@"marquee"] isKindOfClass:[NSArray class]]) {
  99 + for (NSDictionary *dic in responseObject[@"marquee"]) {
  100 + LVCBannerAndMarqueeModel *model = [LVCBannerAndMarqueeModel modelWithDic:dic];
  101 + if (model) {
  102 + [_marquees addObject:model];
  103 + }
  104 + }
  105 + }
  106 + if (responseObject[@"channels"] && [responseObject[@"channels"] isKindOfClass:[NSArray class]]) {
  107 +
  108 + for (NSDictionary *dic in responseObject[@"channels"]) {
  109 + LVCChannelDetailModel *model = [LVCChannelDetailModel modelWithDic:dic];
  110 + NSMutableArray *programs = [[NSMutableArray alloc] init];
  111 +
  112 + if (dic[@"programs"] && [dic[@"programs"] isKindOfClass:[NSArray class]]) {
  113 + for (NSDictionary *program in dic[@"programs"]) {
  114 + id programModel;
  115 + if ([model.channelType isEqualToString:@"M"]) {
  116 + programModel = [LVCBqWqXgModel modelWithDic:program];
  117 + } else {
  118 + programModel = [LVCBannerAndMarqueeModel modelWithDic:program];
  119 + }
  120 + if (programModel) {
  121 + [programs addObject:programModel];
  122 + }
  123 + }
  124 + }
  125 + model.programs = [[NSArray alloc] initWithArray:programs];
  126 + if (model && [Tools isArray:model.programs]) {
  127 + [_channels addObject:model];
  128 + }
  129 + }
  130 + }
  131 + [self.collectionView reloadData];
  132 +
  133 + } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
  134 +
  135 +
  136 + }];
  137 +}
  138 +
  139 +#pragma mark - UICollectionViewDelegate !!!!!!!!!!!!!!!!!!!!!!!!!
  140 +- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
  141 +
  142 +
  143 +}
  144 +
  145 +- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
  146 +
  147 +
  148 +}
  149 +
  150 +#pragma mark - UICollectionViewDataSource !!!!!!!!!!!!!!!!!!!!!!!!!
  151 +- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
  152 +
  153 + return 0;
  154 +}
  155 +
  156 +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
  157 +
  158 + return 0;
  159 +}
  160 +
  161 +- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
  162 +
  163 + return nil;
  164 +}
  165 +
  166 +- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath {
  167 +
  168 + return nil;
  169 +}
  170 +
  171 +#pragma mark - UICollectionViewDelegateFlowLayout !!!!!!!!!!!!!!!!!!!!!!!!!
  172 +- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
  173 +
  174 + return CGSizeZero;
  175 +}
  176 +
  177 +- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
  178 +
  179 + return UIEdgeInsetsZero;
  180 +}
  181 +
  182 +- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section {
  183 +
  184 + return CGSizeZero;
  185 +}
  186 +
  187 +#pragma mark - GetMethod !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  188 +- (UICollectionView *)collectionView {
  189 +
  190 + if (!_collectionView) {
  191 +
  192 + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
  193 + layout.minimumLineSpacing = 0;
  194 + layout.minimumInteritemSpacing = 0;
  195 +
  196 + _collectionView = [[UICollectionView alloc] initWithFrame:self.bounds collectionViewLayout:layout];
  197 + _collectionView.delegate = self;
  198 + _collectionView.dataSource = self;
  199 + _collectionView.backgroundColor = [UIColor whiteColor];
  200 + }
  201 + return _collectionView;
  202 +}
  203 +
  204 +- (UIView *)searchBackground {
  205 +
  206 + if (!_searchBackground) {
  207 + _searchBackground = [[UIView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 45)];
  208 + _searchBackground.backgroundColor = [UIColor backgroundColor];
  209 + [_searchBackground addSubview:self.searchBtn];
  210 + }
  211 + return _searchBackground;
  212 +}
  213 +
  214 +- (UIButton *)searchBtn {
  215 +
  216 + if (!_searchBtn) {
  217 +
  218 + _searchBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  219 + _searchBtn.frame = CGRectMake(10, 6, KScreenWidth-20, 33);
  220 + [_searchBtn setImage:[UIImage imageNamed:@"search"] forState:UIControlStateNormal];
  221 + [_searchBtn setTitle:@"搜索" forState:UIControlStateNormal];
  222 + [_searchBtn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
  223 + [_searchBtn setImageEdgeInsets:UIEdgeInsetsMake(0, -5, 0, 0)];
  224 + _searchBtn.titleLabel.font = [UIFont systemFontOfSize:14];
  225 + _searchBtn.backgroundColor = [UIColor whiteColor];
  226 + _searchBtn.layer.cornerRadius = 16;
  227 + _searchBtn.layer.masksToBounds = YES;
  228 + [_searchBtn addTarget:self action:@selector(searchBtnAction) forControlEvents:UIControlEventTouchUpInside];
  229 + }
  230 + return _searchBtn;
  231 +}
  232 +
  233 +- (UIView *)searchLine {
  234 +
  235 + if (!_searchLine) {
  236 + _searchLine = [[UIView alloc] initWithFrame:CGRectMake(0, 44.5, KScreenWidth, 0.5)];
  237 + _searchLine.backgroundColor = [UIColor navigationLineColor];
  238 + }
  239 + return _searchLine;
  240 +}
  241 +
  242 +//- (UILabel *)searchHotLab {
  243 +//
  244 +// if (!_searchHotLab) {
  245 +// _searchHotLab = [[UILabel alloc] initWithFrame:CGRectMake(35, 0, self.searchBtn.width-45, self.searchBtn.height)];
  246 +// _searchHotLab.textColor = [UIColor grayColorCNLive];
  247 +// _searchHotLab.font = [UIFont systemFontOfSize:14];
  248 +// }
  249 +// return _searchHotLab;
  250 +//}
  251 +
  252 +// ------------------------------------------分割线---------------------------------------------------
  253 +- (NSDictionary *)addParameters:(NSDictionary *)dict {
  254 +
  255 + if (![dict isKindOfClass:[NSDictionary class]]) {
  256 + return dict;
  257 + }
  258 + if (!dict) {
  259 + return @{@"appid": JBAppId, @"plat": @"i", @"version": JBAppVersion};
  260 + } else {
  261 + NSMutableDictionary *dic = [[NSMutableDictionary alloc] initWithDictionary:dict];
  262 + [dic addEntriesFromDictionary:@{@"appid": JBAppId, @"plat": @"i", @"version": JBAppVersion}];
  263 + return [[NSDictionary alloc] initWithDictionary:dic];
  264 + }
  265 +}
  266 +
  267 +@end
LiveVideoCloud/Classes/Sections/HomePageSections/LVCMainHeaderCollectionReusableView.h 0 → 100644
  1 +//
  2 +// LVCMainHeaderCollectionReusableView.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/20.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface LVCMainHeaderCollectionReusableView : UICollectionReusableView
  12 +
  13 +@property (nonatomic, assign) BOOL live;
  14 +@property (nonatomic, strong) NSArray *banners;
  15 +@property (nonatomic, strong) NSArray *marquees;
  16 +
  17 +@end
LiveVideoCloud/Classes/Sections/HomePageSections/LVCMainHeaderCollectionReusableView.m 0 → 100644
  1 +//
  2 +// LVCMainHeaderCollectionReusableView.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/20.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCMainHeaderCollectionReusableView.h"
  10 +
  11 +@interface LVCMainHeaderCollectionReusableView()
  12 +
  13 +@end
  14 +
  15 +@implementation LVCMainHeaderCollectionReusableView
  16 +
  17 +
  18 +
  19 +@end
LiveVideoCloud/Classes/Sections/LVCHomePageViewController.m
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 // 7 //
8 8
9 #import "LVCHomePageViewController.h" 9 #import "LVCHomePageViewController.h"
10 -#import "LVCHomePageListModel.h" 10 +#import "LVCChannelPagingView.h"
11 11
12 @interface LVCHomePageViewController ()<V8HorizontalPickerViewDataSource, V8HorizontalPickerViewDelegate,MHPagingScrollViewDelegate,UIScrollViewDelegate> { 12 @interface LVCHomePageViewController ()<V8HorizontalPickerViewDataSource, V8HorizontalPickerViewDelegate,MHPagingScrollViewDelegate,UIScrollViewDelegate> {
13 13
@@ -17,14 +17,26 @@ @@ -17,14 +17,26 @@
17 17
18 @property (nonatomic, strong)V8HorizontalPickerView *titleView; 18 @property (nonatomic, strong)V8HorizontalPickerView *titleView;
19 @property (nonatomic, strong)MHPagingScrollView *pageView; 19 @property (nonatomic, strong)MHPagingScrollView *pageView;
  20 +@property (nonatomic, strong)UIButton *reloadBtn;
  21 +@property (nonatomic, strong)UILabel *reloadLab;
20 @end 22 @end
21 23
22 @implementation LVCHomePageViewController 24 @implementation LVCHomePageViewController
23 25
  26 +- (void)viewWillAppear:(BOOL)animated
  27 +{
  28 + [super viewWillAppear:animated];
  29 + [self pagingScrollView:self.pageView pageForIndex:self.pageView.indexOfSelectedPage];
  30 +}
  31 +
24 - (void)viewDidLoad { 32 - (void)viewDidLoad {
25 [super viewDidLoad]; 33 [super viewDidLoad];
26 34
27 - self.navigationItem.title = @"首页"; 35 +// [[NSNotificationCenter defaultCenter] addObserver:self
  36 +// selector:@selector(appBecomeActive)
  37 +// name:UIApplicationDidBecomeActiveNotification
  38 +// object:nil];
  39 +
28 _titleArr = [[NSMutableArray alloc] init]; 40 _titleArr = [[NSMutableArray alloc] init];
29 41
30 [self getChannelList]; 42 [self getChannelList];
@@ -33,7 +45,6 @@ @@ -33,7 +45,6 @@
33 [self.view addSubview:self.pageView]; 45 [self.view addSubview:self.pageView];
34 [_pageView reloadPages]; 46 [_pageView reloadPages];
35 [_titleView reloadData]; 47 [_titleView reloadData];
36 - [self.titleView scrollToElement:0 animated:NO];  
37 } 48 }
38 49
39 #pragma mark - 请求频道列表 50 #pragma mark - 请求频道列表
@@ -47,7 +58,7 @@ @@ -47,7 +58,7 @@
47 [[AFHTTPRequestOperationManager manager] GET:AllChannellist parameters:para success:^(AFHTTPRequestOperation *operation, id responseObject) { 58 [[AFHTTPRequestOperationManager manager] GET:AllChannellist parameters:para success:^(AFHTTPRequestOperation *operation, id responseObject) {
48 59
49 [waitHUD hide:NO]; 60 [waitHUD hide:NO];
50 -// [self.reloadBtn removeFromSuperview]; 61 + [self.reloadBtn removeFromSuperview];
51 responseObject = [responseObject validatedDictionary]; 62 responseObject = [responseObject validatedDictionary];
52 63
53 if ([[NSString stringWithFormat:@"%@",responseObject[@"errorCode"]] isEqualToString:@"0"]) { 64 if ([[NSString stringWithFormat:@"%@",responseObject[@"errorCode"]] isEqualToString:@"0"]) {
@@ -73,6 +84,7 @@ @@ -73,6 +84,7 @@
73 } 84 }
74 85
75 [_titleView reloadData]; 86 [_titleView reloadData];
  87 + [_pageView reloadPages];
76 88
77 // /*-----------------列表数据处理----------------*/ 89 // /*-----------------列表数据处理----------------*/
78 // [CNHDTVStatManager PVStatForPage:@"tj/" userID:[UserInformationModel manager].uid]; 90 // [CNHDTVStatManager PVStatForPage:@"tj/" userID:[UserInformationModel manager].uid];
@@ -121,13 +133,13 @@ @@ -121,13 +133,13 @@
121 [Tools showHUDInView:self.view withString:@"获取数据失败" autoHide:YES]; 133 [Tools showHUDInView:self.view withString:@"获取数据失败" autoHide:YES];
122 } 134 }
123 135
124 -// self.reloadLab.text = @"暂无数据";  
125 -// [self showChannelList];  
126 - 136 + self.reloadLab.text = @"暂无数据";
127 137
128 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 138 } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
129 139
130 [waitHUD hide:NO]; 140 [waitHUD hide:NO];
  141 + [self.reloadBtn removeFromSuperview];
  142 + self.reloadLab.text = @"您好像掉线了";
131 }]; 143 }];
132 } 144 }
133 145
@@ -189,16 +201,25 @@ @@ -189,16 +201,25 @@
189 201
190 - (UIView *)pagingScrollView:(MHPagingScrollView *)pagingScrollView pageForIndex:(NSUInteger)index 202 - (UIView *)pagingScrollView:(MHPagingScrollView *)pagingScrollView pageForIndex:(NSUInteger)index
191 { 203 {
192 - if ([_titleArr[index].title isEqualToString:@"推荐"]) { 204 + LVCHomePageListModel *model = [_titleArr safetyObjectAtIndex:index];
  205 +
  206 + if ([model.type isEqualToString:@"channel"] || [model.type isEqualToString:@"tuijian"]) {
193 207
194 -// LVCTelevisionView *tvView = (LVCTelevisionView *)[pagingScrollView pageViewByIndex:index];  
195 -// if (!tvView) {  
196 -// tvView = [[LVCTelevisionView alloc] init];  
197 -// }  
198 -// return tvView; 208 + LVCChannelPagingView *channelView = (LVCChannelPagingView *)[pagingScrollView pageViewByIndex:index];
  209 + if (!channelView) {
  210 + channelView = [[LVCChannelPagingView alloc] initWithFrame:self.pageView.bounds];
  211 + channelView.model = _titleArr[index];
  212 + }
  213 + return channelView;
199 214
200 - }else if ([_titleArr[index].title isEqualToString:@"华人频道"]) { 215 + } else if ([model.type isEqualToString:@"news"]) {
201 216
  217 + UIView *view2 = [pagingScrollView pageViewByIndex:index];
  218 + if (!view2) {
  219 + view2 = [[UIView alloc] init];
  220 + }
  221 + view2.backgroundColor = [UIColor redColor];
  222 + return view2;
202 // LVCUGCLiveListView *liveListView = (LVCUGCLiveListView *)[pagingScrollView pageViewByIndex:index]; 223 // LVCUGCLiveListView *liveListView = (LVCUGCLiveListView *)[pagingScrollView pageViewByIndex:index];
203 // if (!liveListView) { 224 // if (!liveListView) {
204 // liveListView = [[LVCUGCLiveListView alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, SCREEN_HEIGHT - 114)]; 225 // liveListView = [[LVCUGCLiveListView alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, SCREEN_HEIGHT - 114)];
@@ -207,10 +228,22 @@ @@ -207,10 +228,22 @@
207 // } 228 // }
208 // liveListView.scrollToTop = YES; 229 // liveListView.scrollToTop = YES;
209 // return liveListView; 230 // return liveListView;
  231 + } else if ([model.type isEqualToString:@"link"]) {
  232 +
  233 + UIView *view1 = [pagingScrollView pageViewByIndex:index];
  234 + if (!view1) {
  235 + view1 = [[UIView alloc] init];
  236 + }
  237 + view1.backgroundColor = [UIColor yellowColor];
  238 + return view1;
210 } 239 }
  240 +
211 return nil; 241 return nil;
212 } 242 }
213 243
  244 +#pragma mark - Action !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  245 +
  246 +#pragma mark - GetMetohd !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
214 - (V8HorizontalPickerView *)titleView 247 - (V8HorizontalPickerView *)titleView
215 { 248 {
216 if (!_titleView) { 249 if (!_titleView) {
@@ -239,6 +272,45 @@ @@ -239,6 +272,45 @@
239 return _pageView; 272 return _pageView;
240 } 273 }
241 274
  275 +- (UIButton *)reloadBtn
  276 +{
  277 + if (!_reloadBtn) {
  278 + _reloadBtn = [self getReloadBtn];
  279 + _reloadBtn.frame = self.view.bounds;
  280 + [_reloadBtn addTarget:self action:@selector(getChannelList) forControlEvents:UIControlEventTouchUpInside];
  281 + [_reloadBtn addSubview:self.reloadLab];
  282 + }
  283 + return _reloadBtn;
  284 +}
  285 +
  286 +- (UILabel *)reloadLab
  287 +{
  288 + if (!_reloadLab) {
  289 + _reloadLab = [self getReloadLab];
  290 + _reloadLab.frame = CGRectMake(0, self.view.height/2+30, self.view.width, 20);
  291 + }
  292 + return _reloadLab;
  293 +}
  294 +
  295 +// ------------------------------------------分割线---------------------------------------------------
  296 +
  297 +- (nonnull UIButton *)getReloadBtn
  298 +{
  299 + UIButton *reloadBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  300 + reloadBtn.frame = CGRectMake(0, 0, 200, 200);
  301 + [reloadBtn setImage:[UIImage imageNamed:@"load_04"] forState:UIControlStateNormal];
  302 + [reloadBtn setImage:[UIImage imageNamed:@"load_04"] forState:UIControlStateHighlighted];
  303 + return reloadBtn;
  304 +}
  305 +
  306 +- (nonnull UILabel *)getReloadLab
  307 +{
  308 + UILabel *reloadLab = [[UILabel alloc] initWithFrame:CGRectMake(0, 130, 200, 20)];
  309 + reloadLab.textAlignment = NSTextAlignmentCenter;
  310 + reloadLab.textColor = [UIColor colorWithHexString:@"bdbcbc"];
  311 + return reloadLab;
  312 +}
  313 +
242 - (void)didReceiveMemoryWarning { 314 - (void)didReceiveMemoryWarning {
243 [super didReceiveMemoryWarning]; 315 [super didReceiveMemoryWarning];
244 // Dispose of any resources that can be recreated. 316 // Dispose of any resources that can be recreated.
LiveVideoCloud/PrefixHeader.pch
@@ -31,6 +31,10 @@ @@ -31,6 +31,10 @@
31 #import <CNLiveChatManager/CNLiveChatManager.h> 31 #import <CNLiveChatManager/CNLiveChatManager.h>
32 #import "V8HorizontalPickerView.h" 32 #import "V8HorizontalPickerView.h"
33 #import "MHPagingScrollView.h" 33 #import "MHPagingScrollView.h"
  34 + #import "LVCHomePageListModel.h"
  35 + #import "LVCBannerAndMarqueeModel.h"
  36 +#include "LVCChannelDetailModel.h"
  37 +#import "LVCBqWqXgModel.h"
34 38
35 #import <CNLiveUserSystemSDK/CNLiveUserSystemCenter.h> 39 #import <CNLiveUserSystemSDK/CNLiveUserSystemCenter.h>
36 40
@@ -86,6 +90,9 @@ @@ -86,6 +90,9 @@
86 #define UserAppKey @"13c6f0ad6f459cd479834b0b39cff99c6cf20c970815bb" 90 #define UserAppKey @"13c6f0ad6f459cd479834b0b39cff99c6cf20c970815bb"
87 #define UserAppSceret @"14c887b76ec2ecdf7083fb4c62808f13f6ab77a0f9dfec" 91 #define UserAppSceret @"14c887b76ec2ecdf7083fb4c62808f13f6ab77a0f9dfec"
88 92
  93 +#define JBAppId @"hdtv"
  94 +#define JBAppVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] ///debug用 "CFBundleVersion"
  95 +
89 //#define UserAppId @"60_itax25eq82" 96 //#define UserAppId @"60_itax25eq82"
90 //#define UserAppKey @"55a25a7f7e1124937fba06c82999d9a7c18379e2d24784" 97 //#define UserAppKey @"55a25a7f7e1124937fba06c82999d9a7c18379e2d24784"
91 //#define UserAppSceret @"29798eea30388f71d4a33b75d308c3cbb47077d56ce680" 98 //#define UserAppSceret @"29798eea30388f71d4a33b75d308c3cbb47077d56ce680"
LiveVideoCloud/UtilKits/Common.h
@@ -172,7 +172,11 @@ static NSString *const Market = @&quot;http://data.cnlive.com/expo @@ -172,7 +172,11 @@ static NSString *const Market = @&quot;http://data.cnlive.com/expo
172 static NSString *const AllChannellist = @"http://intertv.cnlive.com/zgw/api/channellist"; 172 static NSString *const AllChannellist = @"http://intertv.cnlive.com/zgw/api/channellist";
173 173
174 //首页信息 174 //首页信息
175 -static NSString *const Appindex = @"http://app.jczb.cnlive.com/api/appindex"; 175 +//static NSString *const Appindex = @"http://app.jczb.cnlive.com/api/appindex";
  176 +static NSString *const Appindex = @"http://intertv.cnlive.com/zgw_sp/api/appindex";
  177 +
  178 +//推荐
  179 +static NSString *const Appindexpage = @"http://intertv.cnlive.com/zgw/api/appindexpage";
176 180
177 //直播更多 181 //直播更多
178 static NSString *const Catprogramlist = @"http://app.jczb.cnlive.com/api/catprogramlist"; 182 static NSString *const Catprogramlist = @"http://app.jczb.cnlive.com/api/catprogramlist";