From 309cae4ab21f1e0024fb5efe84ca0c9363d24246 Mon Sep 17 00:00:00 2001 From: lianxiang <13052344590@163.com> Date: Thu, 20 Sep 2018 00:25:25 +0800 Subject: [PATCH] add --- GIGA.xcodeproj/project.pbxproj | 64 ++++ .../maskTime/bg_logo.imageset/bg_logo@2x.png | Bin 6289 -> 6581 bytes .../maskTime/bg_logo.imageset/bg_logo@3x.png | Bin 10395 -> 10922 bytes .../usergaurd_uphand.imageset/Contents.json | 13 + .../usergaurd_uphand@2x.png | Bin 0 -> 3238 bytes .../userguard_up.imageset/Contents.json | 13 + .../userguard_up.imageset/userguard_up@2x.png | Bin 0 -> 747 bytes .../Contents.json | 21 ++ .../bg_change_newnumber@2x.png | Bin 0 -> 2403 bytes .../Contents.json | 21 ++ .../bg_change_oldnumber@2x.png | Bin 0 -> 2066 bytes .../Contents.json | 21 ++ .../btn_changephonesend@2x.png | Bin 0 -> 414 bytes .../Contents.json | 13 + .../user_changephonewihte@2x.png | Bin 0 -> 2223 bytes GIGA/Category/SHineLabel.h | 2 + GIGA/Category/SHineLabel.m | 3 +- GIGA/Config/ApiRequestConfig.h | 14 + GIGA/Config/GIGA.h | 2 + .../LogIn/Controller/GiGaUserLoginVC.m | 14 +- .../LogIn/Controller/PassWordResetVC.m | 5 +- .../Mask/Controller/GiGaFlingCommitVC.m | 6 +- .../Controller/GiGaMaskTaskViewController.m | 7 +- .../Mask/Controller/UserGuardViewController.m | 98 +++++- .../Mask/View/MaskTimeCircularProgressView.m | 1 + .../Me/Controller/AppVerionDescriptionVC.m | 24 +- GIGA/Modules/Me/Controller/GIGaAboutUsVC.h | 17 + GIGA/Modules/Me/Controller/GIGaAboutUsVC.m | 58 ++++ GIGA/Modules/Me/Controller/GIGaAboutUsVC.xib | 127 ++++++++ GIGA/Modules/Me/Controller/GIGaChangePassVC.h | 17 + GIGA/Modules/Me/Controller/GIGaChangePassVC.m | 101 ++++++ .../Me/Controller/GIGaChangePassVC.xib | 132 ++++++++ .../Me/Controller/GIGaMaskTimeUseRecordVC.h | 13 + .../Me/Controller/GIGaMaskTimeUseRecordVC.m | 38 +++ .../Me/Controller/GiGaChangePhoneNumberVC.h | 13 + .../Me/Controller/GiGaChangePhoneNumberVC.m | 300 ++++++++++++++++++ .../Controller/GiGaFeedBackViewController.h | 13 + .../Controller/GiGaFeedBackViewController.m | 38 +++ .../Me/Controller/GiGaMeViewController.m | 33 +- GIGA/Modules/Me/Controller/GiGaUserInfoVC.h | 13 + GIGA/Modules/Me/Controller/GiGaUserInfoVC.m | 167 ++++++++++ .../Me/Controller/GiGaUserViewController.m | 3 + GIGA/Modules/Me/Controller/GiSysSettingsVC.m | 8 +- GIGA/Modules/Me/Model/GiGaUser.h | 1 + .../AppVerionDescCells/AppVersionDescCell.h | 4 + .../AppVerionDescCells/AppVersionDescCell.m | 7 + .../AppVerionDescCells/AppVersionDescCell.xib | 18 ++ .../AppVerionDescCells/AppVersionLogoCell.xib | 2 +- GIGA/Modules/Me/View/GiGAUserInfoCell.h | 17 + GIGA/Modules/Me/View/GiGAUserInfoCell.m | 44 +++ GIGA/Modules/Me/View/GiGAUserInfoCell.xib | 72 +++++ GIGA/Modules/Me/View/GiGaMineInfoViewCell.xib | 2 +- GIGA/Modules/Me/View/GiGaMineUserViewCell.m | 9 +- .../userInfoView/GIGaUserChangeMobleCell.h | 19 ++ .../userInfoView/GIGaUserChangeMobleCell.m | 29 ++ .../userInfoView/GIGaUserChangeMobleCell.xib | 137 ++++++++ 56 files changed, 1755 insertions(+), 39 deletions(-) create mode 100644 GIGA/Assets.xcassets/maskTime/usergaurd_uphand.imageset/Contents.json create mode 100644 GIGA/Assets.xcassets/maskTime/usergaurd_uphand.imageset/usergaurd_uphand@2x.png create mode 100644 GIGA/Assets.xcassets/maskTime/userguard_up.imageset/Contents.json create mode 100644 GIGA/Assets.xcassets/maskTime/userguard_up.imageset/userguard_up@2x.png create mode 100644 GIGA/Assets.xcassets/userCenter/bg_change_newnumber.imageset/Contents.json create mode 100644 GIGA/Assets.xcassets/userCenter/bg_change_newnumber.imageset/bg_change_newnumber@2x.png create mode 100644 GIGA/Assets.xcassets/userCenter/bg_change_oldnumber.imageset/Contents.json create mode 100644 GIGA/Assets.xcassets/userCenter/bg_change_oldnumber.imageset/bg_change_oldnumber@2x.png create mode 100644 GIGA/Assets.xcassets/userCenter/btn_changephonesend.imageset/Contents.json create mode 100644 GIGA/Assets.xcassets/userCenter/btn_changephonesend.imageset/btn_changephonesend@2x.png create mode 100644 GIGA/Assets.xcassets/userCenter/user_changephonewihte.imageset/Contents.json create mode 100644 GIGA/Assets.xcassets/userCenter/user_changephonewihte.imageset/user_changephonewihte@2x.png create mode 100644 GIGA/Modules/Me/Controller/GIGaAboutUsVC.h create mode 100644 GIGA/Modules/Me/Controller/GIGaAboutUsVC.m create mode 100644 GIGA/Modules/Me/Controller/GIGaAboutUsVC.xib create mode 100644 GIGA/Modules/Me/Controller/GIGaChangePassVC.h create mode 100644 GIGA/Modules/Me/Controller/GIGaChangePassVC.m create mode 100644 GIGA/Modules/Me/Controller/GIGaChangePassVC.xib create mode 100644 GIGA/Modules/Me/Controller/GIGaMaskTimeUseRecordVC.h create mode 100644 GIGA/Modules/Me/Controller/GIGaMaskTimeUseRecordVC.m create mode 100644 GIGA/Modules/Me/Controller/GiGaChangePhoneNumberVC.h create mode 100644 GIGA/Modules/Me/Controller/GiGaChangePhoneNumberVC.m create mode 100644 GIGA/Modules/Me/Controller/GiGaFeedBackViewController.h create mode 100644 GIGA/Modules/Me/Controller/GiGaFeedBackViewController.m create mode 100644 GIGA/Modules/Me/Controller/GiGaUserInfoVC.h create mode 100644 GIGA/Modules/Me/Controller/GiGaUserInfoVC.m create mode 100644 GIGA/Modules/Me/View/GiGAUserInfoCell.h create mode 100644 GIGA/Modules/Me/View/GiGAUserInfoCell.m create mode 100644 GIGA/Modules/Me/View/GiGAUserInfoCell.xib create mode 100644 GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.h create mode 100644 GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.m create mode 100644 GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.xib diff --git a/GIGA.xcodeproj/project.pbxproj b/GIGA.xcodeproj/project.pbxproj index 850166e..0973647 100644 --- a/GIGA.xcodeproj/project.pbxproj +++ b/GIGA.xcodeproj/project.pbxproj @@ -31,6 +31,7 @@ 8340BFA9213E65CA008F22E4 /* GIGACommonLocalizabe.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8340BFA8213E65CA008F22E4 /* GIGACommonLocalizabe.strings */; }; 8340BFAB213E665D008F22E4 /* GIGAUserLocalizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8340BFAA213E665D008F22E4 /* GIGAUserLocalizable.strings */; }; 8340BFAF213E739D008F22E4 /* GiGaNoNetWorkView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8340BFAE213E739D008F22E4 /* GiGaNoNetWorkView.m */; }; + 834127212152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 834127202152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.m */; }; 8342D9FD2131150200D16B1D /* 4481.wav in Resources */ = {isa = PBXBuildFile; fileRef = 8342D9FC2131150200D16B1D /* 4481.wav */; }; 8342FD7A2150C51100D141F4 /* GIGaFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8342FD792150C51100D141F4 /* GIGaFileManager.m */; }; 8342FD7D2150F94600D141F4 /* AppVerionDescriptionVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 8342FD7C2150F94600D141F4 /* AppVerionDescriptionVC.m */; }; @@ -46,6 +47,17 @@ 835060A9212D38EE007E6220 /* GiGaStartAdView.m in Sources */ = {isa = PBXBuildFile; fileRef = 835060A8212D38EE007E6220 /* GiGaStartAdView.m */; }; 835060AD212D4D0C007E6220 /* GiGaFileNanager.m in Sources */ = {isa = PBXBuildFile; fileRef = 835060AC212D4D0C007E6220 /* GiGaFileNanager.m */; }; 835060B3212D54C2007E6220 /* GiGaAdDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 835060B2212D54C2007E6220 /* GiGaAdDetailViewController.m */; }; + 835147312151E4EF00B25A88 /* GIGaAboutUsVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 8351472F2151E4EF00B25A88 /* GIGaAboutUsVC.m */; }; + 835147322151E4EF00B25A88 /* GIGaAboutUsVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 835147302151E4EF00B25A88 /* GIGaAboutUsVC.xib */; }; + 835147352152003700B25A88 /* GiGaFeedBackViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 835147342152003700B25A88 /* GiGaFeedBackViewController.m */; }; + 835147382152147600B25A88 /* GiGaUserInfoVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 835147372152147600B25A88 /* GiGaUserInfoVC.m */; }; + 8351473C215215C500B25A88 /* GiGAUserInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8351473A215215C500B25A88 /* GiGAUserInfoCell.m */; }; + 8351473D215215C500B25A88 /* GiGAUserInfoCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8351473B215215C500B25A88 /* GiGAUserInfoCell.xib */; }; + 8351474121521C2A00B25A88 /* GIGaChangePassVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 8351473F21521C2A00B25A88 /* GIGaChangePassVC.m */; }; + 8351474221521C2A00B25A88 /* GIGaChangePassVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8351474021521C2A00B25A88 /* GIGaChangePassVC.xib */; }; + 8351474621521CC500B25A88 /* GiGaChangePhoneNumberVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 8351474421521CC500B25A88 /* GiGaChangePhoneNumberVC.m */; }; + 8351474B21523B7400B25A88 /* GIGaUserChangeMobleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8351474921523B7400B25A88 /* GIGaUserChangeMobleCell.m */; }; + 8351474C21523B7400B25A88 /* GIGaUserChangeMobleCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8351474A21523B7400B25A88 /* GIGaUserChangeMobleCell.xib */; }; 8357ADC52123BEBD000816F2 /* GiGaUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 8357ADC42123BEBD000816F2 /* GiGaUser.m */; }; 8357ADC92123BFCA000816F2 /* GiGaUserManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8357ADC82123BFCA000816F2 /* GiGaUserManager.m */; }; 8357ADCD2123C091000816F2 /* GiGaNetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8357ADCC2123C091000816F2 /* GiGaNetManager.m */; }; @@ -223,6 +235,8 @@ 8340BFAA213E665D008F22E4 /* GIGAUserLocalizable.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = GIGAUserLocalizable.strings; sourceTree = ""; }; 8340BFAD213E739D008F22E4 /* GiGaNoNetWorkView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaNoNetWorkView.h; sourceTree = ""; }; 8340BFAE213E739D008F22E4 /* GiGaNoNetWorkView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaNoNetWorkView.m; sourceTree = ""; }; + 8341271F2152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaMaskTimeUseRecordVC.h; sourceTree = ""; }; + 834127202152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaMaskTimeUseRecordVC.m; sourceTree = ""; }; 8342D9FC2131150200D16B1D /* 4481.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = 4481.wav; sourceTree = ""; }; 8342FD782150C51100D141F4 /* GIGaFileManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaFileManager.h; sourceTree = ""; }; 8342FD792150C51100D141F4 /* GIGaFileManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaFileManager.m; sourceTree = ""; }; @@ -249,6 +263,24 @@ 835060AC212D4D0C007E6220 /* GiGaFileNanager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaFileNanager.m; sourceTree = ""; }; 835060B1212D54C2007E6220 /* GiGaAdDetailViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaAdDetailViewController.h; sourceTree = ""; }; 835060B2212D54C2007E6220 /* GiGaAdDetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaAdDetailViewController.m; sourceTree = ""; }; + 8351472E2151E4EF00B25A88 /* GIGaAboutUsVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaAboutUsVC.h; sourceTree = ""; }; + 8351472F2151E4EF00B25A88 /* GIGaAboutUsVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaAboutUsVC.m; sourceTree = ""; }; + 835147302151E4EF00B25A88 /* GIGaAboutUsVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GIGaAboutUsVC.xib; sourceTree = ""; }; + 835147332152003700B25A88 /* GiGaFeedBackViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaFeedBackViewController.h; sourceTree = ""; }; + 835147342152003700B25A88 /* GiGaFeedBackViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaFeedBackViewController.m; sourceTree = ""; }; + 835147362152147600B25A88 /* GiGaUserInfoVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaUserInfoVC.h; sourceTree = ""; }; + 835147372152147600B25A88 /* GiGaUserInfoVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaUserInfoVC.m; sourceTree = ""; }; + 83514739215215C500B25A88 /* GiGAUserInfoCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGAUserInfoCell.h; sourceTree = ""; }; + 8351473A215215C500B25A88 /* GiGAUserInfoCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGAUserInfoCell.m; sourceTree = ""; }; + 8351473B215215C500B25A88 /* GiGAUserInfoCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GiGAUserInfoCell.xib; sourceTree = ""; }; + 8351473E21521C2A00B25A88 /* GIGaChangePassVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaChangePassVC.h; sourceTree = ""; }; + 8351473F21521C2A00B25A88 /* GIGaChangePassVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaChangePassVC.m; sourceTree = ""; }; + 8351474021521C2A00B25A88 /* GIGaChangePassVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GIGaChangePassVC.xib; sourceTree = ""; }; + 8351474321521CC500B25A88 /* GiGaChangePhoneNumberVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaChangePhoneNumberVC.h; sourceTree = ""; }; + 8351474421521CC500B25A88 /* GiGaChangePhoneNumberVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaChangePhoneNumberVC.m; sourceTree = ""; }; + 8351474821523B7400B25A88 /* GIGaUserChangeMobleCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaUserChangeMobleCell.h; sourceTree = ""; }; + 8351474921523B7400B25A88 /* GIGaUserChangeMobleCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaUserChangeMobleCell.m; sourceTree = ""; }; + 8351474A21523B7400B25A88 /* GIGaUserChangeMobleCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GIGaUserChangeMobleCell.xib; sourceTree = ""; }; 8357ADC32123BEBD000816F2 /* GiGaUser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaUser.h; sourceTree = ""; }; 8357ADC42123BEBD000816F2 /* GiGaUser.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaUser.m; sourceTree = ""; }; 8357ADC72123BFCA000816F2 /* GiGaUserManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaUserManager.h; sourceTree = ""; }; @@ -911,6 +943,9 @@ 83BFAE76213CDE91004EF801 /* GiGaSettingsViewCell.xib */, 83048484214FACE700603CE7 /* JobMaskButton.h */, 83048485214FACE700603CE7 /* JobMaskButton.m */, + 83514739215215C500B25A88 /* GiGAUserInfoCell.h */, + 8351473A215215C500B25A88 /* GiGAUserInfoCell.m */, + 8351473B215215C500B25A88 /* GiGAUserInfoCell.xib */, ); path = View; sourceTree = ""; @@ -928,6 +963,20 @@ 83BFAE72213CDB58004EF801 /* GiSysSettingsVC.m */, 8342FD7B2150F94600D141F4 /* AppVerionDescriptionVC.h */, 8342FD7C2150F94600D141F4 /* AppVerionDescriptionVC.m */, + 8351472E2151E4EF00B25A88 /* GIGaAboutUsVC.h */, + 8351472F2151E4EF00B25A88 /* GIGaAboutUsVC.m */, + 835147302151E4EF00B25A88 /* GIGaAboutUsVC.xib */, + 835147332152003700B25A88 /* GiGaFeedBackViewController.h */, + 835147342152003700B25A88 /* GiGaFeedBackViewController.m */, + 835147362152147600B25A88 /* GiGaUserInfoVC.h */, + 835147372152147600B25A88 /* GiGaUserInfoVC.m */, + 8351473E21521C2A00B25A88 /* GIGaChangePassVC.h */, + 8351473F21521C2A00B25A88 /* GIGaChangePassVC.m */, + 8351474021521C2A00B25A88 /* GIGaChangePassVC.xib */, + 8351474321521CC500B25A88 /* GiGaChangePhoneNumberVC.h */, + 8351474421521CC500B25A88 /* GiGaChangePhoneNumberVC.m */, + 8341271F2152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.h */, + 834127202152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.m */, ); path = Controller; sourceTree = ""; @@ -1118,6 +1167,9 @@ 838762E6214B9FA60039D241 /* GIGaUserCityViewCell.xib */, 8304847F214F488F00603CE7 /* GiGaUserJobViewCell.h */, 83048480214F488F00603CE7 /* GiGaUserJobViewCell.m */, + 8351474821523B7400B25A88 /* GIGaUserChangeMobleCell.h */, + 8351474921523B7400B25A88 /* GIGaUserChangeMobleCell.m */, + 8351474A21523B7400B25A88 /* GIGaUserChangeMobleCell.xib */, ); path = userInfoView; sourceTree = ""; @@ -1384,6 +1436,7 @@ files = ( 833DE8E42150169F009D4329 /* city.json in Resources */, 83346AC6212BBC8C0054D597 /* GiGaRegistViewController.xib in Resources */, + 8351474C21523B7400B25A88 /* GIGaUserChangeMobleCell.xib in Resources */, 838762DE214B9F140039D241 /* GIGaUserWeChatViewCell.xib in Resources */, 83BFAE6D213CD0E3004EF801 /* GiGaMineInfoViewCell.xib in Resources */, 8361B3D6212155C300238FEB /* LaunchScreen.storyboard in Resources */, @@ -1395,11 +1448,13 @@ 83BFAE78213CDE91004EF801 /* GiGaSettingsViewCell.xib in Resources */, 83346AC1212BB50A0054D597 /* PassWordResetVC.xib in Resources */, 83BDC0592147B89900E74E0D /* GiGaAnswerViewCell.xib in Resources */, + 8351473D215215C500B25A88 /* GiGAUserInfoCell.xib in Resources */, 83346AD1212BF5B70054D597 /* useragreement.html in Resources */, 838762D9214B9EF80039D241 /* GIGaUserIDViewCell.xib in Resources */, 838762E8214B9FA60039D241 /* GIGaUserCityViewCell.xib in Resources */, 8342FD8B2151095100D141F4 /* AppVersionLogoCell.xib in Resources */, 83BFAE68213CCF10004EF801 /* GiGaMineUserViewCell.xib in Resources */, + 8351474221521C2A00B25A88 /* GIGaChangePassVC.xib in Resources */, 8340BFA9213E65CA008F22E4 /* GIGACommonLocalizabe.strings in Resources */, 83835BA8212E4748001480F2 /* MAssaageCenterCell.xib in Resources */, 8361B3D3212155C300238FEB /* Assets.xcassets in Resources */, @@ -1408,6 +1463,7 @@ 8340BFAB213E665D008F22E4 /* GIGAUserLocalizable.strings in Resources */, 8342D9FD2131150200D16B1D /* 4481.wav in Resources */, 83835BB0212E4FCD001480F2 /* MessageListViewCell.xib in Resources */, + 835147322151E4EF00B25A88 /* GIGaAboutUsVC.xib in Resources */, 8342FD832150FA1500D141F4 /* AppVersionDescCell.xib in Resources */, 8338F6B12142182200B4780B /* MaskTime.png in Resources */, 83346ACF212BD7830054D597 /* GiGaWebViewController.xib in Resources */, @@ -1510,6 +1566,7 @@ 83846441214A4BFF00F12B33 /* MaskTestResultVC.m in Sources */, 83346AC5212BBC8C0054D597 /* GiGaRegistViewController.m in Sources */, 83346AD7212C18F50054D597 /* GiGaAppGaurdVC.m in Sources */, + 8351474B21523B7400B25A88 /* GIGaUserChangeMobleCell.m in Sources */, 8349585C212511040064DB6C /* AppDelegate+ThirdParty.m in Sources */, 83048481214F489000603CE7 /* GiGaUserJobViewCell.m in Sources */, 83BFAE73213CDB58004EF801 /* GiSysSettingsVC.m in Sources */, @@ -1534,6 +1591,7 @@ 8342FD7D2150F94600D141F4 /* AppVerionDescriptionVC.m in Sources */, 8357ADC92123BFCA000816F2 /* GiGaUserManager.m in Sources */, 8390116F214E20B2004CA790 /* LYSDatePickerViewController.m in Sources */, + 8351473C215215C500B25A88 /* GiGAUserInfoCell.m in Sources */, 83835BB3212E50ED001480F2 /* ActiveMesagelistVC.m in Sources */, 83835BC3212E677C001480F2 /* GiGaQuestionVC.m in Sources */, 83A2271F212AC8C100B3E75C /* GiGaUserLoginVC.m in Sources */, @@ -1541,10 +1599,13 @@ 83346ACE212BD7830054D597 /* GiGaWebViewController.m in Sources */, 8357ADD82124027D000816F2 /* GiGaUserDefault.m in Sources */, 83835BB6212E5174001480F2 /* GiGaServiceViewController.m in Sources */, + 835147352152003700B25A88 /* GiGaFeedBackViewController.m in Sources */, 8390116E214E20B2004CA790 /* LYSDateLogicViewController.m in Sources */, 8361B40721215E6F00238FEB /* GiGaHelper.m in Sources */, + 835147382152147600B25A88 /* GiGaUserInfoVC.m in Sources */, 83901175214E20B2004CA790 /* LYSDatePickerManager.m in Sources */, 83901173214E20B2004CA790 /* LYSDateBasicViewController.m in Sources */, + 8351474121521C2A00B25A88 /* GIGaChangePassVC.m in Sources */, 8392900F2134FA0A0077D2E8 /* GiGaCommentModel.m in Sources */, 8390116C214E20B2004CA790 /* LYSDatePopViewController.m in Sources */, 83835BA0212E43BD001480F2 /* GiGaMasssagesVC.m in Sources */, @@ -1568,6 +1629,7 @@ 83901179214E20B2004CA790 /* LYSDatePickerTypeBase.m in Sources */, 835060A2212D1225007E6220 /* GiGaMeViewController.m in Sources */, 8361B3CB212155C200238FEB /* AppDelegate.m in Sources */, + 8351474621521CC500B25A88 /* GiGaChangePhoneNumberVC.m in Sources */, 838388C8212F9C4200D14C53 /* GiGaLocalNotificationManager.m in Sources */, 83835BBC212E60E5001480F2 /* MessageDetailViewController.m in Sources */, 83835BCD212E856A001480F2 /* NSString+MD5.m in Sources */, @@ -1590,6 +1652,7 @@ 8392900C2134F9F80077D2E8 /* GiGaCommentView.m in Sources */, 839290062134F4240077D2E8 /* LXDanMuManager.m in Sources */, 833DE8E52150169F009D4329 /* JYAddressPicker.m in Sources */, + 834127212152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.m in Sources */, 8342FD7A2150C51100D141F4 /* GIGaFileManager.m in Sources */, 83901171214E20B2004CA790 /* LYSDatePickerLabel.m in Sources */, 838762E2214B9F580039D241 /* GiGaUserSexViewCell.m in Sources */, @@ -1597,6 +1660,7 @@ 83E40B2F21218BA0008149C4 /* GiGaUserViewController.m in Sources */, 83901170214E20B2004CA790 /* LYSDateHeaderViewController.m in Sources */, 835060A5212D3536007E6220 /* AppDelegate+GiGaConfig.m in Sources */, + 835147312151E4EF00B25A88 /* GIGaAboutUsVC.m in Sources */, 83901174214E20B2004CA790 /* LYSDateIndicatorViewController.m in Sources */, 83E40B2B21218B6F008149C4 /* GiGaExercisesViewController.m in Sources */, 8390117B214E20B2004CA790 /* LYSDatePickerHeaderView.m in Sources */, diff --git a/GIGA/Assets.xcassets/maskTime/bg_logo.imageset/bg_logo@2x.png b/GIGA/Assets.xcassets/maskTime/bg_logo.imageset/bg_logo@2x.png index a03c6966e71981e5f48915b6149e93167b57ef06..2854a3657e0f3ba27fe5205c76eacbffe374f468 100644 GIT binary patch literal 6581 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 M07*qoM6N<$f(J-#IsgCw literal 10395 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 C0t0#g diff --git a/GIGA/Assets.xcassets/maskTime/usergaurd_uphand.imageset/Contents.json b/GIGA/Assets.xcassets/maskTime/usergaurd_uphand.imageset/Contents.json new file mode 100644 index 0000000..a57f5b7 --- /dev/null +++ b/GIGA/Assets.xcassets/maskTime/usergaurd_uphand.imageset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "usergaurd_uphand@2x.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/GIGA/Assets.xcassets/maskTime/usergaurd_uphand.imageset/usergaurd_uphand@2x.png b/GIGA/Assets.xcassets/maskTime/usergaurd_uphand.imageset/usergaurd_uphand@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..84566dffdf3a5ea38dceddb3c3cea0a6edf8cec2 GIT binary patch literal 3238 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 literal 0 HcmV?d00001 diff --git a/GIGA/Assets.xcassets/userCenter/bg_change_newnumber.imageset/Contents.json b/GIGA/Assets.xcassets/userCenter/bg_change_newnumber.imageset/Contents.json new file mode 100644 index 0000000..48d7033 --- /dev/null +++ b/GIGA/Assets.xcassets/userCenter/bg_change_newnumber.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "bg_change_newnumber@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/GIGA/Assets.xcassets/userCenter/bg_change_newnumber.imageset/bg_change_newnumber@2x.png b/GIGA/Assets.xcassets/userCenter/bg_change_newnumber.imageset/bg_change_newnumber@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..75f53cb71f986b80b564fcefc33a3aa7b19af9a7 GIT binary patch literal 2403 zcmXw5d03M97DfU^OhpB~nli3QHWZe1Yg_^}m+OXUX}N)UabGIRZCoJ9B{j1}twxX; z*L*ZbbHDCrljTNcYMT1!q?VN#>ZpzP`#zk1fak~g-uImMJ?H$sG@6r*JX!+{gTdtO zY^~0~U{dM8Z$FeY@acrVYY%)$T{&Yzg;n-zF2Z24T6R_xw`i&5Nykv^e>HnAHOI?m zc56In9W7e#xMvbni=sLW@jf%@xQf~-VgE*fvS>!r-R0m4tCUo>0K zBs?20ch_{8>zn*DM|zl=6(K#&khR^j+ygl%a`6trRg^>AdncT!!V*oLf$KBU-Zz^VR?+ax~;1D`=* zm<|b}WpJtyO{TwPfQ9fQMwGao8SytS~6dCo3!2e0NHxkiwnot5>}$wLmwu zaquZ@&B1X!J-rXl=f55R+RrFnQi?$3ixHuxw|7g9+Zl6dua!+_!9Rreqd%gkIxCgZ zHnt5rRIriQsmK;tw6|royXptMHTpV~!CAP^kLL528yT4&0!Q9Nr-4dLv&nOm!t4fb zg?9^$Z}%wP04>p`8DJKN@AOArC|>!QZ>ZxUR_w9|vTIjk+g_)ZbhPTEjvihYv`KVYrZ}a`6e^-s)+B84 z0B;~-c<$Cg!h<^JcTdzo42%uCc-tl}G&J;VwTGD@zu<(fF%wkuC0yP&c38(jz5#QO0jp^DylhNN8PIl?yE+!6+OM+AD+8i4c0^`cQF+#v9 zhp>!3=3ZV*FO%*3AGo*vx`Jf7M}UZ5~a+MFC6wQ~BxjO!U2 zP|C_Eb3*OhxAe|g1`Dz*M+Xy}N!6*Q=&Ym_6w1(!G~^>evQz9q4j`{W(B`$8wy6zc z$t1I5;f340w$6@lwS?sC(q4yCV5~2jcBnx#)E%PRaJY4E2ADpXU(lYDTkvh&pw7wJ zxy?I5=G*QDqT5jl+uWjZsj~-(C$IKCWDh}qyi)OCW%~K~%`&;&E>r=Y_#McXd<3DY zh2>Ib_|(~ce-cR!ayb@$6OG1I`MTMLR<0LGaP@8I9mjyf(M1cV5-hgxk?}pv|1dd# zZomSjP>d}srm74|B2EwS92A()RY)U}J{K99a%i?KC5N^3%W*N_R?_#NPf-fDPAuQ+ z+9O*>4~9gOg0EhPeLjD=YxCn!(tt>ElSZ=lNpt%nn=JdBeES$Noy0smphXfnsr`|? z^G{tt`P9xVeN-CEtO@K)6VwZJY}41xB+R)IDb7jgYCy=nk_S?bTGDeyCT93Rwbh~! zuL0Lv-C?{BL5Tqz83;2SdExQ<%BF6#_?K6!ub0-Np#_?4!9H*AY~&Tdip%O6XNqh( zG9XJi2qu!dq}+^C-p5JEwt#S1Xs;@lh1fJl-4m7khN)a9WhR6%jrNk`R##V_75c3_ znp(K@PO_Vm$ksL(@1iq*94gn---w5HQmIm)C`Xhat}Kg5fyPY=q5tKFwyv=ktjJ?( Qz*`f{?zEFtC6&(kKe}wmH2?qr literal 0 HcmV?d00001 diff --git a/GIGA/Assets.xcassets/userCenter/bg_change_oldnumber.imageset/Contents.json b/GIGA/Assets.xcassets/userCenter/bg_change_oldnumber.imageset/Contents.json new file mode 100644 index 0000000..151473c --- /dev/null +++ b/GIGA/Assets.xcassets/userCenter/bg_change_oldnumber.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "bg_change_oldnumber@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/GIGA/Assets.xcassets/userCenter/bg_change_oldnumber.imageset/bg_change_oldnumber@2x.png b/GIGA/Assets.xcassets/userCenter/bg_change_oldnumber.imageset/bg_change_oldnumber@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..81e45c8bcee1c602401489a3355cd5d2c21fe48e GIT binary patch literal 2066 zcmYLKd00~E8b`zuDiu2}*8wBkj%AiJX^NU=5D+flZdz%!s5xngigha))07e~Wop5U zxuDWwrFB)@utJ(_($GnoNkzL_Sh?jhIeDG#cbb{!{&UXvywCgo-rx6om#=^wNMD7s z!l6*8RZIpo7=_Xkfb%}XW#AiVUCaVMy|iGuAFBQ-L5D&uf5N103+3s(AM&mvgh42+ zml=(U*=B<2@|!!9kEMn}A!U9Wf?sGfk<@&K33{jR+N&^w`V4k+3lFc^6yQWoh*LoL zV9ZJ?8JibtIEw%9xX$rm#+C!V(b{`)fPR!`5gX^#=7>C~wct*xmx{|<9QV+>6a zS`|{m)S>(L@5^fR+od|}PxNe*9$Jc-5;SggPCux;2nht)feyaezB%Y$8TlP0qIc%A@LE+}$e;#z)!~(7E;L{s7V_EZ!7AM)B{t3{A;v1~>zDhhu;mo7dmA?7vx5 zKem4=F&%256#^~zm+;Ns)GXZ<%FG0m&_d=H3(tA@%*TCGvJKwj=C0OyXiRvxmh0c? zR&v#O0=JzmVyWGcTbxzss2UNml28tnW>l&Et{_>cw*VazL*Km|_B!h*v$s(1G{@NQX9XP?kZcFWBUmrO zXh)RWej+W(<24?L5sj9K8M|qd&J(|Ip|qnOWdQ7Zvt}Fe=Nta>INCp4Un5lzqkFr> zGkdOV;j)502t0lOPDAGIt4D7Y*wxKjpS$cvRQmfHkpbNl%v6#8u-M@%qS9-Z&<fLN8bja|8>)?bry(fEu1RY- zRz-itCFhs#)(M4wyGRsLO-o>fB|Ux((i9MSxs$gU^d(2EM3GKZx|=T|SRi4{aW#kM z0?yeATYl54&L0AGu>I^81>#mLeALA4J^f-e$Qs3;&ub;>ydfRT3hLRFbpg=JffgEg z5gCt%)%~Qs`WNg0232nj&Rx{K8gv=yUzp+iBV(OG!T?V$#O&IEYzU?{6)Lz{1>ux+ z`6}RKS(AOsk2sND>I#S+G+!Xe3qGIRn?Z@DyEInlBQqGyA0ao=E7?xMp1w|%Fyu}V zqMoV7L&mUOmb))<V`Zh+vl}l#I*(NZ?b#il*O@2wwwI zeJOnJegSpoUi!0X3;sJ`*~HYA^2YAK(4ak${ciBDVr(Mt--?nx^>xZMQ^R0TsU*O$m{JZ<1iPx`8oEh*bV`~PG>ye5AULpBM^v$|*j04xg= zY$1{t41_&t*TEC^X=sp@;xLo+f-L$v45nnZ8z5cRg6R;FXP06QohJYZFb}sQjn2^C zdSusrXe{}XgbRhuOIW}$V?|roJx29B7kc0Es1n)6QT*~(4;?Dm)xGK0?m9x379H>phll=vMz#p}yUGV!BxYwUW*Kn7j5E zxUDV!Rwd)VY=>NFEhW7WQSP|GQ`OA%Dz@Z$niY}uy}TRrsBb&E^{un1<3EYCc8h0k zK%>;Lv?|L59Sm)mymHktq5`&kiIDR|N7xJmaBNR~O9m@202b$fdu18?<{D-jtf2_n zEP4}=;Am~A|7~ZSQYv>?*Zp_<^sV9#UU4!lpjN!;Ua`Fx_%YBUJ4Eh%n*q5RCGuSI nkD(J~jwgE`PLBs}JpJ6~_4(M)2`YyP9(fd#7D%o4i~a6@@Tg9P literal 0 HcmV?d00001 diff --git a/GIGA/Assets.xcassets/userCenter/btn_changephonesend.imageset/Contents.json b/GIGA/Assets.xcassets/userCenter/btn_changephonesend.imageset/Contents.json new file mode 100644 index 0000000..f24bc43 --- /dev/null +++ b/GIGA/Assets.xcassets/userCenter/btn_changephonesend.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "btn_changephonesend@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/GIGA/Assets.xcassets/userCenter/btn_changephonesend.imageset/btn_changephonesend@2x.png b/GIGA/Assets.xcassets/userCenter/btn_changephonesend.imageset/btn_changephonesend@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0633315895d87d35f387d44ae0bd168a332388d0 GIT binary patch literal 414 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 hDngjlL#Wjqv7(*t{)!^$v}FJQ literal 0 HcmV?d00001 diff --git a/GIGA/Category/SHineLabel.h b/GIGA/Category/SHineLabel.h index 4712d89..11816de 100644 --- a/GIGA/Category/SHineLabel.h +++ b/GIGA/Category/SHineLabel.h @@ -15,5 +15,7 @@ @property(nonatomic,retain) UIColor *oinsideColor; //光晕 @property(nonatomic,retain) UIColor *blurColor; +@property(nonatomic) CGFloat fontsize; + @end diff --git a/GIGA/Category/SHineLabel.m b/GIGA/Category/SHineLabel.m index 745e952..0629a75 100644 --- a/GIGA/Category/SHineLabel.m +++ b/GIGA/Category/SHineLabel.m @@ -30,8 +30,7 @@ CGContextSetTextDrawingMode(ctx, mode); NSMutableParagraphStyle *paragraStyle = [[NSMutableParagraphStyle alloc] init]; paragraStyle.alignment = NSTextAlignmentCenter; - - [self.text drawInRect:self.bounds withAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"PingFangSC-Semibold" size:22],NSForegroundColorAttributeName:[UIColor whiteColor],NSKernAttributeName:@(4),NSParagraphStyleAttributeName:paragraStyle}]; + [self.text drawInRect:self.bounds withAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"PingFangSC-Semibold" size:self.fontsize],NSForegroundColorAttributeName:[UIColor whiteColor],NSKernAttributeName:@(4),NSParagraphStyleAttributeName:paragraStyle}]; } -(void)dealloc{ diff --git a/GIGA/Config/ApiRequestConfig.h b/GIGA/Config/ApiRequestConfig.h index 9c3ad75..3b72786 100644 --- a/GIGA/Config/ApiRequestConfig.h +++ b/GIGA/Config/ApiRequestConfig.h @@ -21,5 +21,19 @@ #define kUploadAvator @"sys/oss/v1/upload" //版本说明 #define kAPiAPPVersion @"sys/maskversionarticle/v1/list" +//修改密码 +#define kPAiUSerEditpwd @"user/v1/editpwd" +//修改手机号 +#define kApiChangePhone @"user/v1/editmobil" +//修改手机号发送验证码 +#define kApiChangeMobleCode @"msg/sms/v1/editsendcode" +//发送验证码 +#define kApiSendPhoneCode @"msg/sms/v1/sendcode"; +//找回密码发送验证码 +#define kApiChangePassSendCode @"msg/sms/v1/retrievesendcode" +//异步验证手机验证码 +#define kApiVersifyPhoneCode @"v1/user/v1/validateSmsCode" + + #endif /* ApiRequestConfig_h */ diff --git a/GIGA/Config/GIGA.h b/GIGA/Config/GIGA.h index ed9168b..2bfbaff 100644 --- a/GIGA/Config/GIGA.h +++ b/GIGA/Config/GIGA.h @@ -49,6 +49,8 @@ UD_SYNC #define kUserLogOutNotify @"userLogOutNotify" //用户头像修改 #define kUserAvatorUpdateNoti @"userAvatorUpdate" +//用户昵称修改 +#define kUserNameUpDateNoti @"userNickNameUpdate" //微信登陆授权成功 #define kWeiXinAuthrization_Success @"WXAuthSuccess" diff --git a/GIGA/Modules/LogIn/Controller/GiGaUserLoginVC.m b/GIGA/Modules/LogIn/Controller/GiGaUserLoginVC.m index daddf1e..5f895c8 100644 --- a/GIGA/Modules/LogIn/Controller/GiGaUserLoginVC.m +++ b/GIGA/Modules/LogIn/Controller/GiGaUserLoginVC.m @@ -99,7 +99,6 @@ self.loginBtn.layer.cornerRadius = self.loginBtn.frame.size.height / 2; NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] init]; - NSTextAttachment *attch = [[NSTextAttachment alloc] init]; attch.image = [UIImage imageNamed:@"ic_wechat"]; attch.bounds = CGRectMake(0,-4, 12.9, 12.5); @@ -169,13 +168,20 @@ GIGA_ShowToast(@"密码不能为空"); return; } - BOOL isPass = [GiGaHelper checkPassWord:self.passwordTextField.text]; - - if (isPass == NO) { +// BOOL isPass = [GiGaHelper checkPassWord:self.passwordTextField.text]; +// +// if (isPass == NO) { +// GIGA_ShowToast(@"请输入6-20位数字和字母组成的密码"); +// return; +// } + int leng = [GiGaHelper convertToInt: self.passwordTextField.text]; + + if (!(leng >= 6 && leng <= 20)) { GIGA_ShowToast(@"请输入6-20位数字和字母组成的密码"); return; } + [self loginWithAction:btn]; } diff --git a/GIGA/Modules/LogIn/Controller/PassWordResetVC.m b/GIGA/Modules/LogIn/Controller/PassWordResetVC.m index 49af51b..7ebfdce 100644 --- a/GIGA/Modules/LogIn/Controller/PassWordResetVC.m +++ b/GIGA/Modules/LogIn/Controller/PassWordResetVC.m @@ -153,9 +153,10 @@ return; } - BOOL isPass = [GiGaHelper checkPassWord:self.passNewTextField.text]; + //BOOL isPass = [GiGaHelper checkPassWord:self.passNewTextField.text]; + int leng = [GiGaHelper convertToInt: self.passNewTextField.text]; - if (isPass == NO) { + if (!(leng >= 6 && leng <= 20)) { GIGA_ShowToast(@"请输入6-20位数字和字母组成的密码"); return; } diff --git a/GIGA/Modules/Mask/Controller/GiGaFlingCommitVC.m b/GIGA/Modules/Mask/Controller/GiGaFlingCommitVC.m index ac2a8ac..c885b48 100644 --- a/GIGA/Modules/Mask/Controller/GiGaFlingCommitVC.m +++ b/GIGA/Modules/Mask/Controller/GiGaFlingCommitVC.m @@ -124,7 +124,11 @@ NSURL* url = [[NSURL alloc] initWithString:@"http://wsyts.s1.natapp.cc"]; //@"connectParams":@{@"token":@""} - SocketManager *manager = [[SocketManager alloc] initWithSocketURL:url config:@{@"log": @NO, @"forcePolling": @YES,@"extraHeaders":@{@"device":@"ios"},@"token":@""}]; + NSString *token = [GiGaUserDefault getCurentToken]; + if (!token) { + token = @""; + } + SocketManager *manager = [[SocketManager alloc] initWithSocketURL:url config:@{@"log": @NO, @"forcePolling": @YES,@"extraHeaders":@{@"device":@"ios"},@"token":token}]; _manager = manager; _client = manager.defaultSocket; diff --git a/GIGA/Modules/Mask/Controller/GiGaMaskTaskViewController.m b/GIGA/Modules/Mask/Controller/GiGaMaskTaskViewController.m index 6d937f2..9fa55f8 100644 --- a/GIGA/Modules/Mask/Controller/GiGaMaskTaskViewController.m +++ b/GIGA/Modules/Mask/Controller/GiGaMaskTaskViewController.m @@ -186,6 +186,7 @@ if (showAppGaurd == NO) { [self showAPPappGaurdView]; } + //[self showUserGaurdView]; } -(void)viewWillDisappear:(BOOL)animated{ @@ -198,9 +199,7 @@ - (void)viewDidLoad { [super viewDidLoad]; - // Do any additional setup after loading the view. -// [self.view addSubview:self.tableView]; -// self.tableView.backgroundColor = GIGA_MAIN_BGCOLOR; + [self setUpNav]; [self initUI]; [self addNotify]; @@ -545,7 +544,7 @@ }else{ userGuardVC.modalPresentationStyle = UIModalPresentationCurrentContext; } - userGuardVC.view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5]; + userGuardVC.view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.3]; [self presentViewController:userGuardVC animated:NO completion:nil]; } diff --git a/GIGA/Modules/Mask/Controller/UserGuardViewController.m b/GIGA/Modules/Mask/Controller/UserGuardViewController.m index 88ecbdd..5fddd54 100644 --- a/GIGA/Modules/Mask/Controller/UserGuardViewController.m +++ b/GIGA/Modules/Mask/Controller/UserGuardViewController.m @@ -9,8 +9,10 @@ #import "UserGuardViewController.h" #import "Masonry.h" #import "GiGaUserDefault.h" +#import "SHineLabel.h" @interface UserGuardViewController () +@property(nonatomic,strong) UIImageView *handimage; @end @@ -27,21 +29,93 @@ -(void)creatUI{ - UIButton *dismisBtn= [UIButton buttonWithType:UIButtonTypeCustom]; +// UIButton *dismisBtn= [UIButton buttonWithType:UIButtonTypeCustom]; +// +// [dismisBtn setTitle:@"知道了" forState:UIControlStateNormal]; +// [dismisBtn setTintColor:[UIColor whiteColor]]; +// dismisBtn.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.1]; +// [dismisBtn addTarget:self action:@selector(dismisBtnAction) forControlEvents:UIControlEventTouchUpInside]; +// [self.view addSubview:dismisBtn]; +// +// [dismisBtn mas_makeConstraints:^(MASConstraintMaker *make) { +// make.width.mas_equalTo(100); +// make.height.mas_equalTo(60); +// make.centerX.mas_equalTo(self.view.mas_centerX); +// make.top.mas_equalTo(self.view.mas_top).offset(200); +// }]; - [dismisBtn setTitle:@"知道了" forState:UIControlStateNormal]; - [dismisBtn setTintColor:[UIColor whiteColor]]; - dismisBtn.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.1]; - [dismisBtn addTarget:self action:@selector(dismisBtnAction) forControlEvents:UIControlEventTouchUpInside]; - [self.view addSubview:dismisBtn]; - - [dismisBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.mas_equalTo(100); - make.height.mas_equalTo(60); - make.centerX.mas_equalTo(self.view.mas_centerX); - make.top.mas_equalTo(self.view.mas_top).offset(200); + //usergaurd_uphand + UIImageView *upimage = [[UIImageView alloc] init]; + upimage.image = [UIImage imageNamed:@"userguard_up"]; + [self.view addSubview:upimage]; + [upimage mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.and.with.mas_equalTo(20); + make.centerX.mas_equalTo(self.view.mas_centerX).offset(10); + make.top.mas_equalTo(self.view.mas_top).offset(298); + }]; + UIImageView *handimage = [[UIImageView alloc] init]; + self.handimage = handimage; + handimage.image = [UIImage imageNamed:@"usergaurd_uphand"]; + [self.view addSubview:handimage]; + [handimage mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(upimage.mas_right).offset(2); + make.size.mas_equalTo(CGSizeMake(50, 60)); + + make.top.mas_equalTo(self.view.mas_top).offset(301); + + }]; + + SHineLabel *shainLabe = [[SHineLabel alloc] init]; + [self.view addSubview:shainLabe]; + shainLabe.textColor = [UIColor whiteColor]; + shainLabe.outLineColor = [UIColor whiteColor]; + shainLabe.blurColor = [UIColor whiteColor]; + shainLabe.oinsideColor = [UIColor whiteColor]; + shainLabe.fontsize = 18; + shainLabe.text = @"按住面膜向上滑\n敷到脸部开始倒计时"; + shainLabe.numberOfLines = 0; + + [shainLabe mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(222, 60)); + //make.width.mas_equalTo(222); + make.top.mas_equalTo(self.view.mas_top).offset(384); + make.centerX.mas_equalTo(self.view.mas_centerX); + }]; + + // [self creatnaima]; +} + + +- (void)viewDidAppear:(BOOL)animated +{ + [self creatnaima]; +} +-(void)creatnaima{ + + [UIView animateWithDuration:1.0 animations:^{ + [UIView setAnimationRepeatCount:MAXFLOAT]; + [self->_handimage mas_updateConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(201); + + }]; + [self.view layoutIfNeeded]; + } completion:^(BOOL finished) { + + [self->_handimage mas_updateConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(301); + + }]; + [self.view layoutIfNeeded]; + }]; +} + + + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event +{ + [self dismisBtnAction]; } -(void)dismisBtnAction{ diff --git a/GIGA/Modules/Mask/View/MaskTimeCircularProgressView.m b/GIGA/Modules/Mask/View/MaskTimeCircularProgressView.m index 4ca794c..d356b27 100644 --- a/GIGA/Modules/Mask/View/MaskTimeCircularProgressView.m +++ b/GIGA/Modules/Mask/View/MaskTimeCircularProgressView.m @@ -85,6 +85,7 @@ _countLabel.blurColor = [UIColor whiteColor]; _countLabel.oinsideColor = [UIColor whiteColor]; _countLabel.text = @"00:00"; + _countLabel.fontsize = 22; _countLabel.font = [UIFont fontWithName:GIGA_FONTBOLD size:22]; } return _countLabel; diff --git a/GIGA/Modules/Me/Controller/AppVerionDescriptionVC.m b/GIGA/Modules/Me/Controller/AppVerionDescriptionVC.m index 1bd51c5..2958484 100644 --- a/GIGA/Modules/Me/Controller/AppVerionDescriptionVC.m +++ b/GIGA/Modules/Me/Controller/AppVerionDescriptionVC.m @@ -22,18 +22,19 @@ - (void)viewDidLoad { [super viewDidLoad]; + [self addNavTitile:@"版本说明"]; _currntPage = 1; _totalPage = 1; + self.versionsArr = [[NSMutableArray alloc] init]; [self.view addSubview:self.tableView]; self.tableView.delegate = self; self.tableView.dataSource = self; - self.tableView.backgroundColor = [UIColor whiteColor]; + self.tableView.backgroundColor = GIGA_MAIN_BGCOLOR; self.tableView.separatorStyle = UITableViewCellSelectionStyleNone; self.tableView.sectionFooterHeight = 0; self.tableView.estimatedSectionFooterHeight= 0; self.tableView.estimatedSectionHeaderHeight = 0; - self.tableView.frame = CGRectMake(0, 1, KMainW, self.view.bounds.size.height - SAFE_NAV_HEIGHT); [self requstListDatas]; } @@ -55,8 +56,8 @@ if(!cell){ cell = [[[NSBundle mainBundle] loadNibNamed:@"AppVersionLogoCell" owner:self options:nil] lastObject]; } - return cell; + return cell; } AppVersionDescCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AppVersionDescCell"]; @@ -64,6 +65,9 @@ if(!cell){ cell = [[[NSBundle mainBundle] loadNibNamed:@"AppVersionDescCell" owner:self options:nil] lastObject]; } + + VersionModel *model =self.versionsArr[indexPath.row]; + [cell loadCellDataAt:indexPath version:model]; return cell; } @@ -92,6 +96,20 @@ return 4; } + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ + if (section == 1) { + UIView *view = [[UIView alloc] init]; + view.backgroundColor = GIGARGB(222, 222, 222, 1); + + return view; + } + UIView *view = [[UIView alloc] init]; + view.backgroundColor = GIGARGB(222, 222, 222, 1); + return view; + +} + -(void)requstListDatas{ GiGaBaseAPiRequest *reuqest = [GiGaBaseAPiRequest initWithRequestPath:kAPiAPPVersion method:RequestPostMethod parms:@{}]; diff --git a/GIGA/Modules/Me/Controller/GIGaAboutUsVC.h b/GIGA/Modules/Me/Controller/GIGaAboutUsVC.h new file mode 100644 index 0000000..c19fd76 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GIGaAboutUsVC.h @@ -0,0 +1,17 @@ +// +// GIGaAboutUsVC.h +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GiGaBaseViewController.h" + +@interface GIGaAboutUsVC : GiGaBaseViewController +@property (weak, nonatomic) IBOutlet UIView *backWhiteBorderView; +@property (weak, nonatomic) IBOutlet UILabel *curentV; +@property (weak, nonatomic) IBOutlet UILabel *xieyiLab; + + +@end diff --git a/GIGA/Modules/Me/Controller/GIGaAboutUsVC.m b/GIGA/Modules/Me/Controller/GIGaAboutUsVC.m new file mode 100644 index 0000000..c0c23c1 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GIGaAboutUsVC.m @@ -0,0 +1,58 @@ +// +// GIGaAboutUsVC.m +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GIGaAboutUsVC.h" + +@interface GIGaAboutUsVC () + +@end + +@implementation GIGaAboutUsVC + +- (void)viewDidLoad { + [super viewDidLoad]; + [self addNavTitile:@"关于我们"]; + self.view.backgroundColor = GIGA_MAIN_BGCOLOR; + // Do any additional setup after loading the view from its nib. + self.backWhiteBorderView.layer.masksToBounds = YES; + self.backWhiteBorderView.layer.borderWidth = 1; + self.backWhiteBorderView.layer.cornerRadius = 2; + self.backWhiteBorderView.layer.borderColor = [UIColor whiteColor].CGColor; + NSDictionary *infoDic=[[NSBundle mainBundle] infoDictionary]; + // CFShow((__bridge CFTypeRef)(infoDic)); + NSString *app_Version=[infoDic objectForKey:@"CFBundleShortVersionString"]; + NSLog(@"app_Version%@",app_Version); + self.curentV.text = [NSString stringWithFormat:@"当前版本:%@",app_Version]; + + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(xiyiDetail)]; + [self.xieyiLab addGestureRecognizer:tap]; + //self.xieyiLab.backgroundColor = [UIColor blueColor]; +} + +-(void)xiyiDetail{ + + +} + + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/GIGA/Modules/Me/Controller/GIGaAboutUsVC.xib b/GIGA/Modules/Me/Controller/GIGaAboutUsVC.xib new file mode 100644 index 0000000..238905f --- /dev/null +++ b/GIGA/Modules/Me/Controller/GIGaAboutUsVC.xib @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GIGA/Modules/Me/Controller/GIGaChangePassVC.h b/GIGA/Modules/Me/Controller/GIGaChangePassVC.h new file mode 100644 index 0000000..78f0f73 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GIGaChangePassVC.h @@ -0,0 +1,17 @@ +// +// GIGaChangePassVC.h +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GiGaBaseViewController.h" + +@interface GIGaChangePassVC : GiGaBaseViewController +@property (weak, nonatomic) IBOutlet UITextField *oldPassField; +@property (weak, nonatomic) IBOutlet UITextField *xinPassFiled; + +@property (weak, nonatomic) IBOutlet UITextField *reNewPassFiled; + +@end diff --git a/GIGA/Modules/Me/Controller/GIGaChangePassVC.m b/GIGA/Modules/Me/Controller/GIGaChangePassVC.m new file mode 100644 index 0000000..51d1145 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GIGaChangePassVC.m @@ -0,0 +1,101 @@ +// +// GIGaChangePassVC.m +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GIGaChangePassVC.h" +#import "GiGaBaseAPiRequest.h" + +@interface GIGaChangePassVC () + +@end + +@implementation GIGaChangePassVC + +- (void)viewDidLoad { + [super viewDidLoad]; + [self addNavTitile:@"修改密码"]; + // Do any additional setup after loading the view from its nib. + UIButton *saveBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + [saveBtn addTarget:self action:@selector(doBtnAction:) forControlEvents:UIControlEventTouchUpInside]; + saveBtn.frame = CGRectMake(0, 0,40, 36); + NSAttributedString *attrititle = [GiGaHelper stringWithText:@"完成" textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTMEDIUM(16) leterSpace:0]; + [saveBtn setAttributedTitle:attrititle forState:UIControlStateNormal]; + UIBarButtonItem *saveItem = [[UIBarButtonItem alloc] initWithCustomView:saveBtn]; + self.navigationItem.rightBarButtonItem = saveItem; + +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +-(void)doBtnAction:(UIButton *)btn{ + + if (self.oldPassField.text.length == 0) { + + //[self.view makeToast:@"请输入原密码" duration:2 position:CSToastPositionTop]; + GIGA_ShowToast(@"请输入新密码"); + return; + } + + if (self.xinPassFiled.text.length == 0) { + //[self.view makeToast:@"请输入新密码" duration:2 position:CSToastPositionTop]; + GIGA_ShowToast(@"请输入新密码"); + return; + } + + int leng = [GiGaHelper convertToInt: self.xinPassFiled.text]; + if (!(leng >= 6 && leng <= 20)) { + GIGA_ShowToast(@"请输入6-20位数字和字母组成的新密码"); + return; + } + + if (self.reNewPassFiled.text.length == 0) { + GIGA_ShowToast(@"请输入新密码"); + return; + } + + + if (self.reNewPassFiled.text != self.xinPassFiled.text) { + GIGA_ShowToast(@"两次输入密码不一致!"); + return; + } + + [self newPassBtnAction:btn]; + +} + +-(void)newPassBtnAction:(UIButton *)btn{ + + btn.userInteractionEnabled = NO; + [self.view makeToastActivity:CSToastPositionCenter]; + NSDictionary *params = @{ + @"password":self.oldPassField.text, + @"newPassword":self.xinPassFiled.text, + @"newPasswordConfirm":self.reNewPassFiled.text + }; + GiGaBaseAPiRequest *requst = [GiGaBaseAPiRequest initWithRequestPath:kPAiUSerEditpwd method:RequestPostMethod parms:params]; + [requst requstDataWithResult:^(GiGaAPIResult *result) { + [self.view hideToastActivity]; + btn.userInteractionEnabled = YES; + if (result.success) { + GIGA_WIndowTost(result.message); + [self.navigationController popViewControllerAnimated:YES]; + + }else{ + if (result.code == 401) { + //token失效 + [GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self]; + } + GIGA_WIndowTost(result.message); + } + }]; + +} + +@end diff --git a/GIGA/Modules/Me/Controller/GIGaChangePassVC.xib b/GIGA/Modules/Me/Controller/GIGaChangePassVC.xib new file mode 100644 index 0000000..4bd24a2 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GIGaChangePassVC.xib @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GIGA/Modules/Me/Controller/GIGaMaskTimeUseRecordVC.h b/GIGA/Modules/Me/Controller/GIGaMaskTimeUseRecordVC.h new file mode 100644 index 0000000..01a26e4 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GIGaMaskTimeUseRecordVC.h @@ -0,0 +1,13 @@ +// +// GIGaMaskTimeUseRecordVC.h +// GIGA +// +// Created by lianxiang on 2018/9/20. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GiGaBaseViewController.h" + +@interface GIGaMaskTimeUseRecordVC : GiGaBaseViewController + +@end diff --git a/GIGA/Modules/Me/Controller/GIGaMaskTimeUseRecordVC.m b/GIGA/Modules/Me/Controller/GIGaMaskTimeUseRecordVC.m new file mode 100644 index 0000000..e9f75c2 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GIGaMaskTimeUseRecordVC.m @@ -0,0 +1,38 @@ +// +// GIGaMaskTimeUseRecordVC.m +// GIGA +// +// Created by lianxiang on 2018/9/20. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GIGaMaskTimeUseRecordVC.h" + +@interface GIGaMaskTimeUseRecordVC () + +@end + +@implementation GIGaMaskTimeUseRecordVC + +- (void)viewDidLoad { + [super viewDidLoad]; + [self addNavTitile:@"历史测试"]; + // Do any additional setup after loading the view. +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/GIGA/Modules/Me/Controller/GiGaChangePhoneNumberVC.h b/GIGA/Modules/Me/Controller/GiGaChangePhoneNumberVC.h new file mode 100644 index 0000000..c4d1b1e --- /dev/null +++ b/GIGA/Modules/Me/Controller/GiGaChangePhoneNumberVC.h @@ -0,0 +1,13 @@ +// +// GiGaChangePhoneNumberVC.h +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GiGaBaseViewController.h" + +@interface GiGaChangePhoneNumberVC : GiGaBaseViewController + +@end diff --git a/GIGA/Modules/Me/Controller/GiGaChangePhoneNumberVC.m b/GIGA/Modules/Me/Controller/GiGaChangePhoneNumberVC.m new file mode 100644 index 0000000..9d32234 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GiGaChangePhoneNumberVC.m @@ -0,0 +1,300 @@ +// +// GiGaChangePhoneNumberVC.m +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GiGaChangePhoneNumberVC.h" +#import "GIGaUserChangeMobleCell.h" +#import "GiGaBaseAPiRequest.h" + +//typedef NS_ENUM(NSInteger,PohoneCodeType) +//{ +// PohoneCodeTypeOld = 0,//原手机号 +// PohoneCodeTypeNew//新手机号 +// +// +//}; + +@interface GiGaChangePhoneNumberVC () +//@property(nonatomic) PohoneCodeType viewCodeType; +@property(nonatomic) BOOL nextSteep; +@property(nonatomic,copy) NSString *oldCode; +@property(nonatomic,copy) NSString *xinCode; +@end + +@implementation GiGaChangePhoneNumberVC + +- (void)viewDidLoad { + [super viewDidLoad]; + [self addNavTitile:@"修改手机号"]; + _nextSteep = NO; + // Do any additional setup after loading the view from its nib. + [self.view addSubview:self.tableView]; + self.tableView.delegate = self; + self.tableView.dataSource = self; + self.tableView.backgroundColor = [UIColor whiteColor]; + self.tableView.separatorStyle = UITableViewCellSelectionStyleNone; + self.tableView.sectionFooterHeight = 0; + self.tableView.estimatedSectionFooterHeight= 0; + self.tableView.estimatedSectionHeaderHeight = 0; + self.tableView.bounces = NO; + self.tableView.frame = CGRectMake(0,0, KMainW, self.view.bounds.size.height - SAFE_NAV_HEIGHT); + +} + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + + return 1; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + + + GIGaUserChangeMobleCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GIGaUserChangeMobleCell"]; + if(!cell){ + cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserChangeMobleCell" owner:self options:nil] lastObject]; + + } + [cell.codeSendBtn addTarget:self action:@selector(sendCodeBtnAction:) forControlEvents:UIControlEventTouchUpInside]; + if (_nextSteep) { + cell.numberTexFiled.userInteractionEnabled = YES; + cell.oldBtn.backgroundColor = GIGARGB(227, 227, 227, 1); + + NSAttributedString *atti1 = [GiGaHelper stringWithText:@"1.验证原号码" textColor:GIGARGB(165,165, 165, 1) textFont:GIGA_TEXTFONTMEDIUM(13) leterSpace:0]; + [cell.oldBtn setAttributedTitle:atti1 forState:UIControlStateNormal]; + + cell.xinPhoneBtn.backgroundColor = GIGARGB(227, 227, 227, 1); + NSAttributedString *atti = [GiGaHelper stringWithText:@"2.绑定新手机" textColor:GIGARGB(131, 10, 10, 1) textFont:GIGA_TEXTFONTMEDIUM(13) leterSpace:0]; + [cell.xinPhoneBtn setAttributedTitle:atti forState:UIControlStateNormal]; + + [cell.xinPhoneBtn setBackgroundImage:[UIImage imageNamed:@"user_changephonewihte"] forState:UIControlStateNormal]; + + }else{ + + cell.numberTexFiled.userInteractionEnabled = NO; + + } + + return cell; + +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + return 170.f; + +} + +- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ + + return 115.f; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ + + return 0.1; +} + +- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{ + UIView *view = [[UIView alloc] init]; + UIButton *nextBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + nextBtn.backgroundColor = GIGARGB(181, 14, 14, 1); + nextBtn.layer.masksToBounds = YES; + nextBtn.layer.cornerRadius = 41/2; + + [nextBtn addTarget:self action:@selector(nextBtnAction:) forControlEvents:UIControlEventTouchUpInside]; + nextBtn.frame = CGRectMake((KMainW - 244)/2 , 5, 244, 41); + if (_nextSteep) { + NSAttributedString *attrititle = [GiGaHelper stringWithText:@"下一步" textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTBOLD(16) leterSpace:0]; + [nextBtn setAttributedTitle:attrititle forState:UIControlStateNormal]; + }else{ + NSAttributedString *attrititle = [GiGaHelper stringWithText:@"完成" textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTBOLD(16) leterSpace:0]; + [nextBtn setAttributedTitle:attrititle forState:UIControlStateNormal]; + } + [view addSubview:nextBtn]; + + UILabel *tishiLab = [[UILabel alloc] init]; + tishiLab.frame = CGRectMake((KMainW - 70)/2,CGRectGetMaxY(nextBtn.frame) + 32, 70, 14); + NSMutableAttributedString *attriTile = [[NSMutableAttributedString alloc] init]; + NSTextAttachment *attch = [[NSTextAttachment alloc] init]; + attch.image = [UIImage imageNamed:@"ic_love"]; + attch.bounds = CGRectMake(-2,-3, 12, 12); + NSAttributedString *imastr=[NSAttributedString attributedStringWithAttachment:attch]; + [attriTile appendAttributedString:imastr]; + + NSAttributedString *titleStr = [[NSAttributedString alloc] initWithString:@"温馨提示:" attributes:@{NSFontAttributeName:GIGA_TEXTFONTMEDIUM(10), NSForegroundColorAttributeName:GIGARGB(187, 187, 187, 1)}]; + [attriTile appendAttributedString:titleStr]; + + tishiLab.attributedText = attriTile; + [view addSubview:tishiLab]; + + + UILabel *desc =[[UILabel alloc] init]; + desc.frame = CGRectMake((KMainW - 240.f) / 2 , CGRectGetMaxY(tishiLab.frame) + 2, 240, 14); + + desc.text =@"手机号码修改成功后需要使用新的手机号进行登陆哟。"; + desc.textColor = GIGARGB(187, 187, 187, 1); + desc.font = GIGA_TEXTFONTMEDIUM(10); + [view addSubview:desc]; + + return view; +} +#pragma mark 下一步 Or 完成 +-(void)nextBtnAction:(UIButton *)btn{ + + + if (_nextSteep) { + GILog(@"完成"); + + GIGaUserChangeMobleCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; + if (cell.numberTexFiled.text.length == 0) { + GIGA_ShowToast(@"请输入新手机号"); + return; + } + if (![GiGaHelper isPhoneNumber:cell.numberTexFiled.text]) { + GIGA_ShowToast(@"请输入正确手机号"); + return; + } + + if (cell.codeTexFiled.text.length == 0) { + GIGA_ShowToast(@"请输入新手机验证码"); + return; + } + + [self verifyPhoneCode:cell.numberTexFiled.text code:cell.codeTexFiled.text btn:btn]; + + + }else{ + GILog(@"下一步"); + + GIGaUserChangeMobleCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; + // + if (cell.codeTexFiled.text.length == 0) { + GIGA_ShowToast(@"请输入验证码"); + return; + } + + GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser]; + if (!user.mobile || [user.mobile isKindOfClass:[NSNull class]]) { + GILog(@"手机号为空"); + return; + } + + [self verifyPhoneCode:user.mobile code:cell.codeTexFiled.text btn:btn]; + + } +} + +-(void)finishBtn:(UIButton *)btn wtihNewPhone:(NSString *)xinNumber{ + + GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser]; + NSString *oldphone = user.mobile; + + GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath: kApiChangePhone method:RequestPostMethod parms:@{@"oldMobile":oldphone,@"newMobile":xinNumber,@"oldVerifiedCode":self.oldCode,@"newVerifiedCode":self.xinCode}]; + [api requstDataWithResult:^(GiGaAPIResult *result) { + btn.userInteractionEnabled = YES; + [self.view hideToastActivity]; + + if (result.success) { + GIGA_WIndowTost(@"手机号修改成功"); + [self.navigationController popViewControllerAnimated:YES]; + }else{ + GIGA_ShowToast(result.message); + } + }]; +} + +#pragma mark - 发送验证码 +-(void)sendCodeBtnAction:(UIButton *)btn{ + + if (_nextSteep) { + GIGaUserChangeMobleCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; + if (cell.numberTexFiled.text.length == 0) { + GIGA_ShowToast(@"请输新手机号"); + return; + } + + self.xinCode = cell.codeTexFiled.text; + [self sendCodeWith:cell.numberTexFiled.text]; + + }else{ + + GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser]; + if (!user.mobile || [user.mobile isKindOfClass:[NSNull class]]) { + GILog(@"手机号为空"); + return; + } + [self sendCodeWith:user.mobile]; + + } +} + +-(void)sendCodeWith:(NSString *)phone{ + NSString *utl = nil; + if (_nextSteep) { + utl= kApiChangeMobleCode; + }else{ + utl= kApiSendPhoneCode; + } + GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:utl method:RequestPostMethod parms:@{@"mobile":phone}]; + [api requstDataWithResult:^(GiGaAPIResult *result) { + if (result.success) { + GIGA_ShowToast(@"已发送"); + }else{ + GIGA_ShowToast(result.message); + } + }]; +} + +#pragma mark - 验证手机验证码 +-(void)verifyPhoneCode:(NSString *)phonenumber code:(NSString *)code btn:(UIButton *)btn +{ + btn.userInteractionEnabled = NO; + [self.view makeToastActivity:CSToastPositionCenter]; + GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:kApiVersifyPhoneCode method:RequestPostMethod parms:@{@"mobile":phonenumber,@"verifiedCode":code}]; + [api requstDataWithResult:^(GiGaAPIResult *result) { + + if (result.success) { + if (self.nextSteep) { + //验证码通过 完成 + [self finishBtn:btn wtihNewPhone:phonenumber]; + + }else{ + btn.userInteractionEnabled = YES; + [self.view hideToastActivity]; + self.nextSteep = YES; + self.oldCode = code; + [self.tableView reloadData]; + } + + }else{ + btn.userInteractionEnabled = YES; + [self.view hideToastActivity]; + GIGA_ShowToast(result.message); + } + }]; +} + + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/GIGA/Modules/Me/Controller/GiGaFeedBackViewController.h b/GIGA/Modules/Me/Controller/GiGaFeedBackViewController.h new file mode 100644 index 0000000..981a8c0 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GiGaFeedBackViewController.h @@ -0,0 +1,13 @@ +// +// GiGaFeedBackViewController.h +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GiGaBaseViewController.h" + +@interface GiGaFeedBackViewController : GiGaBaseViewController + +@end diff --git a/GIGA/Modules/Me/Controller/GiGaFeedBackViewController.m b/GIGA/Modules/Me/Controller/GiGaFeedBackViewController.m new file mode 100644 index 0000000..a54fdf8 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GiGaFeedBackViewController.m @@ -0,0 +1,38 @@ +// +// GiGaFeedBackViewController.m +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GiGaFeedBackViewController.h" + +@interface GiGaFeedBackViewController () + +@end + +@implementation GiGaFeedBackViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + [self addNavTitile:@"意见反馈"]; + // Do any additional setup after loading the view. +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/GIGA/Modules/Me/Controller/GiGaMeViewController.m b/GIGA/Modules/Me/Controller/GiGaMeViewController.m index 8cf8e9c..5c2bdce 100644 --- a/GIGA/Modules/Me/Controller/GiGaMeViewController.m +++ b/GIGA/Modules/Me/Controller/GiGaMeViewController.m @@ -16,6 +16,8 @@ #import "GiGaBaseAPiRequest.h" #import "GiGaUserManager.h" #import "UIImageView+WebCache.h" +#import "GiGaUserInfoVC.h" +#import "GIGaMaskTimeUseRecordVC.h" @interface GiGaMeViewController () @property (nonatomic,strong) GiGaUser *user; @@ -39,23 +41,43 @@ self.tableView.estimatedSectionHeaderHeight = 0; self.tableView.bounces = NO; self.tableView.frame = CGRectMake(0, 1, KMainW, self.view.bounds.size.height - SAFE_NAV_HEIGHT); - [self loadUserInfo]; - NC_ADD_TARGET_NAME_OBJECT(self, @selector(userAvatorUpDate), kUserAvatorUpdateNoti, nil) ; + //[self loadUserInfo]; + GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser]; + self.user = user; + NC_ADD_TARGET_NAME_OBJECT(self, @selector(userAvatorUpDate), kUserAvatorUpdateNoti, nil); + NC_ADD_TARGET_NAME_OBJECT(self, @selector(usersNameUpDateNoti), kUserNameUpDateNoti, nil); + +} + +- (void)viewWillAppear:(BOOL)animated{ + [super viewWillAppear:animated]; + } -(void)dealloc{ NC_REMOVE_NAME(self, kUserAvatorUpdateNoti, nil); + NC_REMOVE_NAME(self, kUserNameUpDateNoti, nil); } -(void)userAvatorUpDate{ GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser]; + self.user = user; if (user.headImgUrl && ![user.headImgUrl isKindOfClass:[NSNull class]] ) { GiGaMineUserViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; NSURL *url = [NSURL URLWithString:user.headImgUrl]; [cell.userAvator sd_setImageWithURL:url]; + + } +} + +-(void)usersNameUpDateNoti{ + GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser]; + self.user = user; + if (user.nickName && ![user.nickName isEqualToString:@""] && ![user.nickName isKindOfClass:[NSNull class]]) { + GiGaMineUserViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; + cell.userName.text = user.nickName; } - } -(void)loadUserInfo{ @@ -120,7 +142,7 @@ } if(indexPath.section == 0){ - GiGaUserViewController *userVC= [[GiGaUserViewController alloc] init]; + GiGaUserInfoVC *userVC= [[GiGaUserInfoVC alloc] init]; [self.navigationController pushViewController:userVC animated:YES]; }else{ @@ -130,6 +152,9 @@ [self.navigationController pushViewController:historyVC animated:YES]; }else if (indexPath.section == 1 && indexPath.row == 1){ + //使用记录 + GIGaMaskTimeUseRecordVC *historyVC= [[GIGaMaskTimeUseRecordVC alloc] init]; + [self.navigationController pushViewController:historyVC animated:YES]; }else{ //系统设置 diff --git a/GIGA/Modules/Me/Controller/GiGaUserInfoVC.h b/GIGA/Modules/Me/Controller/GiGaUserInfoVC.h new file mode 100644 index 0000000..9d3fb23 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GiGaUserInfoVC.h @@ -0,0 +1,13 @@ +// +// GiGaUserInfoVC.h +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GiGaBaseViewController.h" + +@interface GiGaUserInfoVC : GiGaBaseViewController + +@end diff --git a/GIGA/Modules/Me/Controller/GiGaUserInfoVC.m b/GIGA/Modules/Me/Controller/GiGaUserInfoVC.m new file mode 100644 index 0000000..482c945 --- /dev/null +++ b/GIGA/Modules/Me/Controller/GiGaUserInfoVC.m @@ -0,0 +1,167 @@ +// +// GiGaUserInfoVC.m +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GiGaUserInfoVC.h" +#import "GiGaMineUserViewCell.h" +#import "GiGAUserInfoCell.h" +#import "UIImageView+WebCache.h" +#import "GiGaUserViewController.h" +#import "GIGaChangePassVC.h" +#import "GiGaChangePhoneNumberVC.h" + +@interface GiGaUserInfoVC () +@property (nonatomic,strong) GiGaUser *user; +@end + +@implementation GiGaUserInfoVC + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + [self addNavTitile:@"个人中心"]; + [self.view addSubview:self.tableView]; + self.tableView.delegate = self; + self.tableView.dataSource = self; + self.tableView.backgroundColor = [UIColor whiteColor]; + self.tableView.separatorStyle = UITableViewCellSelectionStyleNone; + self.tableView.sectionFooterHeight = 0; + self.tableView.estimatedSectionFooterHeight= 0; + self.tableView.estimatedSectionHeaderHeight = 0; + self.tableView.bounces = NO; + self.tableView.frame = CGRectMake(0, 1, KMainW, self.view.bounds.size.height - SAFE_NAV_HEIGHT); + GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser]; + self.user = user; + NC_ADD_TARGET_NAME_OBJECT(self, @selector(userAvatorUpDate), kUserAvatorUpdateNoti, nil); + NC_ADD_TARGET_NAME_OBJECT(self, @selector(usersNameUpDateNoti), kUserNameUpDateNoti, nil); + +} + +-(void)dealloc{ + NC_REMOVE_NAME(self, kUserAvatorUpdateNoti, nil); + NC_REMOVE_NAME(self, kUserNameUpDateNoti, nil); +} + +-(void)userAvatorUpDate{ + + GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser]; + self.user = user; + if (user.headImgUrl && ![user.headImgUrl isKindOfClass:[NSNull class]] ) { + GiGaMineUserViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; + NSURL *url = [NSURL URLWithString:user.headImgUrl]; + [cell.userAvator sd_setImageWithURL:url]; + + } +} + +-(void)usersNameUpDateNoti{ + GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser]; + self.user = user; + if (user.nickName && ![user.nickName isEqualToString:@""] && ![user.nickName isKindOfClass:[NSNull class]]) { + GiGaMineUserViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; + cell.userName.text = user.nickName; + } +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ + return 2; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + + if (section == 0){ + return 1; + } + return 3; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + if(indexPath.section ==0){ + GiGaMineUserViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GiGaMineUserViewCell"]; + if(!cell){ + cell = [[[NSBundle mainBundle] loadNibNamed:@"GiGaMineUserViewCell" owner:self options:nil] lastObject]; + + } + + if (self.user) { + [cell loadUserinfoWith:self.user]; + } + return cell; + } + GiGAUserInfoCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GiGAUserInfoCell"]; + if(!cell){ + cell = [[[NSBundle mainBundle] loadNibNamed:@"GiGAUserInfoCell" owner:self options:nil] lastObject]; + + } + [cell loadCellData:indexPath]; + return cell; + +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + if(indexPath.section == 1){ + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + } + + if(indexPath.section == 0){ + GiGaUserViewController *userVC= [[GiGaUserViewController alloc] init]; + [self.navigationController pushViewController:userVC animated:YES]; + + }else{ + if (indexPath.section == 1 && indexPath.row == 0 ){ + GiGaUserViewController *userVC= [[GiGaUserViewController alloc] init]; + [self.navigationController pushViewController:userVC animated:YES]; + + }else if (indexPath.section == 1 && indexPath.row == 1){ + + GIGaChangePassVC *changePass = [[GIGaChangePassVC alloc] init]; + [self.navigationController pushViewController:changePass animated:YES]; + + }else{ + + GiGaChangePhoneNumberVC *changePass = [[GiGaChangePhoneNumberVC alloc] init]; + [self.navigationController pushViewController:changePass animated:YES]; + + } + } +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + if(indexPath.section==0){ + return 139; + }else { + return 54; + } +} + +- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ + return 0.1; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ + if (section == 1){ + return 6; + } + return 0.1; +} + +-(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ + + if (section == 1) { + UIView *view = [[UIView alloc] init]; + view.backgroundColor = GIGARGB(222, 222, 222, 1); + return view; + } + return nil; +} + +@end diff --git a/GIGA/Modules/Me/Controller/GiGaUserViewController.m b/GIGA/Modules/Me/Controller/GiGaUserViewController.m index d9e392d..36a052e 100644 --- a/GIGA/Modules/Me/Controller/GiGaUserViewController.m +++ b/GIGA/Modules/Me/Controller/GiGaUserViewController.m @@ -342,8 +342,11 @@ [self.view hideToastActivity]; if (result.success) { GIGA_ShowToast(@"修改成功"); + [[GiGaUserManager shareUser] saveUser:self.user]; + NC_POST_NAME_OBJECT(kUserNameUpDateNoti, nil); + }else{ GIGA_ShowToast(result.dic[@"msg"]); if (result.code == 401) { diff --git a/GIGA/Modules/Me/Controller/GiSysSettingsVC.m b/GIGA/Modules/Me/Controller/GiSysSettingsVC.m index 0452232..743765f 100644 --- a/GIGA/Modules/Me/Controller/GiSysSettingsVC.m +++ b/GIGA/Modules/Me/Controller/GiSysSettingsVC.m @@ -12,6 +12,8 @@ #import "GiGaUserDefault.h" #import "GiGaUserManager.h" #import "AppVerionDescriptionVC.h" +#import "GIGaAboutUsVC.h" +#import "GiGaFeedBackViewController.h" @interface GiSysSettingsVC () @@ -70,9 +72,11 @@ }]; }else if (indexPath.row == 1){ - + GiGaFeedBackViewController *feedVC = [[GiGaFeedBackViewController alloc] init]; + [self.navigationController pushViewController:feedVC animated:YES]; }else if (indexPath.row == 2){ - + GIGaAboutUsVC *usVC= [[GIGaAboutUsVC alloc] init]; + [self.navigationController pushViewController:usVC animated:YES]; }else if (indexPath.row == 3){ AppVerionDescriptionVC *verVC =[[AppVerionDescriptionVC alloc] init]; [self.navigationController pushViewController:verVC animated:YES]; diff --git a/GIGA/Modules/Me/Model/GiGaUser.h b/GIGA/Modules/Me/Model/GiGaUser.h index dc5862f..6e3e02b 100644 --- a/GIGA/Modules/Me/Model/GiGaUser.h +++ b/GIGA/Modules/Me/Model/GiGaUser.h @@ -19,6 +19,7 @@ @property(nonatomic,copy) NSString *cityName; @property(nonatomic,copy) NSString *headImgUrl; +@property(nonatomic,copy) NSString *mobile; @property(nonatomic,copy) NSString *mobileMask; @property(nonatomic,assign) NSInteger mobileStatus; @property(nonatomic,copy) NSString *mobileStatusName; diff --git a/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.h b/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.h index 460acbc..a5aee6b 100644 --- a/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.h +++ b/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.h @@ -7,8 +7,12 @@ // #import +#import "VersionModel.h" @interface AppVersionDescCell : UITableViewCell @property (weak, nonatomic) IBOutlet UILabel *VersionDescLabel; +@property (weak, nonatomic) IBOutlet UILabel *versionLabe; +@property (weak, nonatomic) IBOutlet UILabel *tempLabe; +-(void)loadCellDataAt:(NSIndexPath *)indexPath version:(VersionModel *)model; @end diff --git a/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.m b/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.m index 8d714dc..88a6e91 100644 --- a/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.m +++ b/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.m @@ -17,6 +17,13 @@ } +-(void)loadCellDataAt:(NSIndexPath *)indexPath version:(VersionModel *)model{ + self.VersionDescLabel.text = model.content; + self.versionLabe.text = model.title; + self.tempLabe.text = model.createTime; + +} + - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; diff --git a/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.xib b/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.xib index 2f40937..800bce2 100644 --- a/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.xib +++ b/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionDescCell.xib @@ -32,13 +32,29 @@ + + + + + + @@ -46,6 +62,8 @@ + + diff --git a/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionLogoCell.xib b/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionLogoCell.xib index 97ce20a..b2d271a 100644 --- a/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionLogoCell.xib +++ b/GIGA/Modules/Me/View/AppVerionDescCells/AppVersionLogoCell.xib @@ -40,7 +40,7 @@ - + diff --git a/GIGA/Modules/Me/View/GiGAUserInfoCell.h b/GIGA/Modules/Me/View/GiGAUserInfoCell.h new file mode 100644 index 0000000..a7239f2 --- /dev/null +++ b/GIGA/Modules/Me/View/GiGAUserInfoCell.h @@ -0,0 +1,17 @@ +// +// GiGAUserInfoCell.h +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import + +@interface GiGAUserInfoCell : UITableViewCell +@property (weak, nonatomic) IBOutlet UILabel *infoTitle; +@property (weak, nonatomic) IBOutlet UILabel *numberLabe; + +-(void)loadCellData:(NSIndexPath *)indexPath; + +@end diff --git a/GIGA/Modules/Me/View/GiGAUserInfoCell.m b/GIGA/Modules/Me/View/GiGAUserInfoCell.m new file mode 100644 index 0000000..e949b12 --- /dev/null +++ b/GIGA/Modules/Me/View/GiGAUserInfoCell.m @@ -0,0 +1,44 @@ +// +// GiGAUserInfoCell.m +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GiGAUserInfoCell.h" + +@implementation GiGAUserInfoCell + +- (void)awakeFromNib { + [super awakeFromNib]; + // Initialization code +} + +-(void)loadCellData:(NSIndexPath *)indexPath{ + if (indexPath.section == 1 && indexPath.row == 0) { + //个人信息 + self.infoTitle.text = @"个人信息"; + self.numberLabe.hidden = YES; + }else if (indexPath.section == 1 && indexPath.row == 1){ + //修改密码 + self.infoTitle.text = @"修改密码"; + self.numberLabe.hidden = YES; + }else if (indexPath.section == 1 && indexPath.row == 2){ + //修改手机 + self.infoTitle.text = @"修改手机"; + self.numberLabe.hidden = NO; + GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser]; + self.numberLabe.text = user.mobileMask; + + } + +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +@end diff --git a/GIGA/Modules/Me/View/GiGAUserInfoCell.xib b/GIGA/Modules/Me/View/GiGAUserInfoCell.xib new file mode 100644 index 0000000..7f27305 --- /dev/null +++ b/GIGA/Modules/Me/View/GiGAUserInfoCell.xib @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GIGA/Modules/Me/View/GiGaMineInfoViewCell.xib b/GIGA/Modules/Me/View/GiGaMineInfoViewCell.xib index d7f5f92..7df9175 100644 --- a/GIGA/Modules/Me/View/GiGaMineInfoViewCell.xib +++ b/GIGA/Modules/Me/View/GiGaMineInfoViewCell.xib @@ -37,7 +37,7 @@ - + diff --git a/GIGA/Modules/Me/View/GiGaMineUserViewCell.m b/GIGA/Modules/Me/View/GiGaMineUserViewCell.m index 960cb71..6e215d3 100644 --- a/GIGA/Modules/Me/View/GiGaMineUserViewCell.m +++ b/GIGA/Modules/Me/View/GiGaMineUserViewCell.m @@ -31,10 +31,13 @@ if (user.headImgUrl && ![user.nickName isKindOfClass:[NSNull class]]) { [self.userAvator sd_setImageWithURL:[NSURL URLWithString:user.headImgUrl]]; } - if (!user.nickName && ![user.nickName isKindOfClass:[NSNull class]]) { - self.userName.text = user.nickName; - }else{ + + if (!user.nickName || [user.nickName isKindOfClass:[NSNull class]] || [user.nickName isEqualToString:@""]) { + self.userName.text = @"GIGAUser666"; + + }else{ + self.userName.text = user.nickName; } } diff --git a/GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.h b/GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.h new file mode 100644 index 0000000..bfafcd6 --- /dev/null +++ b/GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.h @@ -0,0 +1,19 @@ +// +// GIGaUserChangeMobleCell.h +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import + +@interface GIGaUserChangeMobleCell : UITableViewCell +@property (weak, nonatomic) IBOutlet UIButton *codeSendBtn; +@property (weak, nonatomic) IBOutlet UIButton *oldBtn; +@property (weak, nonatomic) IBOutlet UIButton *xinPhoneBtn; + +@property (weak, nonatomic) IBOutlet UITextField *numberTexFiled; +@property (weak, nonatomic) IBOutlet UITextField *codeTexFiled; + +@end diff --git a/GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.m b/GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.m new file mode 100644 index 0000000..86ffbd7 --- /dev/null +++ b/GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.m @@ -0,0 +1,29 @@ +// +// GIGaUserChangeMobleCell.m +// GIGA +// +// Created by lianxiang on 2018/9/19. +// Copyright © 2018年 com.giga.ios. All rights reserved. +// + +#import "GIGaUserChangeMobleCell.h" + +@implementation GIGaUserChangeMobleCell + +- (void)awakeFromNib { + [super awakeFromNib]; + // Initialization code + self.codeSendBtn.layer.masksToBounds = YES; + self.codeSendBtn.layer.cornerRadius = 2; + +} + + + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +@end diff --git a/GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.xib b/GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.xib new file mode 100644 index 0000000..a1fe5ce --- /dev/null +++ b/GIGA/Modules/Me/View/userInfoView/GIGaUserChangeMobleCell.xib @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +