From 13749cb17a0a32ce59a91b7950bf74b393d22a6f Mon Sep 17 00:00:00 2001 From: Sunnyyoung Date: Sun, 19 Jul 2015 17:44:16 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8EMeizi=202.0=20Released!!!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Meizi.xcodeproj/project.pbxproj | 12 ++-- Meizi/AppDelegate.m | 13 ++++ Meizi/Base.lproj/Main.storyboard | 57 ++++++++++++++- Meizi/Constant.h | 25 +++---- .../Cancel.imageset/Cancel.pdf | Bin 0 -> 4115 bytes .../Cancel.imageset/Contents.json | 12 ++++ .../GoBack.imageset/Contents.json | 12 ++++ .../GoBack.imageset/GoBack.pdf | Bin 0 -> 4629 bytes .../GoForward.imageset/Contents.json | 12 ++++ .../GoForward.imageset/GoForward.pdf | Bin 0 -> 4602 bytes .../PlaceholderImage.imageset/Contents.json | 23 ------ .../PlaceholderImage.png | Bin 4882 -> 0 bytes .../PlaceholderImage@2x.png | Bin 15948 -> 0 bytes .../PlaceholderImage@3x.png | Bin 31413 -> 0 bytes .../Refresh.imageset/Contents.json | 12 ++++ .../Refresh.imageset/Refresh.pdf | Bin 0 -> 4514 bytes Meizi/PrefixHeader.pch | 1 - Meizi/SearchViewController.m | 4 +- Meizi/TopicViewController.m | 8 +-- Meizi/WebViewController.h | 13 ++-- Meizi/WebViewController.m | 66 ++++++++++++++---- Podfile | 3 +- Podfile.lock | 17 ++--- 23 files changed, 210 insertions(+), 80 deletions(-) create mode 100644 Meizi/Images.xcassets/Cancel.imageset/Cancel.pdf create mode 100644 Meizi/Images.xcassets/Cancel.imageset/Contents.json create mode 100644 Meizi/Images.xcassets/GoBack.imageset/Contents.json create mode 100644 Meizi/Images.xcassets/GoBack.imageset/GoBack.pdf create mode 100644 Meizi/Images.xcassets/GoForward.imageset/Contents.json create mode 100644 Meizi/Images.xcassets/GoForward.imageset/GoForward.pdf delete mode 100644 Meizi/Images.xcassets/PlaceholderImage.imageset/Contents.json delete mode 100644 Meizi/Images.xcassets/PlaceholderImage.imageset/PlaceholderImage.png delete mode 100644 Meizi/Images.xcassets/PlaceholderImage.imageset/PlaceholderImage@2x.png delete mode 100644 Meizi/Images.xcassets/PlaceholderImage.imageset/PlaceholderImage@3x.png create mode 100644 Meizi/Images.xcassets/Refresh.imageset/Contents.json create mode 100644 Meizi/Images.xcassets/Refresh.imageset/Refresh.pdf diff --git a/Meizi.xcodeproj/project.pbxproj b/Meizi.xcodeproj/project.pbxproj index c0b9554..242fb48 100644 --- a/Meizi.xcodeproj/project.pbxproj +++ b/Meizi.xcodeproj/project.pbxproj @@ -26,13 +26,13 @@ 7D7510B01B5672DE003CAF34 /* TopicRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D7510AF1B5672DE003CAF34 /* TopicRequest.m */; }; 7D7510B31B5673B0003CAF34 /* Topic.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D7510B21B5673B0003CAF34 /* Topic.m */; }; 7D7510B61B56767C003CAF34 /* TopicTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D7510B51B56767C003CAF34 /* TopicTableViewCell.m */; }; - 7D8A0AA41B58AA83001EDD42 /* WebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D8A0AA31B58AA83001EDD42 /* WebViewController.m */; }; 7D8A0AA81B58B482001EDD42 /* SettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D8A0AA71B58B482001EDD42 /* SettingViewController.m */; }; 7D93B84F1ACFD7CF00453452 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D93B84E1ACFD7CF00453452 /* main.m */; }; 7D93B8521ACFD7CF00453452 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D93B8511ACFD7CF00453452 /* AppDelegate.m */; }; 7D93B8581ACFD7CF00453452 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7D93B8561ACFD7CF00453452 /* Main.storyboard */; }; 7D93B85A1ACFD7CF00453452 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7D93B8591ACFD7CF00453452 /* Images.xcassets */; }; 7D93B87C1ACFDD2900453452 /* Meizi.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D93B87B1ACFDD2900453452 /* Meizi.m */; }; + 7DFF243D1B5B95800069BB4D /* WebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DFF243C1B5B95800069BB4D /* WebViewController.m */; }; E07A9DDEC7193BA0132EB02F /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 77EACF44A594DBA190E5C5FF /* libPods.a */; }; /* End PBXBuildFile section */ @@ -79,8 +79,6 @@ 7D7510B21B5673B0003CAF34 /* Topic.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Topic.m; sourceTree = ""; }; 7D7510B41B56767C003CAF34 /* TopicTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TopicTableViewCell.h; sourceTree = ""; }; 7D7510B51B56767C003CAF34 /* TopicTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TopicTableViewCell.m; sourceTree = ""; }; - 7D8A0AA21B58AA83001EDD42 /* WebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewController.h; sourceTree = ""; }; - 7D8A0AA31B58AA83001EDD42 /* WebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebViewController.m; sourceTree = ""; }; 7D8A0AA61B58B482001EDD42 /* SettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingViewController.h; sourceTree = ""; }; 7D8A0AA71B58B482001EDD42 /* SettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SettingViewController.m; sourceTree = ""; }; 7D93B8491ACFD7CF00453452 /* Meizi.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Meizi.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -93,6 +91,8 @@ 7D93B8761ACFDA1F00453452 /* Constant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Constant.h; sourceTree = ""; }; 7D93B87A1ACFDD2900453452 /* Meizi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Meizi.h; sourceTree = ""; }; 7D93B87B1ACFDD2900453452 /* Meizi.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Meizi.m; sourceTree = ""; }; + 7DFF243B1B5B95800069BB4D /* WebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewController.h; sourceTree = ""; }; + 7DFF243C1B5B95800069BB4D /* WebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebViewController.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -312,8 +312,8 @@ 7D8A0AAD1B58B783001EDD42 /* WebView */ = { isa = PBXGroup; children = ( - 7D8A0AA21B58AA83001EDD42 /* WebViewController.h */, - 7D8A0AA31B58AA83001EDD42 /* WebViewController.m */, + 7DFF243B1B5B95800069BB4D /* WebViewController.h */, + 7DFF243C1B5B95800069BB4D /* WebViewController.m */, ); name = WebView; sourceTree = ""; @@ -500,7 +500,7 @@ 7D7510971B5652DA003CAF34 /* Groups.m in Sources */, 7D7510B01B5672DE003CAF34 /* TopicRequest.m in Sources */, 7D4375F31B5520AF001CEBC9 /* RankRequest.m in Sources */, - 7D8A0AA41B58AA83001EDD42 /* WebViewController.m in Sources */, + 7DFF243D1B5B95800069BB4D /* WebViewController.m in Sources */, 7D4375E81B550BC6001CEBC9 /* MeiziCell.m in Sources */, 7D4375FD1B552695001CEBC9 /* GroupsViewController.m in Sources */, 7D4375E51B5508D3001CEBC9 /* MeiziRequest.m in Sources */, diff --git a/Meizi/AppDelegate.m b/Meizi/AppDelegate.m index 9d15f1c..29a160c 100644 --- a/Meizi/AppDelegate.m +++ b/Meizi/AppDelegate.m @@ -11,9 +11,22 @@ @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + + //Set Background Color self.window.backgroundColor = [UIColor whiteColor]; + + //Set Network [AFNetworkActivityIndicatorManager sharedManager].enabled = YES; [YTKNetworkConfig sharedInstance].baseUrl = BaseURL; + + //Set UserAgent + NSDictionary *userAgent = @{@"UserAgent": @"Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4"}; + [[NSUserDefaults standardUserDefaults] registerDefaults:userAgent]; + + //Set SVProgressHUD + [SVProgressHUD setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.9]]; + [SVProgressHUD setForegroundColor:[UIColor whiteColor]]; + return YES; } diff --git a/Meizi/Base.lproj/Main.storyboard b/Meizi/Base.lproj/Main.storyboard index 68836c1..b804dd4 100644 --- a/Meizi/Base.lproj/Main.storyboard +++ b/Meizi/Base.lproj/Main.storyboard @@ -382,7 +382,7 @@ - + @@ -390,8 +390,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -643,6 +694,8 @@ + + @@ -650,7 +703,7 @@ - + diff --git a/Meizi/Constant.h b/Meizi/Constant.h index 8d97c2a..9ff992c 100644 --- a/Meizi/Constant.h +++ b/Meizi/Constant.h @@ -12,19 +12,19 @@ #define SCREEN_WIDTH CGRectGetWidth([UIApplication sharedApplication].keyWindow.bounds) #define SCREEN_HEIGHT CGRectGetHeight([UIApplication sharedApplication].keyWindow.bounds) -static NSString * const BaseURL = @"http://api.xiaojianjian.net"; +static NSString * const BaseURL = @"http://api.xiaojianjian.net"; -static NSString * const Meizi_All = @"0"; -static NSString * const Meizi_DaXiong = @"2"; -static NSString * const Meizi_QiaoTun = @"6"; -static NSString * const Meizi_HeiSi = @"7"; -static NSString * const Meizi_MeiTui = @"3"; -static NSString * const Meizi_QingXin = @"4"; -static NSString * const Meizi_ZaHui = @"5"; +static NSString * const Meizi_All = @"0"; +static NSString * const Meizi_DaXiong = @"2"; +static NSString * const Meizi_QiaoTun = @"6"; +static NSString * const Meizi_HeiSi = @"7"; +static NSString * const Meizi_MeiTui = @"3"; +static NSString * const Meizi_QingXin = @"4"; +static NSString * const Meizi_ZaHui = @"5"; -static NSString * const DoubanGroupURL= @"http://www.douban.com/group/"; -static NSString * const DoubanTopicURL= @"http://www.douban.com/group/topic/"; -static NSString * const DBMeiNvTopicURL = @"http://www.dbmeinv.com/dbgroup/app/topic_detail.htm?id="; +static NSString * const DoubanGroupURL = @"http://www.douban.com/group/"; +static NSString * const DoubanTopicURL = @"http://www.douban.com/group/topic/"; +static NSString * const DoubanPeopleURL = @"http://www.douban.com/group/people/"; #endif @@ -43,4 +43,5 @@ static NSString * const DBMeiNvTopicURL = @"http://www.dbmeinv.com/dbgroup/app/t // //- 精选: queryType = rank & pageIndex = 1 //- 小组: m = groups -//- 搜妹: m = topic_users & key = 关键词 & pageIndex = 1 \ No newline at end of file +//- 搜妹: m = topic_users & key = 关键词 & pageIndex = 1 +//static NSString * const DBMeinvTopicURL = @"http://www.dbmeinv.com/dbgroup/app/topic_detail.htm?id="; diff --git a/Meizi/Images.xcassets/Cancel.imageset/Cancel.pdf b/Meizi/Images.xcassets/Cancel.imageset/Cancel.pdf new file mode 100644 index 0000000000000000000000000000000000000000..027a7325158784f302be3361ea992c2bcbab42e9 GIT binary patch literal 4115 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 literal 0 HcmV?d00001 diff --git a/Meizi/Images.xcassets/Cancel.imageset/Contents.json b/Meizi/Images.xcassets/Cancel.imageset/Contents.json new file mode 100644 index 0000000..9202ed2 --- /dev/null +++ b/Meizi/Images.xcassets/Cancel.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "Cancel.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Meizi/Images.xcassets/GoBack.imageset/Contents.json b/Meizi/Images.xcassets/GoBack.imageset/Contents.json new file mode 100644 index 0000000..50d6ffc --- /dev/null +++ b/Meizi/Images.xcassets/GoBack.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "GoBack.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Meizi/Images.xcassets/GoBack.imageset/GoBack.pdf b/Meizi/Images.xcassets/GoBack.imageset/GoBack.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5b403a199ddb287e1e8dcad14267495ddf88e1ac GIT binary patch literal 4629 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 aO@6wYJC5ucKVAq7A_fQY@F-{~0{;UuuKLvg literal 0 HcmV?d00001 diff --git a/Meizi/Images.xcassets/PlaceholderImage.imageset/Contents.json b/Meizi/Images.xcassets/PlaceholderImage.imageset/Contents.json deleted file mode 100644 index ae4c0f4..0000000 --- a/Meizi/Images.xcassets/PlaceholderImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x", - "filename" : "PlaceholderImage.png" - }, - { - "idiom" : "universal", - "scale" : "2x", - "filename" : "PlaceholderImage@2x.png" - }, - { - "idiom" : "universal", - "scale" : "3x", - "filename" : "PlaceholderImage@3x.png" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Meizi/Images.xcassets/PlaceholderImage.imageset/PlaceholderImage.png b/Meizi/Images.xcassets/PlaceholderImage.imageset/PlaceholderImage.png deleted file mode 100644 index 60582fad91bcd87eb0f91e0f74bec292fdba7a81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4882 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 diff --git a/Meizi/Images.xcassets/Refresh.imageset/Contents.json b/Meizi/Images.xcassets/Refresh.imageset/Contents.json new file mode 100644 index 0000000..e460978 --- /dev/null +++ b/Meizi/Images.xcassets/Refresh.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "Refresh.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Meizi/Images.xcassets/Refresh.imageset/Refresh.pdf b/Meizi/Images.xcassets/Refresh.imageset/Refresh.pdf new file mode 100644 index 0000000000000000000000000000000000000000..29fdecae58d7f945d0cc16fffc99c75e3b0c6c80 GIT binary patch literal 4514 zcmai&2{@E(7soAA7(^u^@gz$MGiJsz#n{F&sSwH7$IRFn*{Mln$(B7^NJ`0CR3b#S z(rd_`EosQUW?#OU-um9&_j|AFd#>l2=brPN``qWc@AIGQcScMfttBlh0|$%MQx~aI zkCyJW)i;6>02CnEID(aw0LVF_tDUDkAV)J@1Rz=t&Ynbf+S3{5NkkLzBmxmYp}-!V z?nImm*q6~IQP-76jU#lG9ASFgVC~ZN0;HO;pf!j|5(pWv`r`Bb0X$BhH*ftD^;v+5 zWn+ggzlb5aGweJ}@5{m_L35)uQ>A1%XfR`B_R1hxNG0r>XHqQ;bLpi@hGLwY;Y_8k zoa6}wS<8=vxLjc}1<_s3IfBJB-t?1^93m}pIIhY@i@D8XMT+_>5~~Wsu`}N`(+6TP z*oOB$r-BRw?2I-=#uFEsKL_h@H=IFdK9rQ2o1KqS`lCE{aC@-&N^QS&y3O>?EiNU= zJx5ve3>CJD^Z3Oz>=xW_#iYwgWAd^7%`Z%yG(Cyxk&>zJ#*cVxzz}z&${|TDJrB&{mGr!0#gg-0nU@19o(hJnR0bw*ex}x zd4De3HEGDI(sq`yQ#=}cHl!d~y;3gPKD+KN+=Mrm#@u@|UEbz}I|5~Lw~>WuHWEJ9+`VCizz z?oB#T!7Y`6{AA|Ud0u@U9iwOzl18D6_+QyI!EVL7w}5k%sDR*n_!|V;b+CuMs%Uj)j@wMAmH?u^damw4H@~l5dnxk z&hE#jJJHn>fd8qdi$o8Smph*50m%Pp&>*>b(%yRjbPdu3cb-Uaz^Rjb0W&Dg07C#U zm<5=oxSy-gXZ=#DzB>tTNc05EXiK5B01E)3L2@R!8@l1}M1U@34G&pB;YU~$imuw9 zF%*A`@l)-{A6}3Pv@{`Vbj7>U?3Xkq7`x-RN9*v!!SdV<| zzAtheX`jj9n``$q0u+w1$=%VWI1W+se)Uo0k^Erzx3gQJL6b=jj4S6)(ezsA>Aq z((0s33}r5RRjDHddUF87;vR;wp}R{$q0W}^^ojn+{oMcXYQ`pQ3BE7E( zMXsi{%x)T=$>mcCJdQa8Cu&l2ALZ(zKYZZWmrNmSuX68>zCk+t@$RkE-K;l!3nAYw z8GK7*3l6uh3{eU+iIpLMg9Exo0uIYdu<&2caN@D|vSJ{IAoa^JEX^ck294v)qOL0b zOynsuZdq`1^=tdWxMGhOnE%fBhA_K%gzLyTH4($H6^mr{E2^8}ksr5PU<2oB0m2j1H57D(IOSs+R$*Cfm#Cebdp6p)=6G4Rj$$ z-fgcr=<*v*H+GI2+N$8tT3smPP@n^A&^-5{`)W^Oc^`14s&{iAF=h4BP}5iBVQ$a} zkL8Y6U2hYAeE8(eC)pbM%FD++1u9rAZf@LTX#)^@w;9R7`%{=YaGbpiFK+aeoDpQz zu50;>_C0i$h3`%O$k}pU)V`N>d?QEZ8Kgq2>JnI0n^~FLwM@A9IQm zdBBvXnHIb6!I4+dI&oLNGVcw`#-$wQZR8&f!$ytR7~{Ha&O*CV@F~XU_{QXIx#5B9 zK@V-Zp5~fJ6sUN!$?s2(maaFpj?pxUcCA{}(~G>*a^dVXksTpqE@d zQI$8Q-g1tJFZjMbIm9y;#8vAtZ*%QfH8?;pKxjBdxUohemdzC86vTDx4j}3*YQ!zT zI?lQsyuS`%5cpWnQzVqzuio57^6BkfwbvLy@e2t&m{3u^i=vXLWr0Q*M-dBgW$~(G z3GYr5wA~M5RW0?3M6&=ZF|K$O{lpXEJbGsZHP!nrAkV&1^;7lJczBWXv1_Nvlaz`K zQ@tuQ`79Ztod8c>N*;Yzn2;amlr)umRZK6jC)p?2N+wIf>R7H5iD!jt`7~c|b2ub)w{>*u!H2>KzaLK9-lA zFFXB-_z8McTj9ZGN5VwIvhcU6Wj3N1(TsY6Do7QemcGBZw+?E(2EWMvFe)LcGAd>X zG4_fwO6iv`cCg%iEt#}_()HxEB#|WBB*vteC+9Aax_G)Wp13^G>x4RrJK`Ms95=gU z@}nt_C_b5#3@gO$*R8P0l8SKu@(suDZzq)}69m!(ss;E3E(s(f8s+%YT+`mAQPai| zO=b3`?9V}_RMYY2me8cs*$+mxVx^JD?82g%N7C)62ZQ;_h4{y%CU!X&N?Q+F#LJi| zsJ%3QY3QS_rwcKGSQQ)0WupwT3bP*6XxEqpynoXMe6o&IORs&L9g$sw%f#i3;Ez9v z%WprKW14fOQ4#;*O2h(c)J(i2JOdMtiGFw9u(xx_$hv}3M&WQ8vlmC?%T+erFB!mM z3$(iLA>S%BU(4}JUq8jJ9BC4n!8^!nB{d^uC_N=5jFrUhF>xuIEZKPbsXoog0#9xV zbsWW)w&o6wJul3Y9`>%8A)iUJC>i9fyiiG5*|#FHDZVMoq8#QMR<&=n*VFq%WiYvG z|J1jU^45i@Q5K1-5>GoYkA^d_t&**rtvT!*eDi#r(udvKuZ)xny2r^7WTLEm-Lg9` z^(T#*PHlWR-xEFVUGGvq*sI*PUA}pWOP4E7JF+S9QNp+Yh28R2a`EN3%f&C_S8e7T z=N_R>qry?qsDsts)%j$|8g83u+k0bhsb_wCqi0hOqzEct`v!gh(gGQ?px9w-2ljY@ z-qteKRt5<}K3a*Ick(i+Z)tdkD6z?LSRC5$I4mQDC=j3aE5GD>-PZ>sZKH|SsISzC zY5v%(9U0B5%j=`{PP;*~OZ&X$Rn25g-DDFfZ0T36DAOn)SD9D%$f2vE-tKv;9|v{A zMyJ1kM`vZ==66b`Ke<1r=Cx3YVy$YiS568Y5k5N1y&Hb8E{}SyXxZwO4;9ptP#Lxv zKi+t1JbJ-mjkpyDN)CP&+>TDJw+P2$iZF*TqfB~g&p&%Tvsw)NnwJ=xm?H_#YtQ?` zA-HUed*j-qxvg#gOMufR z2Dxe`bUV6Rs50}8)%10TiRW`JRTFNd+jm9_Z&&Xjk8fCPLWWi<$kf}r8Aq5S_ioI} zRA1e-98jJh4{f)zz&MeqEfiswbo;sSG7ESug98Fddn^* zv|IzSo3vi6_jV5@k8(<@OlwlRP@5999yRFybh%-^B`UdNG^9py=f!GLdw$k+pUo;e zn|Jl|PVG~vDrbitS0gvNS6s#k-@bPEILzffiWthTR#^$$&fdf?H^og%>#gY}Wksv_ zTw~i>^c8op9UEQ^UiufRrc>w-l$Mu;{eo3GztU|q$i--AsN+0{1b_~(7Xgc3E_Ag1 z#l(M+x5vM;G#!$?Xgn?pKy)1l9yEBSgF7wSZ-6XINAJH!)WCV-oJn?nLcPaNn*R%_ zWo3WPIB_0_2lNa96F?R!L%R`xffvr*(;uJ_`VZ9i^_2XTx9qQ$;RO0L3@R%JRggtO z73CCRNK+_Of_DGq`CC3T>L+;NX+8OmHEA7#2CWtMbRfB+>B#;gCcTXy5q|&vSEj!1 zL|ZTvkcESx|GfZtIXSo-U<>@TA)qi?YV-?m{bi#k_D>sJ0ZHpe{^9qpbK$h3{f8e? zp0>+>x4{+UY5Vwhn=BOeFY6-y#}BTkKr5BM&xIpl|6)`8ZCy`yoP#sb{l_04h7SI; z{i8KN7fB>qeb8%wwviZDTN15U{v4xe<)Vay(oRVphesmuwhD4^9D#sDD9Fo06%-Yr h2)rB)1^)jof0mnvC#^Jo90&r6Q~-;KY3gZ#{{we_x(@&V literal 0 HcmV?d00001 diff --git a/Meizi/PrefixHeader.pch b/Meizi/PrefixHeader.pch index 618a756..3412e54 100644 --- a/Meizi/PrefixHeader.pch +++ b/Meizi/PrefixHeader.pch @@ -17,7 +17,6 @@ #import #import #import -#import #import #import "Constant.h" diff --git a/Meizi/SearchViewController.m b/Meizi/SearchViewController.m index 6506fca..9d48838 100644 --- a/Meizi/SearchViewController.m +++ b/Meizi/SearchViewController.m @@ -111,9 +111,11 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + [tableView deselectRowAtIndexPath:indexPath animated:YES]; Result *result = [self.resultArray objectAtIndex:indexPath.row]; + NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@/", DoubanPeopleURL, result.c_user_id]]; [self performSegueWithIdentifier:@"toWebViewSection" sender:@{@"title": result.c_nick_name, - @"url": [NSURL URLWithString:result.c_people_url]}]; + @"url": url}]; } #pragma mark - SearchBar Delegate diff --git a/Meizi/TopicViewController.m b/Meizi/TopicViewController.m index 83837a9..962d97b 100644 --- a/Meizi/TopicViewController.m +++ b/Meizi/TopicViewController.m @@ -113,11 +113,10 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; Topic *topic = [self.topicArray objectAtIndex:indexPath.row]; - NSURL *url = [NSURL URLWithString:[DBMeiNvTopicURL stringByAppendingString:@(topic.topic_id).stringValue]]; -// KINWebBrowserViewController *webViewController = [KINWebBrowserViewController webBrowser]; -// [self.navigationController pushViewController:webViewController animated:YES]; -// [webViewController loadURL:url]; + NSString *referer = [DoubanGroupURL stringByAppendingString:topic.douban_group_id]; + NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@/", DoubanTopicURL, @(topic.douban_topic_id)]]; [self performSegueWithIdentifier:@"toWebViewSection" sender:@{@"title": topic.topic_title, + @"referer": referer, @"url": url}]; } @@ -126,6 +125,7 @@ - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { WebViewController *webViewController = segue.destinationViewController; webViewController.title = sender[@"title"]; webViewController.url = sender[@"url"]; + webViewController.referer = sender[@"referer"]; } } diff --git a/Meizi/WebViewController.h b/Meizi/WebViewController.h index d64016d..af10d8a 100644 --- a/Meizi/WebViewController.h +++ b/Meizi/WebViewController.h @@ -2,14 +2,19 @@ // WebViewController.h // Meizi // -// Created by Sunnyyoung on 15/7/17. +// Created by Sunnyyoung on 15/7/19. // Copyright (c) 2015年 Sunnyyoung. All rights reserved. // -#import +#import -@interface WebViewController : KINWebBrowserViewController +@interface WebViewController : UIViewController -@property (nonatomic, copy) NSURL *url; +@property (weak, nonatomic) IBOutlet UIBarButtonItem *goBackButton; +@property (weak, nonatomic) IBOutlet UIBarButtonItem *goForwardButton; + +@property (nonatomic, strong) NSURL *url; +@property (nonatomic, copy) NSString *referer; +@property (weak, nonatomic) IBOutlet UIWebView *webView; @end diff --git a/Meizi/WebViewController.m b/Meizi/WebViewController.m index 5d34b88..b6bf7e8 100644 --- a/Meizi/WebViewController.m +++ b/Meizi/WebViewController.m @@ -2,34 +2,76 @@ // WebViewController.m // Meizi // -// Created by Sunnyyoung on 15/7/17. +// Created by Sunnyyoung on 15/7/19. // Copyright (c) 2015年 Sunnyyoung. All rights reserved. // #import "WebViewController.h" -@interface WebViewController () +@interface WebViewController () @end @implementation WebViewController -- (instancetype)initWithCoder:(NSCoder *)aDecoder { - self = [super init]; - if (self) { - self.delegate = self; +- (void)viewDidLoad { + [super viewDidLoad]; + self.webView.scrollView.contentInset = UIEdgeInsetsMake(0, 0, 44, 0); + [SVProgressHUD showWithStatus:@"加载中"]; + [self.webView loadRequest:[NSURLRequest requestWithURL:self.url]]; +} + +- (void)viewDidDisappear:(BOOL)animated { + [super viewDidDisappear:animated]; + [SVProgressHUD dismiss]; +} + +#pragma mark UIWebView Delegate +- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { + NSLog(@"%@", request.URL.absoluteString); + NSDictionary *headers = [request allHTTPHeaderFields]; + BOOL hasReferer = [headers objectForKey:@"Referer"] != nil; + if (!hasReferer) { + // relaunch with a modified request + __weak typeof(self) weakSelf = self; + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + dispatch_async(dispatch_get_main_queue(), ^{ + NSURL *url = [request URL]; + NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url]; + [request setHTTPMethod:@"GET"]; + [request setValue:weakSelf.referer?:@"" forHTTPHeaderField: @"Referer"]; + [weakSelf.webView loadRequest:request]; + }); + }); + return NO; + } else { + return YES; } - return self; } -- (void)viewDidLoad { - [super viewDidLoad]; - [self loadURL:self.url]; +- (void)webViewDidStartLoad:(UIWebView *)webView { + [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; } -- (void)webBrowser:(KINWebBrowserViewController *)webBrowser didFinishLoadingURL:(NSURL *)URL { - if (webBrowser.wkWebView) { +- (void)webViewDidFinishLoad:(UIWebView *)webView { + [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; + //Enable the ToolBar buttons + if (!self.goBackButton.isEnabled || !self.goForwardButton.isEnabled) { + self.goBackButton.enabled = YES; + self.goForwardButton.enabled = YES; + } + NSString *htmlString = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]; + if ([htmlString containsString:@"你想要的东西不在这儿"]) { + [self.navigationController popViewControllerAnimated:YES]; + [SVProgressHUD showErrorWithStatus:@"帖子已经被删除啦~"]; + } else { + [SVProgressHUD dismiss]; } } +- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { + [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; + [SVProgressHUD showErrorWithStatus:@"加载失败"]; +} + @end diff --git a/Podfile b/Podfile index ba899e3..4912455 100644 --- a/Podfile +++ b/Podfile @@ -10,5 +10,4 @@ pod 'NHBalancedFlowLayout' pod 'UIActivityIndicator-for-SDWebImage' pod 'HMSegmentedControl' pod 'YTKNetwork' -pod 'MWPhotoBrowser' -pod 'KINWebBrowser' \ No newline at end of file +pod 'MWPhotoBrowser' \ No newline at end of file diff --git a/Podfile.lock b/Podfile.lock index 1537d7e..b480a12 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -22,15 +22,11 @@ PODS: - AFNetworking/UIKit (2.5.4): - AFNetworking/NSURLConnection - AFNetworking/NSURLSession - - ARChromeActivity (1.0.2) - DACircularProgress (2.3.1) - HMSegmentedControl (1.5.2) - - KINWebBrowser (1.2.5): - - ARChromeActivity (= 1.0.2) - - TUSafariActivity (= 1.0.2) - MBProgressHUD (0.9.1) - - MJExtension (2.5.0) - - MJRefresh (2.2.1) + - MJExtension (2.5.2) + - MJRefresh (2.3.1) - MWPhotoBrowser (2.1.1): - DACircularProgress (~> 2.3) - MBProgressHUD (~> 0.9) @@ -40,7 +36,6 @@ PODS: - SDWebImage/Core (= 3.7.3) - SDWebImage/Core (3.7.3) - SVProgressHUD (1.1.3) - - TUSafariActivity (1.0.2) - UIActivityIndicator-for-SDWebImage (1.2): - SDWebImage (~> 3.7) - YTKNetwork (0.5.0): @@ -50,7 +45,6 @@ PODS: DEPENDENCIES: - AFNetworking - HMSegmentedControl - - KINWebBrowser - MJExtension - MJRefresh - MWPhotoBrowser @@ -63,18 +57,15 @@ DEPENDENCIES: SPEC CHECKSUMS: AFDownloadRequestOperation: 748a1643423e1ddb23f2178f778087d4f0ae8ac7 AFNetworking: 05edc0ac4c4c8cf57bcf4b84be5b0744b6d8e71e - ARChromeActivity: 6488aedc8dd0624b103ea8caf6218e52692aaf77 DACircularProgress: 4dd437c0fc3da5161cb289e07ac449493d41db71 HMSegmentedControl: 83b9686022d2176fb6457d2bdb61e5d6393fed7d - KINWebBrowser: 773e75882717d735cc37772cf71d5eb2b28554fe MBProgressHUD: c47f2c166c126cf2ce36498d80f33e754d4e93ad - MJExtension: 002dbd55e0d66ff0808dc74e014437d25c0220ac - MJRefresh: c3fa0387e8e97a11a9666639d2f815607edd1c2f + MJExtension: 73e812aca0846e4a7b4d7aca34cfacf48d1f3310 + MJRefresh: fa22d5d753aaceb4e76232ce264cb2dca90b323f MWPhotoBrowser: ba0d0c09ffda3a7ea10093518738c502c1c7141c NHBalancedFlowLayout: fd253023c6754e605acdb180d50123e582cc62bb SDWebImage: 1d2b1a1efda1ade1b00b6f8498865f8ddedc8a84 SVProgressHUD: 748080e4f36e603f6c02aec292664239df5279c1 - TUSafariActivity: 32e3e5dc9123e5533a42d41e1c3246d12911a4a2 UIActivityIndicator-for-SDWebImage: 7bf7ebbf0ed1747dedc0d6e949c4603a6d0f9e0c YTKNetwork: 3f163c181ce5f03d52cf88f39d6757f46894280c