From 49f8c6f86c192274984c50f7c28e7c7383b2e69a Mon Sep 17 00:00:00 2001 From: chenguilong <598604202@qq.com> Date: Tue, 27 Sep 2022 15:07:31 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=92=E5=B0=91=E5=B9=B4=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E9=9A=90=E8=97=8F=E9=83=A8=E5=88=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xplan-ios.xcodeproj/project.pbxproj | 24 ++++ .../Contents.json | 22 ++++ .../mine_normal_teenager_open@2x.png | Bin 0 -> 726 bytes .../mine_normal_teenager_open@3x.png | Bin 0 -> 1095 bytes .../mine_teenager_parents_mode_icon@2x.png | Bin 18517 -> 13246 bytes .../mine_teenager_parents_mode_icon@3x.png | Bin 36125 -> 23599 bytes xplan-ios/Base/UI/BaseViewController.h | 2 + xplan-ios/Base/UI/ThemeColor.h | 2 +- xplan-ios/Base/UI/ThemeColor.m | 2 +- xplan-ios/Global/XPConstant.h | 1 + xplan-ios/Global/XPConstant.m | 1 + .../Main/Home/View/XPHomeViewController.m | 26 ++++ .../SessionList/SessionListViewController.m | 38 ++++++ .../View/SubViews/XPMineHeadTeenagerView.h | 16 +++ .../View/SubViews/XPMineHeadTeenagerView.m | 122 ++++++++++++++++++ .../Main/Mine/View/SubViews/XPMineHeadView.h | 2 + .../Main/Mine/View/SubViews/XPMineHeadView.m | 45 +++++++ .../Teenager/XPMineTeenagerViewController.m | 4 +- .../Main/Mine/View/XPMineViewController.m | 25 +++- .../Monents/View/XPMonentsViewController.m | 24 ++++ .../Main/Tabbar/View/TabbarViewController.m | 37 +++++- .../Tabbar/View/Teenager/XPTeenagerHomeView.h | 16 +++ .../Tabbar/View/Teenager/XPTeenagerHomeView.m | 66 ++++++++++ 23 files changed, 464 insertions(+), 11 deletions(-) create mode 100644 xplan-ios/Assets.xcassets/Mine/mine_normal_teenager_open.imageset/Contents.json create mode 100644 xplan-ios/Assets.xcassets/Mine/mine_normal_teenager_open.imageset/mine_normal_teenager_open@2x.png create mode 100644 xplan-ios/Assets.xcassets/Mine/mine_normal_teenager_open.imageset/mine_normal_teenager_open@3x.png create mode 100644 xplan-ios/Main/Mine/View/SubViews/XPMineHeadTeenagerView.h create mode 100644 xplan-ios/Main/Mine/View/SubViews/XPMineHeadTeenagerView.m create mode 100644 xplan-ios/Main/Tabbar/View/Teenager/XPTeenagerHomeView.h create mode 100644 xplan-ios/Main/Tabbar/View/Teenager/XPTeenagerHomeView.m diff --git a/xplan-ios.xcodeproj/project.pbxproj b/xplan-ios.xcodeproj/project.pbxproj index 67f2e85a..91952fd9 100644 --- a/xplan-ios.xcodeproj/project.pbxproj +++ b/xplan-ios.xcodeproj/project.pbxproj @@ -171,8 +171,10 @@ 9B46B91728DDA893000E30DB /* XPHomeRedommendCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B46B91628DDA893000E30DB /* XPHomeRedommendCollectionViewCell.m */; }; 9B4769AD28DB270F00CCD312 /* XPHomePartyNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B4769AC28DB270F00CCD312 /* XPHomePartyNavView.m */; }; 9B4D148127E485EB000AA0C1 /* XPRoomTrumpetView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B4D148027E485EB000AA0C1 /* XPRoomTrumpetView.m */; }; + 9B53D57A28E2CF18005187A3 /* XPTeenagerHomeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B53D57928E2CF18005187A3 /* XPTeenagerHomeView.m */; }; 9B5BF8A827E1BED1005DD346 /* Api+RoomTrumpet.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B5BF8A727E1BED1005DD346 /* Api+RoomTrumpet.m */; }; 9B5F1503280FF02600C3C2B1 /* anchorPk_crossPking.svga in Resources */ = {isa = PBXBuildFile; fileRef = 9B5F1502280FF02600C3C2B1 /* anchorPk_crossPking.svga */; }; + 9B64BCB028E2A3D900778F13 /* XPMineHeadTeenagerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B64BCAF28E2A3D900778F13 /* XPMineHeadTeenagerView.m */; }; 9B6B3AAB278C2EA7005551EC /* XPRoomNobleLevelUpView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B6B3AAA278C2EA7005551EC /* XPRoomNobleLevelUpView.m */; }; 9B6E856A281A982A0041A321 /* XPRoomRecommendView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B6E8569281A982A0041A321 /* XPRoomRecommendView.m */; }; 9B6E856E281AABAB0041A321 /* XPRoomRecommendModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B6E856D281AABAB0041A321 /* XPRoomRecommendModel.m */; }; @@ -1507,10 +1509,14 @@ 9B4769AC28DB270F00CCD312 /* XPHomePartyNavView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPHomePartyNavView.m; sourceTree = ""; }; 9B4D147F27E485EB000AA0C1 /* XPRoomTrumpetView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomTrumpetView.h; sourceTree = ""; }; 9B4D148027E485EB000AA0C1 /* XPRoomTrumpetView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomTrumpetView.m; sourceTree = ""; }; + 9B53D57828E2CF18005187A3 /* XPTeenagerHomeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPTeenagerHomeView.h; sourceTree = ""; }; + 9B53D57928E2CF18005187A3 /* XPTeenagerHomeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPTeenagerHomeView.m; sourceTree = ""; }; 9B5BF8A627E1BED1005DD346 /* Api+RoomTrumpet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Api+RoomTrumpet.h"; sourceTree = ""; }; 9B5BF8A727E1BED1005DD346 /* Api+RoomTrumpet.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Api+RoomTrumpet.m"; sourceTree = ""; }; 9B5BF8A927E1BF45005DD346 /* XPRoomTrumpetProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomTrumpetProtocol.h; sourceTree = ""; }; 9B5F1502280FF02600C3C2B1 /* anchorPk_crossPking.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = anchorPk_crossPking.svga; sourceTree = ""; }; + 9B64BCAE28E2A3D900778F13 /* XPMineHeadTeenagerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineHeadTeenagerView.h; sourceTree = ""; }; + 9B64BCAF28E2A3D900778F13 /* XPMineHeadTeenagerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineHeadTeenagerView.m; sourceTree = ""; }; 9B6B3AA9278C2EA7005551EC /* XPRoomNobleLevelUpView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomNobleLevelUpView.h; sourceTree = ""; }; 9B6B3AAA278C2EA7005551EC /* XPRoomNobleLevelUpView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomNobleLevelUpView.m; sourceTree = ""; }; 9B6E8568281A982A0041A321 /* XPRoomRecommendView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomRecommendView.h; sourceTree = ""; }; @@ -4271,6 +4277,15 @@ path = Cell; sourceTree = ""; }; + 9B53D57728E2CEE8005187A3 /* Teenager */ = { + isa = PBXGroup; + children = ( + 9B53D57828E2CF18005187A3 /* XPTeenagerHomeView.h */, + 9B53D57928E2CF18005187A3 /* XPTeenagerHomeView.m */, + ); + path = Teenager; + sourceTree = ""; + }; 9B6E856B281AAB8B0041A321 /* Model */ = { isa = PBXGroup; children = ( @@ -7369,6 +7384,7 @@ E8B3E8042848B842009746AB /* View */ = { isa = PBXGroup; children = ( + 9B53D57728E2CEE8005187A3 /* Teenager */, 9BFB101C2897CC3300B3985E /* AnchorCard */, 9BFB10172897C95200B3985E /* NewUserRecharge */, 9BE01AF42893E7E000B50299 /* Cell */, @@ -8265,6 +8281,8 @@ E88B5CAA26FB168200DA9178 /* Teenager */, E8E70D8126F2F51A00F03460 /* XPMineHeadView.h */, E8E70D8226F2F51A00F03460 /* XPMineHeadView.m */, + 9B64BCAE28E2A3D900778F13 /* XPMineHeadTeenagerView.h */, + 9B64BCAF28E2A3D900778F13 /* XPMineHeadTeenagerView.m */, E896EFB02771C93B00AD2CC1 /* XPMineFriendNumberView.h */, E896EFB12771C93B00AD2CC1 /* XPMineFriendNumberView.m */, 9B734F71288A787000CBDAA9 /* XPMineAccountView.h */, @@ -9495,6 +9513,7 @@ E8AC723A26F49AAE007D6E91 /* XPMineNotifyStatus.m in Sources */, 18E7B33226F317A20064BC9B /* XPWebViewController.m in Sources */, E8AEAEF927141CA30017FCE0 /* RoomHeaderView.m in Sources */, + 9B53D57A28E2CF18005187A3 /* XPTeenagerHomeView.m in Sources */, E8AB632428AE10310023B0D2 /* XPMoentsTopicListViewController.m in Sources */, E8098CAA282E03B40090B9F0 /* XPMonentsRecommendPresenter.m in Sources */, 9B1B729828002147003FACE9 /* XPMineFansTeamPresenter.m in Sources */, @@ -9638,6 +9657,7 @@ E8A6C28C27CF436300AC7442 /* XPHomeLikeViewController.m in Sources */, E878B8582835F0D300E22DCF /* MonentsInteractiveModel.m in Sources */, 9BCF586227995426008401A4 /* XPSkillCardSelectPropCell.m in Sources */, + 9B64BCB028E2A3D900778F13 /* XPMineHeadTeenagerView.m in Sources */, 9BD2ECCE288F829600F5CD9A /* XPMineFootPrintViewController.m in Sources */, E86A16BF2856D4D5004228B8 /* XPSessionFindNewGreetListView.m in Sources */, E8E70D8F26F2F5DB00F03460 /* XPMineMenuTableViewCell.m in Sources */, @@ -9908,6 +9928,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = "xplan-ios/xplan-ios.entitlements"; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 202205051140; DEVELOPMENT_TEAM = 48UCG35Q9W; @@ -9927,6 +9948,7 @@ MARKETING_VERSION = 4.6.2; PRODUCT_BUNDLE_IDENTIFIER = com.yinyou.enterprise.ios; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; TARGETED_DEVICE_FAMILY = 1; }; name = Debug; @@ -9938,6 +9960,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = "xplan-ios/xplan-iosRelease.entitlements"; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 202205051140; DEVELOPMENT_TEAM = 48UCG35Q9W; @@ -9957,6 +9980,7 @@ MARKETING_VERSION = 4.6.2; PRODUCT_BUNDLE_IDENTIFIER = com.yinyou.enterprise.ios; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; TARGETED_DEVICE_FAMILY = 1; }; name = Release; diff --git a/xplan-ios/Assets.xcassets/Mine/mine_normal_teenager_open.imageset/Contents.json b/xplan-ios/Assets.xcassets/Mine/mine_normal_teenager_open.imageset/Contents.json new file mode 100644 index 00000000..fecc3215 --- /dev/null +++ b/xplan-ios/Assets.xcassets/Mine/mine_normal_teenager_open.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "mine_normal_teenager_open@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "mine_normal_teenager_open@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/xplan-ios/Assets.xcassets/Mine/mine_normal_teenager_open.imageset/mine_normal_teenager_open@2x.png b/xplan-ios/Assets.xcassets/Mine/mine_normal_teenager_open.imageset/mine_normal_teenager_open@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..be88faeb8fd60fd712d974062733d37072de9cca GIT binary patch literal 726 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!ZUp#*xB}^%EA2VgJ9BPy}z0iK!&#i1+%ZV#a=A=|NlQw>d5=^6CN)8_wV12zdz4>yn5x!or|At72N1P z`Qh@0m-|+}*jaM3@4>fc3!ZMOyEFa6@6RuOym|8d<+1k{_Psr|_4VOj|9*e{^Zo6w z4-daRoA_{9`K^iDULT(Qcx~T^TRAiT^ogfM_D8;bYpcAG)5;`b z)Lt*U^)*B9VJE}dUH3C5U9j_?sV}#nBJst-KW~?vyzX@%_<>KWz_Y!!-x|^kkG}MN zpsOP|o6RA%y48NS!A`OJ7K&S{+UA-0EK547(el6Qr&fh=<&T-R{Q0ju1?rdnOFFy8dK?9|qM6Hh-a+I5d{dQH5>wnHJGfRV`H>FVdQ&MBb@0H#!f A)Bpeg literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Mine/mine_normal_teenager_open.imageset/mine_normal_teenager_open@3x.png b/xplan-ios/Assets.xcassets/Mine/mine_normal_teenager_open.imageset/mine_normal_teenager_open@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b978b1bf34c5b3947c8e275b37c2bfa2b57d02 GIT binary patch literal 1095 zcmV-N1i1T&P)&)`jb=r?{*^Ku6`0D!Z$??;&Qvho# z2K^=N`ZFpZ^X1#qTtgf1;lGwq7ZeNX$FGirb`H3IZD>r&z@|Ic)uH;QcuW8Q0?y#>T^9LI4Scfg$}-k|{96(p$;WCl@E6iGzExm1Wt6pZVuR51eyG8b9-37wgc zDkbh?VZ|1{i6=8MI-_XuUirsEHiypRwwMel2gFKQ;Vh3|3VSi%RduNL6ql4geJ%v~ zivoJ;YHhYLXmlpa?ohEkUZWFbo%pkLy@7qK!O}^QK5@~?3H$LkV;xgQ^DQ)m(zhqg zuN_}q82EtE<{etUo-ot7M|*fod{|>TggzA6GgM>n{HFK(G<^zvh+i=mhX)w{=`L8i zrD-3QVOZp9Hg%^DzwAL`U91(@088D8Ki6u+pwk)DK;8Mdy&|{VFm^$J7254%ClZMd zG`NB$wzXi89uboi4A5HN1*%cZ-BPj#NoMLm8fLhT9U7fLa~q%w8N?t0BeZolSdBJu z_jH%smdvq?5UkM!-WkvdT5ijR+;-10&E*i8g0UOsC!L__wzS{~sxZ7j{D3uNcy(by z&2huqZ7>OW;rKEEbG*bZW4{Yp6MMF>P@j(9#!2$Osju*~{P8;m_WXwP^Z1$?g+-*{ zgBi4@zdS9-jfp5amI#aJ1H0U60S0aCXTsqrvb|$9y#Q*ePI6T4UNFX~^AvjfdgAh?*B2Ye(*C+^Y`Knx&6e1&_0K7qL z0AB+^D0l@aC7>W=V@~))3I(L{Acf-Ta)5i_R*Xb*h~qep<2a6E^%w5f^*`Z);NbuO N002ovPDHLkV1iO{JjDP2 literal 0 HcmV?d00001 diff --git a/xplan-ios/Assets.xcassets/Mine/mine_teenager_parents_mode_icon.imageset/mine_teenager_parents_mode_icon@2x.png b/xplan-ios/Assets.xcassets/Mine/mine_teenager_parents_mode_icon.imageset/mine_teenager_parents_mode_icon@2x.png index 7f0304c498fb300d7cef0e31482a09ed40671ab8..1ee4f45829f3c90d9a379c95f972ba663cb8c8d3 100644 GIT binary patch literal 13246 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

C4NWJ_oV>;T zF2%%_&ZlVJp4Q*4b(qrKNHfORoDK`8oG~Q0;}wT+7yOdT8wEMjTNrTtct|)U9yur? zGlrAb4gbR_0dD?%BK^FKz;-x2um5aH&z77}ywd2g$5XXNDSqRhp*OXYfHJqw=iD?k zDe%gNMq3p-os6Xx6};Izg~A5It9R&`c34`yJd~rde=eljgZygN#iMZQH$-?Z#j@v2 zKS_(r-)zvdH=e~h7dVM06e7T-_V*Sc+&9p{jw)hKKv>wp(7@M?SkZlcP3W$(N8l6V zk{&L<*>7*9ET|z_o1{KF&uj(f;OONcLg~RK7h;oa*kQ0~I9!M@I^C+}%fOGES1xQR zXeeH0yov{<61$4C0OO@WYw%5s>YhXAmEe~43olZ>Oo7XfO=`98)y-v5T5$C+sW@=( zQYy5Ggi@cufBKZW*Q7I>9lb`B0>pR1K2Od(ZFOemXce@NdqTTyG&Ld)W$>-qlkz5P z^-P>{X6(gTX)aBL=(MfsLdU>?H>KkU7di&guF9DqiOFr+#)fFE>?7~}coy8x*JkWV zg@U&TyD#7ly@h*fZeACH{XuZjIKwbkG}e)ql&5hlDRDZzlp1^KUnjq8d}OWJY`YpF zC2-o7S#Vi}3UgV;@&(Oo(XXC~EHLrEvu-%F?lJs=eD;-~S2unXBMUA+U0 zpEf0?D+O0L$dOn!ZjQCGAmz#E_>!!?6O-c$8GDm68}0*>(f zE;x~e5DYIPX>|`=&~ga@CI<%x`TkGHgtCgqVm!OfzNg-jMKdQlgs| zGnY(KT~Xns*?n&}*3m%hb97G|6E%_3)|i;fg&D(P>(6_mEJ!;tLhPL4RsCd0+^YS} zuYeLw@US0LH0D;5%6#~mH>z*Zg%%q+9`|V+M?$>8!_Y6bXaP{fzIP*%TXv7jyU(&y zVqrsO#k`N_qF)4g;G|^w*1db$e`A8)?J%O7vfc{R6(Y#A1&eB^kkF%^fej(G&Lf(U zTJ!FT#MUOv_`Z;j7^aYx$}DLa=n`7@vEUSNj%L2xaK@2?!i;0=63If&Zn2^O>O=O%Sjm8ZQc(I19|zQ>A33ZK*usLrcw z=tT(7(1N@=k=zVEEva%Y_o|)8Hx7{5<#{eO5wa=dI-xA}e6U0laW}V8fK`U(xgMn} zUP#qC2(s;pN;?7e%P4G2rpE3`y&T$t1-14dbsHMbl~7^ddADGOd0aSk_CnWWsqEuF z-OkT5P8%~unhzEUVLo?U=rrV>zVMAt5`UX@6Y9YCLeoUWTE4V?xsRh^wUza4)>tH` zw|zf+E^B1+J?NJzhWjlf3}4+NyLobw_Nn9~YQ=+WToz4j^nT?XXFC;%gGo_MSx7xp z*Cps63^-YJ>%1`li0(<_nbFmj~H?xB^VNYZhI1q|ai7?-P7zXh@& zAiw(apKo(`3g`cGr4X1zBV}obxPt>Ljo!r`uRdZeDa|bN_elqWg<2*6;ix-r&5d@$ z9du72^>IF@b!EbhUEi5%EDA8yZ+2BJ;$f7D1eEMYxVgwYIGLCP8QzEdM)K9dUKl|Y z$|L$Cp|NP@#3T;h?N(tRlXhXqUHmI6d-0v>oc}JkSc-pHT;$e_8m46C^v)tesJIK8 zF%@?Bt+fjmWrAdnMFnh!@6A>j-uco_*5kbdClLhJu3V6Z7G9pldEUVB8fMPLvAZ^@ zLJpA6;u-#;f#EN+-`jR!^liXK7=r03>@)>kr474oo-#Al_%Uq2=EA*l8|D9i>X;p;IGrrpn4QBMEnMT@)_VmXdBxATljf8M=9Nr87KB@DJ zc~8Fv+pyW(d?>COD?Ii?RTkOQ3CdVb{rS{soQr*w65&op@ALAXwWX`)f79?CqWC*H zvfy&f=m)%wAITSld>ZFtOW1f9>nyXuesdJRKv$0@*uu*#6ScQH* zI1%+zSG|~l8R2%RelS$= zWMcC8VG`|9aECx|%ME4$s|JeR{cJ!Dy7Uc)6g3~2#E$U=o{BPzD}8cnj@T~sCORR! zrDt!Zlqqdhs|2}A9LmVbTBQ^P3$ko?rB26nLCZvBa;qxWl+9U#{G%iW|B@fa2h#^e zXXF^C5Z(>lbf_@B)rtSaE;D(fUJR1Be4>pznaP;kQg|<5iIJWIen=Yf_|F%E*V*e#_9bnLWn3C_fiz2|4LK~iX5q* z12&~@8Y!<=wSad$nrlN1$Y`H53C)yM9xj^`|NL=t#PAD&XX?+1 zsqx*Ni4XjNz@aLmt(AO%aGYeM@Hp7vJvT@6-vW;L8_m%W{+bdO3T;vLOm?CViBm$v zIZB9N6o_Bi9t2%$jtv!tj^fwNGomus-u-o2M#;h{oGc!^HblzV{o7^0PLN3RC(fzjc9f%^nZtxh8q7Qn#6rXuj?)|Mqs$qXVj=6ho~ zswc;73H{!{u#geZ%UL<;#$@o2Y8W%WFV3*L zEChQ~SF1%$Fj$qxR=|y#>}q>B-UV}blU!Y$x zl4z6XvNMOYgQT<}J^5o9gYBq{AKJ(jFAZs}=Jv3t<=tQ>ACU*FU%?@tmgFq)1A}jz z)`1l?so@v?v_*^1y#0)@?$m&w=`nVJ!NNnmMO^N7RAg|&P3MX9J|Vd`n4d+|S7ACTs3Umr}(O2+V8 zG%pe)^fSIM;cpN&Lf#x&-zx}+-Svw+!)hEer}_nGa9xjG^_B_noEwMnZ_&5q;gKH+ zwpz=ulaz#vI283-A9V*zM@0=kt+0MI4m(UX$XK2xNP8%(a~rpHtqQ94q&P@RM&<#qCwu6QMyAYol$6n%XraWTLuc z@l7DVohDwf4)=R&XI?RsX+iB5=(tVayRj!;~#DXc%p6e!e}h^UEfWBdFA=Py|KNWplHZ z_P}p&_&x32X>(IE`4#Sh%DJ5iS~} zrS7w~WKT_(9_7tsf)1kJbCjN>8NT3fMUUc#=)$GBe`^{ z-2F@s!w1jK&h|&qW!t!(w>cR;5YF%>KjK;radx|NO*(w1upfq!Y2USmS%nCb)Y+ih zl<(>g^rt)Qlx;qoy|c$6npkva3+*kpF`J|(?UW}f;gjJS8Jb7~TM!aUi2X=G-CO8?1wCHD4<@6a zt@P_|Ra~>HT(!O*H6Riq!NMAPwB+|}Ia5=E&s=dPO<%5Brio|ynnUb_K$N{uIH#X? z+3bj7_mqKj*hr_wv;FpCe$`CIs3BaaXVJj zh(zO18bM>|zU0Z=wy|EVj6JY-?`6gAVyBeSJ1{cigll{-wV!7eD}@C|y4cUZAP?G& zi=u>+ruo+TXJhM76+fA6eV22O~P zScBv#_y+vdCLzfl-XBfrPcn^?U5K|VeC*a1CMoihrua#}rA-(CQAFE|@t zu^Hy$u>{wx&3KyXe2B&k!DgBMN!Vldjld=S@JX?n2N5z&&-@67AfEUFApb z374IlqOc5?Y;6}Y{uDXZ@aX5N- zk`o$2_HM?{v}@;ArP=H)EFqX3)$Cdn)s&WJzZI+&dxi!G3-TMS9A}!>3vfBzb?P)2>d{F)HfOO{!38ZsJP&xcEjf~5Zee=#5=kQ z1G7^FgJvq)^ggrda&8aH{4gBDkFxAg6h*+E&m=V6xmhQoc|UQ^LX(4U^gylPVl`0| zQaD3jKcA~DtJ^77f|AtK$mMrQ%33Jy_?H23uXI6ovSCMAExh=Wny{IJYb4jtCgoTs zReGG`?5I2cKDm5ggbH*|00)KUH>p~J=Cb=4uPVbrYDB4R6NczVQmu!tA%x}5e0~-o zI_JcUZlJf?cbrVE9U@SuuNWYHb6kTI`mlZz2>OL0m~PUA_lf(&JALo{KC#&_&qa-* zEUpJ-IQDsihtqt{;nAk>DBBp?MiH&u9?^V6|2;pdS)MGr7@-IPy<;@SJD2l-ITZ#C zsk-b@m-FuyMp9u+{B5wNi=ZG=Ax^uz4Ti>(h2!~7v7mHm`Ew$1nO_#&_aaS#!;hFB(X0I>eHBD!)TSXG!Bjvd&#HPmsHRY#{BIP)^(mN zwABki7RWXwR^#J@`atSzcdLVV$ebkBxEtH|dQH>Yqpk;(5AB`xURy*qd*l2x(FnS( z_5_r)u8XP7`(ffqSLEgp7vq^G&I1j%s&X1bjn?%D{`OG`8sYl;-5Kpr1;H{E3!TtG z54nL|DY)>67#J=gj3QB+^Uj9_`67|X%I|z~zqp2a>d|+|x)~ z1%9NYvm@b!YHe>cwIp8>02RKYRVvHXln5~pxWA2*sMh)dC5JpPH~(w!_n>B8O4x^F zY}tDURnLnDLG39`+Q2SuH?RXH{a23sZ}>_4N=99jx$^_a8~MnjmdXX;OEF@qQ2K?Ya7j)6b5dsERf0dD#^75a!7AFc+oO&BEULdTBAujdZ^M#Lh_gx7qu8Ny+c{ zGaHwzQ-PDSPN+(`S}+J!mZ+#875=KbIgWDS_0Ibt14V*x$EiWzOB+hAPNsv6cpdSN zV7bxeT3wEYppu?Ih<6ke{z#qLh*dV>MY(`NUth0FSv^{JEhP?LD5!BQ35kIw46Mr? zL~HZ$`BM#s59js31-6Q1-j#TprJz0fdRTorF{!ww1Ktm$ta?ZM*xAl-m%gGt!oR;6 zqdB*cAJI|LejJXz8@>sHOLSET21g~damuaNE2Jf&ag_YpXX%Z^mJ(yn&iosHY4CYm z)Gm_S^816z6OI@`ydj;>LuIr=u9g6Gfp^M`_c8R}p<8+#b!SG|ZK_*Esk#gbTri?s zc2UY4q2|kYlToooG?UcQy7c|3bAqTZBwoEv3JC zL-FhAlhyUt0{es&+9a`P9>wNe{4OxvlC?ms6`CP-grcbhmNb`9oB<5%hbzP;RPqGyi z`U-OLmbZtgH!NGkUuqF8WAtCzkZ0jABU4QMjemr}5*xFukW%7NdAfj&>wFOymiC*@ zIS^%-_;$G(XEshvk>+PPS0hVp#~Cmiw0j=6B#>e^REwZ#z6YCmz!~UsFrmo*L@Y09 zzT?jOh=DQ;L+c!lf^*Bg@a2ZPc)iq2SyCWjfUh5MS~c%^p=pa8wkXEx+SIWP9enWN zR`IPfzI!Gc^gcu`A>|+AS0#v{@+q33{(c#S`tdPYT=`ubH5ZDD`6*64>asF5L82`2 zlvY#_^^wwo)ppPF52Mk+a*D00<}dXR&M5Wez~Ml=h?w0b7XFA20t1ySW}dgLh^X9- z?Q@J|cZQC*Z3b({NKH0p=Kh+;2nV(()+6%vG3V2(iBm_2$gmv`J8`3`q;-fjW7)6U zXV&3osz~x9d{U&5$_VuuD*yV`$2EIxPZ;MxefvSxL$euZga+{}jHP2XcS=&4KeHbI z-!teg!p!>G(kDmPg?OHn2$uUglPda&@#oXKr;#Fw4+f(Vcl!fXP$4=@bzMQi)MA&Y z&}tBPx#kqmw*Mt(wUw$~Vnxw8zcw(e<5=Dk1P@hIbd8@jcHw zsKJC6mAHLoPjw344&C;`x0(s2X~#$Fz}mQ}i-s4BIV&!3W6^=ejxnl5k1f-o z>;wrQ!)SSDu^!lfyEA~Smr^nFf*dmGEv_8Ug(yfXnR;^+V8KACE`8Vc0-GN%`qx)T zd(;!~qYpKA6-j4J5jhf}&E*|=ZTR>Y*V5Ij+r;hb7EBvDIFTnYaL1m6LVk&y{v)sb=Tx~7ZGt?JrT|pr*!j;@ zugAR(VJKHQuyEMlwPtoLUQ4bIA);SBE+5nLXs11$uQGbXwW(ASIw=!xKnpXxt5lsZV7Dm!iOIg%_}bESD*o~}AY zWO#M7Rn_!zS*+daAga~2Xy8!dL>Fc(`(nG+mww25oFu->?&=$F{Or)A7oMQ=`)5yC zOs$8~DFz;AAdPQ0L7C_M!`5PU_gU5rfw!OTAUQ=7| zj^uJ?$|Ra0c+PH04Uw&(liR*IvxqunjpGLrF7-fIN`q-kB8gQs-4{7N%!ZaFHOSt! zD3G0|1@~!6_^$2=nqd>yD00@CdngR;hPp5#Sr+RBEp?>Y5*z_$k*l z+)a9N8HGQjZ)Yyoza%1fyKQLZaLhcxgSomKA0mDIa5oc-6Qa0a)ap`6&_0N^L0IsG z=-e;clGe{n-HMkD&SUBF`8_JUG@I02;U0%<4XFpb8?CcOUFH|Lr&-FGV{1o=-s@me z)T=be_l8k*L*GH{(Y}?LRw#O=#L~R(x2Ro6u^jNexwH(LX{a0Q$ zfr&&;FM^VjhbU^ZRb3+^2d>aKx)$?9_Wt`pCZQ3&lv?>m>uqrp41Ge}%fpa<^OVUG zb;OD7EL-@7n$~Xz(Q9{IkQeLqho*xugG z`0*p>gWO@28Jtz%w~FoLs%+nz%IHCj3-2JZ(1(@BSQ=I7m`$utj&&+{lpcjaGe%90 zh3Tnw>7;MlTUQ7^ITCb4s%9(4gUx9A*YV1}uhERPouN4iRAfB9ZsabBBLxrS*4AQm zTYJ{G+K92j*q<h> zoXUK(%l>mHk;E;~{7OibXkENjqx6fnkIk3MGG%VZ%-GZ#Ze)qU@^`xr3iA-Py14Gx z+@DGFYfy11T8HPk+|{sQroet{$E3MMocfjl`PC#N`hIZ$iEc1;$kj>6KK}Gm9Bzda z&K6SIKx|@NMJyYBFM^G(uAAE3#Sb5=cpeR5bqj4v$9DW2->a9ov@F}80mKh-h+*k7 zfd_evN>ceMy^#W=+uIb<6Zvu_p9YuZd@eozv{gm;fB7(l^P;p-SEv zjbJWL$l>MWl&OKzWgASdQJ{r#0At*pL2`*)Qa;kkDgxYts0TY01iv;;=bndp!prh; zjhq%1`79IeAhg<$82bs@VkR~H$UmIiJ{x{12t z5LqfeEm&HMG%hDjmVWs7VO`Y?_> zv=7sH)-WZ(xsOqZEj*{Wp!nffZoktqLW0lFvZWbRrV_m=;y>SgDNE@Oulq^qwlUC_ zWkYRF&(LO?$c02I3jK9u1S4UTa@)zE!R%r`QA-ge$umz`IlvNP4p|b^3oJ16f2eL_ zO;-Pbg&O>c+g{Z=>JxmX6cRS}kd&gSDHi*It4XBNlC-JhpRM9ZGhGFoql{WjDze3z z@$#o0#ufR)#5l z@dfWz;FKLLp84I*f?#{izGm_2D4UxW(+fpWs?NK^ZsfHHYIQ>+`7sMVeW@w7D@WhI zLExY!FVR{XI91YKua(U(c-Z#}n8J^{3?nDKo&v-iWTUf#X(bM21u3teBpFhCuRl=z zLA-am^s=f~_0q(zK39CneYo8b&U?-^*alqplW)d-@M-D-tPQl1^14s0zCM&U zbqDyjunzw_nJ&_|W#)iEvXb{C+=X&`5m{;PWaang`OM8KZz*!{Y{(^fjoaw2x6^)u zOJuqCjB&GZ4)fK;`pwu3>yb|PMe@*HSg;$5MfjjHMnsRE!pP@6%h>?>UBcQFwOzvy zue{G6$2?%%*I6K6us$&i6H1RZ?(7$)0%NNrnDGV@*b(&a2diwB?k=YWJgEuA*yhyH zYzw~1ANBow90`Zc#chF~@WC%`y??8N zmq-`}42 zEIABEziN$!Wp9@S3Xcs5WMp-ACT5~b@_6x#W@q-%kpv-O!9lMaI@~i8Cc@2AMV;9_ z5iBAGGd@u#nS@Sz@td+>GfM<^Y)!JTy*s%%{(;@3fmd%1f0UumIBIglf&&5N!L2r@ zh{wlMk|0NV^Y>;Z8$w?{e!F-(e`4-0y}|KC29kI)w`76BzK9)QNH?k?KQifU5lS0M z^32SU5SqxL5}`pPSmWW(K)=at@#yk3v%2g(ED?cs;aWGfW+GYqYWG$egN&Dbw7?<> z*CqdQG0rvp+7FITuYL{@1zQpv@6S21y9TU3J7ii``bY7E=L?@TEO}*ilw4{>BrGrZ zIYZsZuyFg-nikN%b|=vt!9LYr+#Zbuxtk<*U5m6zKNW$l4o6N|ZUvZ)egJ0(5B jQ1JM5;G@FHUwDr__q&-mbEdZ+5}@Rzm85DUOhW%3dopQ} literal 18517 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 UI)$OPF8}}l07*qoM6N<$f+39ax&QzG diff --git a/xplan-ios/Assets.xcassets/Mine/mine_teenager_parents_mode_icon.imageset/mine_teenager_parents_mode_icon@3x.png b/xplan-ios/Assets.xcassets/Mine/mine_teenager_parents_mode_icon.imageset/mine_teenager_parents_mode_icon@3x.png index 4ca1698d1030be44f33462849f87d743994844e3..7560ef36d8d9f8da82f28e06197810a2b8fee756 100644 GIT binary patch literal 23599 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 literal 36125 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 * uids = [[NSMutableArray alloc] init]; + [self.recentSessions enumerateObjectsUsingBlock:^(NIMRecentSession * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + [uids addObject:obj.session.sessionId]; + unreadCount += obj.unreadCount; + }]; + [self setTabBarItemBadge:unreadCount]; + } +} + - (instancetype)initWithType:(SessionListOpenType)type { self = [self init]; if (self) { @@ -335,6 +362,10 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey"; } - (void)setTabBarItemBadge:(NSInteger)value { + if (self.parentMode) { + [self.tabBarItem setBadgeValue:0]; + return; + } if (value > 0) { [self.tabBarItem setBadgeValue:[NSString stringWithFormat:@"%ld", value]]; } else { @@ -409,4 +440,11 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey"; return _allReadButton; } +- (XPTeenagerHomeView *)teenagerView { + if (!_teenagerView) { + _teenagerView = [[XPTeenagerHomeView alloc] init]; + } + return _teenagerView; +} + @end diff --git a/xplan-ios/Main/Mine/View/SubViews/XPMineHeadTeenagerView.h b/xplan-ios/Main/Mine/View/SubViews/XPMineHeadTeenagerView.h new file mode 100644 index 00000000..e1765e8a --- /dev/null +++ b/xplan-ios/Main/Mine/View/SubViews/XPMineHeadTeenagerView.h @@ -0,0 +1,16 @@ +// +// XPMineHeadTeenagerView.h +// xplan-ios +// +// Created by GreenLand on 2022/9/27. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XPMineHeadTeenagerView : UIView + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/Mine/View/SubViews/XPMineHeadTeenagerView.m b/xplan-ios/Main/Mine/View/SubViews/XPMineHeadTeenagerView.m new file mode 100644 index 00000000..41a8b958 --- /dev/null +++ b/xplan-ios/Main/Mine/View/SubViews/XPMineHeadTeenagerView.m @@ -0,0 +1,122 @@ +// +// XPMineHeadTeenagerView.m +// xplan-ios +// +// Created by GreenLand on 2022/9/27. +// + +#import "XPMineHeadTeenagerView.h" +///Third +#import +#import +///Tool +#import "ThemeColor.h" +#import "XPMacro.h" +#import "UIImage+Utils.h" +///View +#import "NetImageView.h" +#import "UIImage+Utils.h" +#import "XPMineFriendNumberView.h" +#import "XPNobleCenterEntranceView.h" +#import "XPMineAccountView.h" +///Model +#import "UserInfoModel.h" +#import "WalletInfoModel.h" +#import "NobleCenterModel.h" + +@interface XPMineHeadTeenagerView () + +///icon +@property (nonatomic,strong) UIImageView *avatarImageView; +///名字 +@property (nonatomic,strong) UILabel *nameLabel; +///id +@property (nonatomic,strong) UILabel *descLabel; +///性别 +@property (nonatomic,strong) UIImageView *arrowImageView; + +@end + + +@implementation XPMineHeadTeenagerView + +- (instancetype)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + [self initSubViews]; + [self initSubViewConstraints]; + } + return self; +} + +#pragma mark - Private Method +- (void)initSubViews { + self.backgroundColor = [UIColor whiteColor]; + [self addSubview:self.avatarImageView]; + [self addSubview:self.nameLabel]; + [self addSubview:self.descLabel]; + [self addSubview:self.arrowImageView]; +} + +- (void)initSubViewConstraints { + [self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(32, 32)); + make.left.mas_equalTo(self).offset(12); + make.centerY.mas_equalTo(self); + }]; + + [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.avatarImageView.mas_right); + make.centerY.mas_equalTo(self); + }]; + [self.descLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.mas_equalTo(self); + make.right.mas_equalTo(self.arrowImageView.mas_left); + }]; + [self.arrowImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.mas_equalTo(self); + make.right.mas_equalTo(-8); + make.width.mas_equalTo(21); + make.height.mas_equalTo(21); + }]; +} + +#pragma mark - getter +- (UIImageView *)avatarImageView { + if (!_avatarImageView) { + _avatarImageView = [[UIImageView alloc] init]; + _avatarImageView.image = [UIImage imageNamed:@"mine_normal_teenager_open"]; + } + return _avatarImageView; +} + +- (UIImageView *)arrowImageView { + if (!_arrowImageView) { + _arrowImageView = [[UIImageView alloc] init]; + _arrowImageView.image = [UIImage imageNamed:@"skillCard_arrow"]; + } + return _arrowImageView; +} + +- (UILabel *)nameLabel { + if (!_nameLabel) { + _nameLabel = [[UILabel alloc] init]; + _nameLabel.font = [UIFont systemFontOfSize:12]; + _nameLabel.textColor = [ThemeColor mainTextColor]; + _nameLabel.text = @"青少年模式中,暂无内容"; + } + return _nameLabel; +} + +- (UILabel *)descLabel { + if (!_descLabel) { + _descLabel = [[UILabel alloc] init]; + _descLabel.font = [UIFont systemFontOfSize:12]; + _descLabel.textColor = [ThemeColor textThirdColor]; + _descLabel.text = @"已开启"; + } + return _descLabel; +} + +@end diff --git a/xplan-ios/Main/Mine/View/SubViews/XPMineHeadView.h b/xplan-ios/Main/Mine/View/SubViews/XPMineHeadView.h index 799ef10f..fcb686fb 100644 --- a/xplan-ios/Main/Mine/View/SubViews/XPMineHeadView.h +++ b/xplan-ios/Main/Mine/View/SubViews/XPMineHeadView.h @@ -26,6 +26,8 @@ NS_ASSUME_NONNULL_BEGIN - (void)xpMineHeadViewClickAcount; ///点击了贵族中心 - (void)xPMineHeadViewCliekNobleCenter; +///点击了青少年模式 +- (void)xPmineHeadViewClickTeenager; @end @interface XPMineHeadView : UIView diff --git a/xplan-ios/Main/Mine/View/SubViews/XPMineHeadView.m b/xplan-ios/Main/Mine/View/SubViews/XPMineHeadView.m index 93bd1159..f453fd9a 100644 --- a/xplan-ios/Main/Mine/View/SubViews/XPMineHeadView.m +++ b/xplan-ios/Main/Mine/View/SubViews/XPMineHeadView.m @@ -19,6 +19,7 @@ #import "XPMineFriendNumberView.h" #import "XPNobleCenterEntranceView.h" #import "XPMineAccountView.h" +#import "XPMineHeadTeenagerView.h" ///Model #import "UserInfoModel.h" #import "WalletInfoModel.h" @@ -58,6 +59,8 @@ ///贵族中心 @property (nonatomic, strong) XPNobleCenterEntranceView *nobleEntranceView; +@property (nonatomic, strong) XPMineHeadTeenagerView *teenagerView; + @end @implementation XPMineHeadView @@ -170,6 +173,9 @@ #pragma mark - Action - (void)tapAvatarImageView { + if (self.userInfo.parentMode) { + return; + } if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineHeadView:didClickAvatar:)]) { [self.delegate xPMineHeadView:self didClickAvatar:self.userInfo]; } @@ -218,6 +224,13 @@ } } +///青少年模式 +- (void)tapTeenagerView { + if (self.delegate && [self.delegate respondsToSelector:@selector(xPmineHeadViewClickTeenager)]) { + [self.delegate xPmineHeadViewClickTeenager]; + } +} + #pragma mark - NSMutableAttributedString -(NSInteger) getMonth:(long )time { @@ -431,6 +444,27 @@ self.visitorView.number = [NSString stringWithFormat:@"%ld", _userInfo.visitNum]; self.footprintView.number = [NSString stringWithFormat:@"%ld", _userInfo.inRoomNum]; self.nobleEntranceView.vipInfo = userInfo.userVipInfoVO; + if (userInfo.parentMode) {//青少年模式 + if (!self.teenagerView.superview) { + [self addSubview:self.teenagerView]; + [self.teenagerView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.levelLabel.mas_bottom).mas_offset(16); + make.height.mas_equalTo(44); + make.left.right.mas_equalTo(self).inset(16); + }]; + } + self.attentionStackView.hidden = YES; + self.accountView.hidden = YES; + self.nobleEntranceView.hidden = YES; + self.skillCardButton.hidden = YES; + } else { + [self.teenagerView removeFromSuperview]; + self.teenagerView = nil; + self.attentionStackView.hidden = NO; + self.accountView.hidden = NO; + self.nobleEntranceView.hidden = NO; + self.skillCardButton.hidden = NO; + } } } @@ -607,4 +641,15 @@ return _nobleEntranceView; } +- (XPMineHeadTeenagerView *)teenagerView { + if (!_teenagerView) { + _teenagerView = [[XPMineHeadTeenagerView alloc] init]; + _teenagerView.layer.cornerRadius = 8; + _teenagerView.layer.masksToBounds = YES; + UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapTeenagerView)]; + [_teenagerView addGestureRecognizer:tap]; + } + return _teenagerView; +} + @end diff --git a/xplan-ios/Main/Mine/View/Teenager/XPMineTeenagerViewController.m b/xplan-ios/Main/Mine/View/Teenager/XPMineTeenagerViewController.m index 7e0ad4ad..3bbf368c 100644 --- a/xplan-ios/Main/Mine/View/Teenager/XPMineTeenagerViewController.m +++ b/xplan-ios/Main/Mine/View/Teenager/XPMineTeenagerViewController.m @@ -15,6 +15,7 @@ #import "XPMacro.h" #import "XPHtmlUrl.h" #import "UIImage+Utils.h" +#import "XPConstant.h" ///Model #import "UserInfoModel.h" ///View @@ -139,6 +140,7 @@ UserInfoModel * userInfo = self.userInfo; userInfo.parentMode = status; self.userInfo = userInfo; + [[NSNotificationCenter defaultCenter] postNotificationName:kTeenagerStatusChange object:@{@"parentMode" : @(status)}]; } #pragma mark - Event Response - (void)openParentBtnAction:(UIButton *)sender { @@ -195,7 +197,7 @@ - (XPMineTeenagerDesView *)dominatorView { if (!_dominatorView) { _dominatorView = [[XPMineTeenagerDesView alloc] init]; - _dominatorView.title = @"针对青少年推送精选优化的内容"; + _dominatorView.title = @"部分功能可能无法使用"; } return _dominatorView; } diff --git a/xplan-ios/Main/Mine/View/XPMineViewController.m b/xplan-ios/Main/Mine/View/XPMineViewController.m index 9eeaffed..4ae2a11e 100644 --- a/xplan-ios/Main/Mine/View/XPMineViewController.m +++ b/xplan-ios/Main/Mine/View/XPMineViewController.m @@ -302,7 +302,11 @@ #pragma mark - UITableViewDelegate And UITableViewDataSource - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 3; + if (self.userInfo.parentMode) { + return 0; + } else { + return 3; + } } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { @@ -412,6 +416,11 @@ [self pushViewControllerWithType:XPMineItemType_Noble_Center functionItem:nil]; } +///点击了青少年模式 +- (void)xPmineHeadViewClickTeenager { + [self pushViewControllerWithType:XPMineItemType_Teenager_Mode functionItem:nil]; +} + #pragma mark - XPMineProtocol ///获取个人中心功能 - (void)onGetMineFuntionItemSuccess:(NSArray *)items { @@ -465,15 +474,21 @@ if (userInfo.nick == nil || userInfo.avatar == nil) { return; } + self.userInfo = userInfo; + self.headView.userInfo = userInfo; + [self.tableView reloadData]; + if (userInfo.parentMode) { + if (self.userRechargeView.superview) { + [self.userRechargeView removeFromSuperview]; + self.userRechargeView = nil; + } + return; + } [self.presenter getClanDetailInfo]; [self.presenter getUserWalletInfo]; [self.presenter getPersonItemList]; [self.presenter getLittleGameList]; [self.presenter getMineBannerList]; - - self.userInfo = userInfo; - self.headView.userInfo = userInfo; - [self.tableView reloadData]; [self.presenter getNobleInfo]; if (userInfo.showLimitCharge) {//新用户充值优惠 if (!self.userRechargeView.superview) { diff --git a/xplan-ios/Main/Monents/View/XPMonentsViewController.m b/xplan-ios/Main/Monents/View/XPMonentsViewController.m index 4a5069f1..e9d10128 100644 --- a/xplan-ios/Main/Monents/View/XPMonentsViewController.m +++ b/xplan-ios/Main/Monents/View/XPMonentsViewController.m @@ -23,6 +23,7 @@ #import "XPMonentsLatestViewController.h" #import "XPMonentsInteractiveViewController.h" #import "XPMonentsPublishViewController.h" +#import "XPTeenagerHomeView.h" @interface XPMonentsViewController () ///标题 @@ -44,9 +45,12 @@ @property (nonatomic,strong) XPMonentsLatestViewController *latestVC; ///推荐 @property (nonatomic,strong) XPMonentsRecommendViewController * recommendVC; +///青少年空白view +@property (nonatomic, strong) XPTeenagerHomeView *teenagerView; @end @implementation XPMonentsViewController +@synthesize parentMode = _parentMode; - (void)dealloc { [[NIMSDK sharedSDK].systemNotificationManager removeDelegate:self]; @@ -56,6 +60,20 @@ return YES; } +- (void)setParentMode:(BOOL)parentMode { + _parentMode = parentMode; + if (parentMode) { + if (!self.teenagerView.superview) { + [self.view addSubview:self.teenagerView]; + [self.teenagerView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.mas_equalTo(self.view); + }]; + } + } else { + [self.teenagerView removeFromSuperview]; + } +} + - (void)viewDidLoad { [super viewDidLoad]; [[NIMSDK sharedSDK].systemNotificationManager addDelegate:self]; @@ -275,5 +293,11 @@ return _recommendVC; } +- (XPTeenagerHomeView *)teenagerView { + if (!_teenagerView) { + _teenagerView = [[XPTeenagerHomeView alloc] init]; + } + return _teenagerView; +} @end diff --git a/xplan-ios/Main/Tabbar/View/TabbarViewController.m b/xplan-ios/Main/Tabbar/View/TabbarViewController.m index 65eaa2f0..dfc44ccb 100644 --- a/xplan-ios/Main/Tabbar/View/TabbarViewController.m +++ b/xplan-ios/Main/Tabbar/View/TabbarViewController.m @@ -99,6 +99,8 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; @property (nonatomic, strong) XPTaskCompleteTipView *taskTipView; ///代理 @property (nonatomic,weak) iddelegate; +///青少年模式 +@property (nonatomic, assign) BOOL parentMode; @end @@ -123,6 +125,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; }]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showNewUserRecharge) name:kNewUserRechargeKey object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showAnchorCardKey:) name:kTabShowAnchorCardKey object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(teenagerStatusChange:) name:kTeenagerStatusChange object:nil]; } - (void)viewWillAppear:(BOOL)animated { @@ -143,7 +146,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; - if (self.needShowNewUserRecharge) { + if (self.needShowNewUserRecharge && !self.parentMode) { self.needShowNewUserRecharge = NO; XPNewUserRechargeViewController *vc = [[XPNewUserRechargeViewController alloc] initWithNavigation:self.selectedViewController.navigationController]; vc.hadAnimate = YES; @@ -157,7 +160,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; } }); } - if (self.needShowAnchorCard && !self.delayShowAnchorCard) { + if (self.needShowAnchorCard && !self.delayShowAnchorCard && !self.parentMode) { [self.presenter getAnchorCardInfo]; [[NSUserDefaults standardUserDefaults] setBool:YES forKey:kHadLaunchApp];///第一次弹主播卡片 [[NSUserDefaults standardUserDefaults] synchronize]; @@ -213,10 +216,14 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; } [self showTeenagerAlertView:userInfo]; [self monentsUnReadCount]; + self.parentMode = userInfo.parentMode; + for (BaseViewController *vc in self.viewControllers) { + vc.parentMode = self.parentMode; + } } - (void)checkInviteUserInfoSuccess:(InviteUserInfoModel *)inviteInfo { - if (inviteInfo && inviteInfo.isInRoom) { + if (inviteInfo && inviteInfo.isInRoom && !self.parentMode) { [XPRoomViewController openRoom:inviteInfo.roomUid fromNick:inviteInfo.inviteNick fromType:inviteInfo.fromType fromUid:inviteInfo.inviteUid viewController:self]; } else { //不在房间 ///新用户打招呼引导 @@ -242,6 +249,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; } - (void)getShortCutRecommendRoomSuccces:(NSString *)roomUid { + if (self.parentMode) { + return; + } if (roomUid.length > 0) { [XPRoomViewController openRoom:roomUid viewController:self]; } @@ -264,6 +274,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; ///获取主播卡片信息成功 - (void)getAnchorCardInfoSuccess:(XPTabAnchorCardModel *)cardInfo { + if (self.parentMode) { + return; + } if (!self.anchorCardView.superview && cardInfo && self.isViewLoaded && self.view.window) { self.anchorCardView.frame = CGRectMake(0, -90-kStatusBarHeight, KScreenWidth, 90); [UIView animateWithDuration:0.5 animations:^{ @@ -346,6 +359,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; #pragma mark - NIMChatManagerDelegate - (void)onRecvMessages:(NSArray *)messages { + if (self.parentMode) { + return; + } for (NIMMessage * message in messages) { if (message.session.sessionType == NIMSessionTypeP2P) { if(message.messageType == NIMMessageTypeCustom) { @@ -544,6 +560,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; } #pragma mark -NIMSystemNotificationManagerDelegate - (void)onReceiveCustomSystemNotification:(NIMCustomSystemNotification *)notification { + if (self.parentMode) { + return; + } if (notification.receiverType == NIMSessionTypeP2P) { if (notification.content != nil) { NSData *jsonData = [notification.content dataUsingEncoding:NSUTF8StringEncoding]; @@ -582,6 +601,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; } - (void)receiveNobleLevelUp:(NSDictionary *)data { + if (self.parentMode) { + return; + } XPNobleUpgradeLevelView *view = [[XPNobleUpgradeLevelView alloc] initWithFrame:CGRectMake(0, 0, 300, 285 + 22 + 44)]; NobleLevelUpModel *receiveInfo = [NobleLevelUpModel modelWithDictionary:data[@"data"]]; view.levelUpInfo = receiveInfo; @@ -606,6 +628,15 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; return [[NSUserDefaults standardUserDefaults] valueForKey:kHadLaunchApp]; } +///青少年模式改变 +- (void)teenagerStatusChange:(NSNotification *)noti { + NSDictionary * dic = noti.object; + self.parentMode = [[dic objectForKey:@"parentMode"] boolValue]; + for (BaseViewController *vc in self.viewControllers) { + vc.parentMode = self.parentMode; + } +} + - (BOOL)canShowAnchorCard { if ([[XPRoomMiniManager shareManager] getRoomInfo]) {//在房间时不弹 return NO; diff --git a/xplan-ios/Main/Tabbar/View/Teenager/XPTeenagerHomeView.h b/xplan-ios/Main/Tabbar/View/Teenager/XPTeenagerHomeView.h new file mode 100644 index 00000000..9105981f --- /dev/null +++ b/xplan-ios/Main/Tabbar/View/Teenager/XPTeenagerHomeView.h @@ -0,0 +1,16 @@ +// +// XPTeenagerHomeView.h +// xplan-ios +// +// Created by GreenLand on 2022/9/27. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XPTeenagerHomeView : UIView + +@end + +NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/Tabbar/View/Teenager/XPTeenagerHomeView.m b/xplan-ios/Main/Tabbar/View/Teenager/XPTeenagerHomeView.m new file mode 100644 index 00000000..72dd9037 --- /dev/null +++ b/xplan-ios/Main/Tabbar/View/Teenager/XPTeenagerHomeView.m @@ -0,0 +1,66 @@ +// +// XPTeenagerHomeView.m +// xplan-ios +// +// Created by GreenLand on 2022/9/27. +// + +#import "XPTeenagerHomeView.h" +///Third +#import +#import "ThemeColor.h" + +@interface XPTeenagerHomeView() + +@property (nonatomic, strong) UIImageView *imageView; +@property (nonatomic, strong) UILabel *titleLabel; + +@end + +@implementation XPTeenagerHomeView + +- (instancetype)initWithFrame:(CGRect)frame { + if (self = [super initWithFrame:frame]) { + [self initView]; + [self initConstraints]; + } + return self; +} + +- (void)initView { + self.backgroundColor = [ThemeColor appBackgroundColor]; + [self addSubview:self.imageView]; + [self addSubview:self.titleLabel]; +} + +- (void)initConstraints { + [self.imageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.centerY.mas_equalTo(self); + make.size.mas_equalTo(CGSizeMake(163, 108)); + }]; + [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.mas_equalTo(self); + make.top.mas_equalTo(self.imageView.mas_bottom).mas_offset(24); + }]; +} + +- (UIImageView *)imageView { + if (!_imageView) { + _imageView = [[UIImageView alloc] init]; + _imageView.image = [UIImage imageNamed:@"mine_teenager_parents_mode_icon"]; + } + return _imageView; +} + +- (UILabel *)titleLabel { + if (!_titleLabel) { + UILabel *label = [[UILabel alloc] init]; + label.font = [UIFont systemFontOfSize:14]; + label.textColor = [ThemeColor secondTextColor]; + label.text = @"青少年模式中,暂无内容"; + _titleLabel = label; + } + return _titleLabel; +} + +@end