Compare commits

...

10 Commits

Author SHA1 Message Date
lianxiang d845ed2cb0 add 2018-10-19 20:23:26 +08:00
练练 e06dc32099 add 2018-10-19 12:02:14 +08:00
lianxiang 52222aa995 fix 2018-10-18 17:02:29 +08:00
lianxiang 94ce6d3e14 new login style 2018-10-15 19:26:07 +08:00
lianxiang 71f6176cea 0.9.0 2018-10-15 10:53:00 +08:00
lianxiang 97af177b88 add 2018-10-12 09:12:54 +08:00
lianxiang dc1b1e330f fix 2018-10-09 09:02:59 +08:00
lianxiang 431a19b043 修改手机验证码触发逻辑 2018-09-30 16:08:50 +08:00
lianxiang ea869e7b42 意见反馈相册权限bug 2018-09-30 11:04:16 +08:00
lianxiang fc47921130 v0.8.0 2018-09-29 20:12:56 +08:00
166 changed files with 3875 additions and 1090 deletions

View File

@ -11,19 +11,23 @@
83048481214F489000603CE7 /* GiGaUserJobViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 83048480214F488F00603CE7 /* GiGaUserJobViewCell.m */; };
83048486214FACE700603CE7 /* JobMaskButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 83048485214FACE700603CE7 /* JobMaskButton.m */; };
8314D2112133ABE500B458BF /* WeiIXinApiManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8314D2102133ABE500B458BF /* WeiIXinApiManager.m */; };
83276187216F29A800C6216C /* LXCustomActionSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 83276185216F29A800C6216C /* LXCustomActionSheet.m */; };
83319C852174376C005EF726 /* AppDelegate+ThirdParty.m in Sources */ = {isa = PBXBuildFile; fileRef = 83319C812174376B005EF726 /* AppDelegate+ThirdParty.m */; };
83319C862174376C005EF726 /* AppDelegate+GiGaConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 83319C822174376C005EF726 /* AppDelegate+GiGaConfig.m */; };
83319C87217437E0005EF726 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8361B3CA212155C200238FEB /* AppDelegate.m */; };
83346AC0212BB50A0054D597 /* PassWordResetVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 83346ABE212BB50A0054D597 /* PassWordResetVC.m */; };
83346AC1212BB50A0054D597 /* PassWordResetVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83346ABF212BB50A0054D597 /* PassWordResetVC.xib */; };
83346AC5212BBC8C0054D597 /* GiGaRegistViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83346AC3212BBC8C0054D597 /* GiGaRegistViewController.m */; };
83346AC6212BBC8C0054D597 /* GiGaRegistViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83346AC4212BBC8C0054D597 /* GiGaRegistViewController.xib */; };
83346ACE212BD7830054D597 /* GiGaWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83346ACC212BD7830054D597 /* GiGaWebViewController.m */; };
83346ACF212BD7830054D597 /* GiGaWebViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83346ACD212BD7830054D597 /* GiGaWebViewController.xib */; };
83346AD1212BF5B70054D597 /* useragreement.html in Resources */ = {isa = PBXBuildFile; fileRef = 83346AD0212BF5B70054D597 /* useragreement.html */; };
83346AD4212BFF6E0054D597 /* UserGuardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83346AD3212BFF6E0054D597 /* UserGuardViewController.m */; };
83346AD7212C18F50054D597 /* GiGaAppGaurdVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 83346AD6212C18F50054D597 /* GiGaAppGaurdVC.m */; };
83379D0B217033A800986278 /* GiGaLoaclImageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 83379D0A217033A800986278 /* GiGaLoaclImageModel.m */; };
83379D0E21703CC100986278 /* GIGaSharePageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83379D0D21703CC100986278 /* GIGaSharePageViewController.m */; };
8338F6B12142182200B4780B /* MaskTime.png in Resources */ = {isa = PBXBuildFile; fileRef = 8338F6B02142182100B4780B /* MaskTime.png */; };
8338F6B92142504E00B4780B /* LXCustomSwith.m in Sources */ = {isa = PBXBuildFile; fileRef = 8338F6B82142504E00B4780B /* LXCustomSwith.m */; };
833DA7762122A62000A5C614 /* GiGaMaskTaskViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 833DA7752122A62000A5C614 /* GiGaMaskTaskViewController.m */; };
833DE8E52150169F009D4329 /* JYAddressPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 833DE8E32150169F009D4329 /* JYAddressPicker.m */; };
8340BF9E213E3846008F22E4 /* SHineLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8340BF9D213E3846008F22E4 /* SHineLabel.m */; };
8340BFA2213E60DD008F22E4 /* GIGAMBHUDHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8340BFA1213E60DD008F22E4 /* GIGAMBHUDHelper.m */; };
8340BFA6213E6514008F22E4 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8340BFA5213E6514008F22E4 /* Localizable.strings */; };
@ -45,9 +49,11 @@
834415F3215B5F8200A6D906 /* GiGaShareModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 834415F2215B5F8200A6D906 /* GiGaShareModel.m */; };
834415F6215B89A300A6D906 /* MaskTimeTopAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 834415F5215B89A300A6D906 /* MaskTimeTopAnimationView.m */; };
8345C13621414D3B00051717 /* NSString+Unicode.m in Sources */ = {isa = PBXBuildFile; fileRef = 8345C13521414D3B00051717 /* NSString+Unicode.m */; };
8349585C212511040064DB6C /* AppDelegate+ThirdParty.m in Sources */ = {isa = PBXBuildFile; fileRef = 8349585B212511040064DB6C /* AppDelegate+ThirdParty.m */; };
834BDA48215C7D10001E1DB7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 834BDA47215C7D0F001E1DB7 /* InfoPlist.strings */; };
834DA5A5215F5F3B003FC4C6 /* ShareViewSystemImageHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 834DA5A4215F5F3B003FC4C6 /* ShareViewSystemImageHelper.m */; };
834DA5A8215F5FE0003FC4C6 /* ShareCustomIamgeModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 834DA5A7215F5FE0003FC4C6 /* ShareCustomIamgeModel.m */; };
834DA5AB215F6840003FC4C6 /* JobModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 834DA5AA215F6840003FC4C6 /* JobModel.m */; };
835060A2212D1225007E6220 /* GiGaMeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 835060A1212D1225007E6220 /* GiGaMeViewController.m */; };
835060A5212D3536007E6220 /* AppDelegate+GiGaConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 8361B40A21217B2100238FEB /* AppDelegate+GiGaConfig.m */; };
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 */; };
@ -68,7 +74,8 @@
8357ADD32123C7C6000816F2 /* GiGaAPIResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 8357ADD22123C7C6000816F2 /* GiGaAPIResult.m */; };
8357ADD52123F5EC000816F2 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 8357ADD42123F5EC000816F2 /* libsqlite3.tbd */; };
8357ADD82124027D000816F2 /* GiGaUserDefault.m in Sources */ = {isa = PBXBuildFile; fileRef = 8357ADD72124027D000816F2 /* GiGaUserDefault.m */; };
8361B3CB212155C200238FEB /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8361B3CA212155C200238FEB /* AppDelegate.m */; };
835A0EAC216AF03C00ABAB1C /* GiGaPageControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 835A0EAB216AF03C00ABAB1C /* GiGaPageControl.m */; };
835A0EAF216AFDC300ABAB1C /* LXPageControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 835A0EAE216AFDC300ABAB1C /* LXPageControl.m */; };
8361B3CE212155C200238FEB /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8361B3CD212155C200238FEB /* ViewController.m */; };
8361B3D1212155C200238FEB /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8361B3CF212155C200238FEB /* Main.storyboard */; };
8361B3D3212155C300238FEB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8361B3D2212155C300238FEB /* Assets.xcassets */; };
@ -98,7 +105,6 @@
836EE5D7213645E300F0ABB2 /* GiGaBaseAPiRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 836EE5D6213645E300F0ABB2 /* GiGaBaseAPiRequest.m */; };
836EE5DA2136716100F0ABB2 /* NSTimer+Convenience.m in Sources */ = {isa = PBXBuildFile; fileRef = 836EE5D82136716000F0ABB2 /* NSTimer+Convenience.m */; };
8376B81E2154897700AB79F8 /* GIGaUserFileHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8376B81D2154897700AB79F8 /* GIGaUserFileHelper.m */; };
8376B8202154913E00AB79F8 /* city.json in Resources */ = {isa = PBXBuildFile; fileRef = 8376B81F2154913E00AB79F8 /* city.json */; };
8376B8232154927300AB79F8 /* GIGaMaskShareViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8376B8222154927300AB79F8 /* GIGaMaskShareViewController.m */; };
8376B8282154A0A200AB79F8 /* MaskTimeEndViewImgaeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8376B8262154A0A200AB79F8 /* MaskTimeEndViewImgaeCell.m */; };
8376B8292154A0A200AB79F8 /* MaskTimeEndViewImgaeCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8376B8272154A0A200AB79F8 /* MaskTimeEndViewImgaeCell.xib */; };
@ -167,7 +173,6 @@
838388C8212F9C4200D14C53 /* GiGaLocalNotificationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 838388C7212F9C4200D14C53 /* GiGaLocalNotificationManager.m */; };
838388D3212FB7D700D14C53 /* JXTAlertController.m in Sources */ = {isa = PBXBuildFile; fileRef = 838388CE212FB7D700D14C53 /* JXTAlertController.m */; };
838388D4212FB7D700D14C53 /* JXTAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 838388D2212FB7D700D14C53 /* JXTAlertView.m */; };
838388DA2130046D00D14C53 /* emojizone.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 838388D92130046D00D14C53 /* emojizone.mp4 */; };
8384643E214A484400F12B33 /* MaskTestResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 8384643D214A484400F12B33 /* MaskTestResult.m */; };
83846441214A4BFF00F12B33 /* MaskTestResultVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 83846440214A4BFF00F12B33 /* MaskTestResultVC.m */; };
8384F0E821533528002C19F0 /* MaskResultPercentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8384F0E721533528002C19F0 /* MaskResultPercentCell.m */; };
@ -185,6 +190,9 @@
838762E3214B9F580039D241 /* GiGaUserSexViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 838762E1214B9F580039D241 /* GiGaUserSexViewCell.xib */; };
838762E7214B9FA60039D241 /* GIGaUserCityViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 838762E5214B9FA60039D241 /* GIGaUserCityViewCell.m */; };
838762E8214B9FA60039D241 /* GIGaUserCityViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 838762E6214B9FA60039D241 /* GIGaUserCityViewCell.xib */; };
838CD5972179E11E000CBEA6 /* GIGaDateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 838CD5962179E11E000CBEA6 /* GIGaDateHelper.m */; };
838CD5A22179E79C000CBEA6 /* city.json in Resources */ = {isa = PBXBuildFile; fileRef = 838CD5A02179E79C000CBEA6 /* city.json */; };
838CD5A32179E79C000CBEA6 /* JYAddressPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 838CD5A12179E79C000CBEA6 /* JYAddressPicker.m */; };
8390116B214E20B2004CA790 /* LYSDateContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 83901145214E20B1004CA790 /* LYSDateContentView.m */; };
8390116C214E20B2004CA790 /* LYSDatePopViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83901149214E20B1004CA790 /* LYSDatePopViewController.m */; };
8390116D214E20B2004CA790 /* LYSDateBaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83901151214E20B1004CA790 /* LYSDateBaseViewController.m */; };
@ -236,8 +244,8 @@
83C78A15215873170083DDD9 /* MaskHistoryListViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83C78A13215873170083DDD9 /* MaskHistoryListViewCell.xib */; };
83C78A192159D74D0083DDD9 /* UIImage+LogoQrCode.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C78A182159D74D0083DDD9 /* UIImage+LogoQrCode.m */; };
83C78A1C2159DD920083DDD9 /* UIImage+ShotImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C78A1B2159DD920083DDD9 /* UIImage+ShotImage.m */; };
83D0B92C216C5A80006B77DC /* ogg_btn.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 83D0B92B216C5A80006B77DC /* ogg_btn.mp3 */; };
83D3832D215A2CF5009E8669 /* MaskHistryRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 83D3832C215A2CF5009E8669 /* MaskHistryRecord.m */; };
83E40B2B21218B6F008149C4 /* GiGaExercisesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83E40B2A21218B6F008149C4 /* GiGaExercisesViewController.m */; };
83E40B2F21218BA0008149C4 /* GiGaUserViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83E40B2E21218BA0008149C4 /* GiGaUserViewController.m */; };
/* End PBXBuildFile section */
@ -267,6 +275,12 @@
8314D20F2133ABE500B458BF /* WeiIXinApiManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeiIXinApiManager.h; sourceTree = "<group>"; };
8314D2102133ABE500B458BF /* WeiIXinApiManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WeiIXinApiManager.m; sourceTree = "<group>"; };
8314D2122133F44600B458BF /* MobClickList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MobClickList.h; sourceTree = "<group>"; };
83276185216F29A800C6216C /* LXCustomActionSheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LXCustomActionSheet.m; sourceTree = "<group>"; };
83276186216F29A800C6216C /* LXCustomActionSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LXCustomActionSheet.h; sourceTree = "<group>"; };
83319C812174376B005EF726 /* AppDelegate+ThirdParty.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AppDelegate+ThirdParty.m"; sourceTree = "<group>"; };
83319C822174376C005EF726 /* AppDelegate+GiGaConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AppDelegate+GiGaConfig.m"; sourceTree = "<group>"; };
83319C832174376C005EF726 /* AppDelegate+GiGaConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AppDelegate+GiGaConfig.h"; sourceTree = "<group>"; };
83319C842174376C005EF726 /* AppDelegate+ThirdParty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AppDelegate+ThirdParty.h"; sourceTree = "<group>"; };
83346ABD212BB50A0054D597 /* PassWordResetVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PassWordResetVC.h; sourceTree = "<group>"; };
83346ABE212BB50A0054D597 /* PassWordResetVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PassWordResetVC.m; sourceTree = "<group>"; };
83346ABF212BB50A0054D597 /* PassWordResetVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PassWordResetVC.xib; sourceTree = "<group>"; };
@ -276,18 +290,19 @@
83346ACB212BD7830054D597 /* GiGaWebViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaWebViewController.h; sourceTree = "<group>"; };
83346ACC212BD7830054D597 /* GiGaWebViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaWebViewController.m; sourceTree = "<group>"; };
83346ACD212BD7830054D597 /* GiGaWebViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GiGaWebViewController.xib; sourceTree = "<group>"; };
83346AD0212BF5B70054D597 /* useragreement.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = useragreement.html; sourceTree = "<group>"; };
83346AD2212BFF6E0054D597 /* UserGuardViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UserGuardViewController.h; sourceTree = "<group>"; };
83346AD3212BFF6E0054D597 /* UserGuardViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UserGuardViewController.m; sourceTree = "<group>"; };
83346AD5212C18F50054D597 /* GiGaAppGaurdVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaAppGaurdVC.h; sourceTree = "<group>"; };
83346AD6212C18F50054D597 /* GiGaAppGaurdVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaAppGaurdVC.m; sourceTree = "<group>"; };
83379D09217033A800986278 /* GiGaLoaclImageModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaLoaclImageModel.h; sourceTree = "<group>"; };
83379D0A217033A800986278 /* GiGaLoaclImageModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaLoaclImageModel.m; sourceTree = "<group>"; };
83379D0C21703CC100986278 /* GIGaSharePageViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaSharePageViewController.h; sourceTree = "<group>"; };
83379D0D21703CC100986278 /* GIGaSharePageViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaSharePageViewController.m; sourceTree = "<group>"; };
8338F6B02142182100B4780B /* MaskTime.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = MaskTime.png; sourceTree = "<group>"; };
8338F6B72142504E00B4780B /* LXCustomSwith.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LXCustomSwith.h; sourceTree = "<group>"; };
8338F6B82142504E00B4780B /* LXCustomSwith.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LXCustomSwith.m; sourceTree = "<group>"; };
833DA7742122A62000A5C614 /* GiGaMaskTaskViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaMaskTaskViewController.h; sourceTree = "<group>"; };
833DA7752122A62000A5C614 /* GiGaMaskTaskViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaMaskTaskViewController.m; sourceTree = "<group>"; };
833DE8E12150169F009D4329 /* JYAddressPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JYAddressPicker.h; sourceTree = "<group>"; };
833DE8E32150169F009D4329 /* JYAddressPicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JYAddressPicker.m; sourceTree = "<group>"; };
8340BF9C213E3846008F22E4 /* SHineLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SHineLabel.h; sourceTree = "<group>"; };
8340BF9D213E3846008F22E4 /* SHineLabel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SHineLabel.m; sourceTree = "<group>"; };
8340BFA0213E60DD008F22E4 /* GIGAMBHUDHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGAMBHUDHelper.h; sourceTree = "<group>"; };
@ -324,8 +339,13 @@
834415F5215B89A300A6D906 /* MaskTimeTopAnimationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MaskTimeTopAnimationView.m; sourceTree = "<group>"; };
8345C13421414D3B00051717 /* NSString+Unicode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+Unicode.h"; sourceTree = "<group>"; };
8345C13521414D3B00051717 /* NSString+Unicode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+Unicode.m"; sourceTree = "<group>"; };
8349585A212511040064DB6C /* AppDelegate+ThirdParty.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AppDelegate+ThirdParty.h"; sourceTree = "<group>"; };
8349585B212511040064DB6C /* AppDelegate+ThirdParty.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "AppDelegate+ThirdParty.m"; sourceTree = "<group>"; };
834BDA47215C7D0F001E1DB7 /* InfoPlist.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = InfoPlist.strings; sourceTree = "<group>"; };
834DA5A3215F5F3B003FC4C6 /* ShareViewSystemImageHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShareViewSystemImageHelper.h; sourceTree = "<group>"; };
834DA5A4215F5F3B003FC4C6 /* ShareViewSystemImageHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShareViewSystemImageHelper.m; sourceTree = "<group>"; };
834DA5A6215F5FE0003FC4C6 /* ShareCustomIamgeModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShareCustomIamgeModel.h; sourceTree = "<group>"; };
834DA5A7215F5FE0003FC4C6 /* ShareCustomIamgeModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShareCustomIamgeModel.m; sourceTree = "<group>"; };
834DA5A9215F6840003FC4C6 /* JobModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JobModel.h; sourceTree = "<group>"; };
834DA5AA215F6840003FC4C6 /* JobModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JobModel.m; sourceTree = "<group>"; };
835060A0212D1225007E6220 /* GiGaMeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaMeViewController.h; sourceTree = "<group>"; };
835060A1212D1225007E6220 /* GiGaMeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaMeViewController.m; sourceTree = "<group>"; };
835060A3212D2321007E6220 /* GIGA.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = GIGA.entitlements; sourceTree = "<group>"; };
@ -364,6 +384,10 @@
8357ADD42123F5EC000816F2 /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; };
8357ADD62124027D000816F2 /* GiGaUserDefault.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaUserDefault.h; sourceTree = "<group>"; };
8357ADD72124027D000816F2 /* GiGaUserDefault.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaUserDefault.m; sourceTree = "<group>"; };
835A0EAA216AF03C00ABAB1C /* GiGaPageControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaPageControl.h; sourceTree = "<group>"; };
835A0EAB216AF03C00ABAB1C /* GiGaPageControl.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaPageControl.m; sourceTree = "<group>"; };
835A0EAD216AFDC300ABAB1C /* LXPageControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LXPageControl.h; sourceTree = "<group>"; };
835A0EAE216AFDC300ABAB1C /* LXPageControl.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LXPageControl.m; sourceTree = "<group>"; };
8361B3C6212155C200238FEB /* GIGA.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GIGA.app; sourceTree = BUILT_PRODUCTS_DIR; };
8361B3C9212155C200238FEB /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
8361B3CA212155C200238FEB /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@ -386,8 +410,6 @@
8361B40321215E0C00238FEB /* LXCountTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LXCountTimer.h; sourceTree = "<group>"; };
8361B40521215E6F00238FEB /* GiGaHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaHelper.h; sourceTree = "<group>"; };
8361B40621215E6F00238FEB /* GiGaHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaHelper.m; sourceTree = "<group>"; };
8361B40921217B2100238FEB /* AppDelegate+GiGaConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AppDelegate+GiGaConfig.h"; sourceTree = "<group>"; };
8361B40A21217B2100238FEB /* AppDelegate+GiGaConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "AppDelegate+GiGaConfig.m"; sourceTree = "<group>"; };
8361B40C21217C8200238FEB /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
8361B40E21217C9100238FEB /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
8361B41021217CA100238FEB /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
@ -416,7 +438,6 @@
836EE5D92136716000F0ABB2 /* NSTimer+Convenience.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSTimer+Convenience.h"; sourceTree = "<group>"; };
8376B81C2154897700AB79F8 /* GIGaUserFileHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaUserFileHelper.h; sourceTree = "<group>"; };
8376B81D2154897700AB79F8 /* GIGaUserFileHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaUserFileHelper.m; sourceTree = "<group>"; };
8376B81F2154913E00AB79F8 /* city.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = city.json; sourceTree = "<group>"; };
8376B8212154927300AB79F8 /* GIGaMaskShareViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaMaskShareViewController.h; sourceTree = "<group>"; };
8376B8222154927300AB79F8 /* GIGaMaskShareViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaMaskShareViewController.m; sourceTree = "<group>"; };
8376B8252154A0A200AB79F8 /* MaskTimeEndViewImgaeCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MaskTimeEndViewImgaeCell.h; path = GIGA/Modules/Mask/View/MaskTimeEndViewImgaeCell.h; sourceTree = SOURCE_ROOT; };
@ -537,7 +558,6 @@
838388CF212FB7D700D14C53 /* JXTAlertManagerHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JXTAlertManagerHeader.h; sourceTree = "<group>"; };
838388D1212FB7D700D14C53 /* JXTAlertView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JXTAlertView.h; sourceTree = "<group>"; };
838388D2212FB7D700D14C53 /* JXTAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JXTAlertView.m; sourceTree = "<group>"; };
838388D92130046D00D14C53 /* emojizone.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = emojizone.mp4; sourceTree = "<group>"; };
8384643C214A484400F12B33 /* MaskTestResult.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MaskTestResult.h; sourceTree = "<group>"; };
8384643D214A484400F12B33 /* MaskTestResult.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MaskTestResult.m; sourceTree = "<group>"; };
8384643F214A4BFF00F12B33 /* MaskTestResultVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MaskTestResultVC.h; sourceTree = "<group>"; };
@ -567,6 +587,11 @@
838762E4214B9FA60039D241 /* GIGaUserCityViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaUserCityViewCell.h; sourceTree = "<group>"; };
838762E5214B9FA60039D241 /* GIGaUserCityViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaUserCityViewCell.m; sourceTree = "<group>"; };
838762E6214B9FA60039D241 /* GIGaUserCityViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GIGaUserCityViewCell.xib; sourceTree = "<group>"; };
838CD5952179E11D000CBEA6 /* GIGaDateHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GIGaDateHelper.h; sourceTree = "<group>"; };
838CD5962179E11E000CBEA6 /* GIGaDateHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GIGaDateHelper.m; sourceTree = "<group>"; };
838CD59F2179E79C000CBEA6 /* JYAddressPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JYAddressPicker.h; sourceTree = "<group>"; };
838CD5A02179E79C000CBEA6 /* city.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = city.json; sourceTree = "<group>"; };
838CD5A12179E79C000CBEA6 /* JYAddressPicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JYAddressPicker.m; sourceTree = "<group>"; };
83901142214E04D1004CA790 /* ApiRequestConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ApiRequestConfig.h; sourceTree = "<group>"; };
83901144214E20B1004CA790 /* LYSDatePickerTypeDayAndTimeDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LYSDatePickerTypeDayAndTimeDelegate.h; sourceTree = "<group>"; };
83901145214E20B1004CA790 /* LYSDateContentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LYSDateContentView.m; sourceTree = "<group>"; };
@ -665,10 +690,9 @@
83C78A182159D74D0083DDD9 /* UIImage+LogoQrCode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIImage+LogoQrCode.m"; sourceTree = "<group>"; };
83C78A1A2159DD920083DDD9 /* UIImage+ShotImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIImage+ShotImage.h"; sourceTree = "<group>"; };
83C78A1B2159DD920083DDD9 /* UIImage+ShotImage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIImage+ShotImage.m"; sourceTree = "<group>"; };
83D0B92B216C5A80006B77DC /* ogg_btn.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = ogg_btn.mp3; sourceTree = "<group>"; };
83D3832B215A2CF5009E8669 /* MaskHistryRecord.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MaskHistryRecord.h; sourceTree = "<group>"; };
83D3832C215A2CF5009E8669 /* MaskHistryRecord.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MaskHistryRecord.m; sourceTree = "<group>"; };
83E40B2921218B6F008149C4 /* GiGaExercisesViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaExercisesViewController.h; sourceTree = "<group>"; };
83E40B2A21218B6F008149C4 /* GiGaExercisesViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaExercisesViewController.m; sourceTree = "<group>"; };
83E40B2D21218BA0008149C4 /* GiGaUserViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaUserViewController.h; sourceTree = "<group>"; };
83E40B2E21218BA0008149C4 /* GiGaUserViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaUserViewController.m; sourceTree = "<group>"; };
B14B65914FBF61910191D7A8 /* Pods_GIGA.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GIGA.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@ -724,14 +748,22 @@
name = Pods;
sourceTree = "<group>";
};
83276184216F29A800C6216C /* LXCustomActionsheet */ = {
isa = PBXGroup;
children = (
83276185216F29A800C6216C /* LXCustomActionSheet.m */,
83276186216F29A800C6216C /* LXCustomActionSheet.h */,
);
path = LXCustomActionsheet;
sourceTree = "<group>";
};
83346AC8212BD4160054D597 /* Source */ = {
isa = PBXGroup;
children = (
83D0B92B216C5A80006B77DC /* ogg_btn.mp3 */,
8338F6B02142182100B4780B /* MaskTime.png */,
8342D9FC2131150200D16B1D /* 4481.wav */,
838388D92130046D00D14C53 /* emojizone.mp4 */,
838388C3212F934400D14C53 /* pomodoSound.m4a */,
83346AD0212BF5B70054D597 /* useragreement.html */,
);
path = Source;
sourceTree = "<group>";
@ -745,17 +777,6 @@
path = CustomSwitch;
sourceTree = "<group>";
};
833DE8E02150169F009D4329 /* JYAddressPicker */ = {
isa = PBXGroup;
children = (
8376B81F2154913E00AB79F8 /* city.json */,
833DE8E12150169F009D4329 /* JYAddressPicker.h */,
833DE8E32150169F009D4329 /* JYAddressPicker.m */,
);
name = JYAddressPicker;
path = ../../../../JYAddressPicker;
sourceTree = "<group>";
};
8340BF9F213E6080008F22E4 /* GIGAMBHUDHelper */ = {
isa = PBXGroup;
children = (
@ -778,8 +799,9 @@
8340BFAC213E7374008F22E4 /* Views */ = {
isa = PBXGroup;
children = (
838CD59E2179E79C000CBEA6 /* JYAddressPicker */,
83276184216F29A800C6216C /* LXCustomActionsheet */,
8382DFC021564A1F00BBA5A5 /* SJPhotoPicker */,
833DE8E02150169F009D4329 /* JYAddressPicker */,
83901143214E20B1004CA790 /* LYSDatePickerController */,
8338F6B62142504E00B4780B /* CustomSwitch */,
8340BFAD213E739D008F22E4 /* GiGaNoNetWorkView.h */,
@ -852,6 +874,10 @@
8376B8222154927300AB79F8 /* GIGaMaskShareViewController.m */,
8376B8342154C74300AB79F8 /* ShareViewController.h */,
8376B8352154C74300AB79F8 /* ShareViewController.m */,
834DA5A3215F5F3B003FC4C6 /* ShareViewSystemImageHelper.h */,
834DA5A4215F5F3B003FC4C6 /* ShareViewSystemImageHelper.m */,
83379D0C21703CC100986278 /* GIGaSharePageViewController.h */,
83379D0D21703CC100986278 /* GIGaSharePageViewController.m */,
);
path = Controller;
sourceTree = "<group>";
@ -863,6 +889,10 @@
8392900E2134FA0A0077D2E8 /* GiGaCommentModel.m */,
834415F1215B5F8200A6D906 /* GiGaShareModel.h */,
834415F2215B5F8200A6D906 /* GiGaShareModel.m */,
834DA5A6215F5FE0003FC4C6 /* ShareCustomIamgeModel.h */,
834DA5A7215F5FE0003FC4C6 /* ShareCustomIamgeModel.m */,
83379D09217033A800986278 /* GiGaLoaclImageModel.h */,
83379D0A217033A800986278 /* GiGaLoaclImageModel.m */,
);
path = Model;
sourceTree = "<group>";
@ -882,6 +912,10 @@
83BFAE7A213D3F3A004EF801 /* MaskTimeCircularProgressView.m */,
834415F4215B89A300A6D906 /* MaskTimeTopAnimationView.h */,
834415F5215B89A300A6D906 /* MaskTimeTopAnimationView.m */,
835A0EAA216AF03C00ABAB1C /* GiGaPageControl.h */,
835A0EAB216AF03C00ABAB1C /* GiGaPageControl.m */,
835A0EAD216AFDC300ABAB1C /* LXPageControl.h */,
835A0EAE216AFDC300ABAB1C /* LXPageControl.m */,
);
path = View;
sourceTree = "<group>";
@ -939,6 +973,10 @@
8361B3C8212155C200238FEB /* GIGA */ = {
isa = PBXGroup;
children = (
83319C832174376C005EF726 /* AppDelegate+GiGaConfig.h */,
83319C822174376C005EF726 /* AppDelegate+GiGaConfig.m */,
83319C842174376C005EF726 /* AppDelegate+ThirdParty.h */,
83319C812174376B005EF726 /* AppDelegate+ThirdParty.m */,
835060A3212D2321007E6220 /* GIGA.entitlements */,
8361B3FF21215C9D00238FEB /* Modules */,
8361B3FE21215C8A00238FEB /* Category */,
@ -946,10 +984,6 @@
8361B3FC21215C7400238FEB /* Common */,
8361B3C9212155C200238FEB /* AppDelegate.h */,
8361B3CA212155C200238FEB /* AppDelegate.m */,
8361B40921217B2100238FEB /* AppDelegate+GiGaConfig.h */,
8361B40A21217B2100238FEB /* AppDelegate+GiGaConfig.m */,
8349585A212511040064DB6C /* AppDelegate+ThirdParty.h */,
8349585B212511040064DB6C /* AppDelegate+ThirdParty.m */,
8361B3CC212155C200238FEB /* ViewController.h */,
8361B3CD212155C200238FEB /* ViewController.m */,
8361B3CF212155C200238FEB /* Main.storyboard */,
@ -959,6 +993,7 @@
8340BFA7213E6532008F22E4 /* Localizable */,
8361B3D8212155C300238FEB /* main.m */,
8361B3FB21215BE900238FEB /* GIGA.pch */,
834BDA47215C7D0F001E1DB7 /* InfoPlist.strings */,
);
path = GIGA;
sourceTree = "<group>";
@ -984,6 +1019,8 @@
8361B3FC21215C7400238FEB /* Common */ = {
isa = PBXGroup;
children = (
838CD5952179E11D000CBEA6 /* GIGaDateHelper.h */,
838CD5962179E11E000CBEA6 /* GIGaDateHelper.m */,
8340BFAC213E7374008F22E4 /* Views */,
8340BF9F213E6080008F22E4 /* GIGAMBHUDHelper */,
83928FFF2134F4230077D2E8 /* LXDanMuManager */,
@ -1051,7 +1088,6 @@
835060AE212D5423007E6220 /* AppAD */,
83E40B3021219078008149C4 /* Mask */,
83E40B2C21218B7E008149C4 /* LogIn */,
8361B42521217FC000238FEB /* GiGaExercises */,
8361B42421217F6000238FEB /* Me */,
);
path = Modules;
@ -1076,39 +1112,6 @@
path = Me;
sourceTree = "<group>";
};
8361B42521217FC000238FEB /* GiGaExercises */ = {
isa = PBXGroup;
children = (
8361B4282121807100238FEB /* Controller */,
8361B4272121806500238FEB /* View */,
8361B4262121805800238FEB /* Model */,
);
path = GiGaExercises;
sourceTree = "<group>";
};
8361B4262121805800238FEB /* Model */ = {
isa = PBXGroup;
children = (
);
path = Model;
sourceTree = "<group>";
};
8361B4272121806500238FEB /* View */ = {
isa = PBXGroup;
children = (
);
path = View;
sourceTree = "<group>";
};
8361B4282121807100238FEB /* Controller */ = {
isa = PBXGroup;
children = (
83E40B2921218B6F008149C4 /* GiGaExercisesViewController.h */,
83E40B2A21218B6F008149C4 /* GiGaExercisesViewController.m */,
);
path = Controller;
sourceTree = "<group>";
};
8361B4292121809A00238FEB /* Model */ = {
isa = PBXGroup;
children = (
@ -1120,6 +1123,8 @@
83A1DDB121574807006DE881 /* GIGaFeedKind.m */,
83D3832B215A2CF5009E8669 /* MaskHistryRecord.h */,
83D3832C215A2CF5009E8669 /* MaskHistryRecord.m */,
834DA5A9215F6840003FC4C6 /* JobModel.h */,
834DA5AA215F6840003FC4C6 /* JobModel.m */,
);
path = Model;
sourceTree = "<group>";
@ -1542,6 +1547,17 @@
path = userInfoView;
sourceTree = "<group>";
};
838CD59E2179E79C000CBEA6 /* JYAddressPicker */ = {
isa = PBXGroup;
children = (
838CD59F2179E79C000CBEA6 /* JYAddressPicker.h */,
838CD5A02179E79C000CBEA6 /* city.json */,
838CD5A12179E79C000CBEA6 /* JYAddressPicker.m */,
);
name = JYAddressPicker;
path = "../../../../../MaskTime素材新/JYAddressPicker";
sourceTree = "<group>";
};
83901143214E20B1004CA790 /* LYSDatePickerController */ = {
isa = PBXGroup;
children = (
@ -1832,7 +1848,6 @@
83C78A10215872F80083DDD9 /* MasHistoryFirstViewCell.xib in Resources */,
8361B3D6212155C300238FEB /* LaunchScreen.storyboard in Resources */,
838762E3214B9F580039D241 /* GiGaUserSexViewCell.xib in Resources */,
838388DA2130046D00D14C53 /* emojizone.mp4 in Resources */,
83A22720212AC8C100B3E75C /* GiGaUserLoginVC.xib in Resources */,
838762D4214B9D120039D241 /* GIGaUserInfoAvatorCell.xib in Resources */,
8382DFBA2156389200BBA5A5 /* GIGaFeedImagsCollectionCell.xib in Resources */,
@ -1842,23 +1857,24 @@
83BFAE78213CDE91004EF801 /* GiGaSettingsViewCell.xib in Resources */,
8382DFA22155F68800BBA5A5 /* MaskActionSheetViewCell.xib in Resources */,
83346AC1212BB50A0054D597 /* PassWordResetVC.xib in Resources */,
83D0B92C216C5A80006B77DC /* ogg_btn.mp3 in Resources */,
83BDC0592147B89900E74E0D /* GiGaAnswerViewCell.xib in Resources */,
8351473D215215C500B25A88 /* GiGAUserInfoCell.xib in Resources */,
83346AD1212BF5B70054D597 /* useragreement.html in Resources */,
8376B8332154A39200AB79F8 /* MaskTimeEndActionViewCell.xib in Resources */,
838762D9214B9EF80039D241 /* GIGaUserIDViewCell.xib in Resources */,
838762E8214B9FA60039D241 /* GIGaUserCityViewCell.xib in Resources */,
834415EB215B4E6F00A6D906 /* HistoryNoDataViewCell.xib in Resources */,
8342FD8B2151095100D141F4 /* AppVersionLogoCell.xib in Resources */,
834BDA48215C7D10001E1DB7 /* InfoPlist.strings in Resources */,
8382DFEF21564A1F00BBA5A5 /* photopicker_back.png in Resources */,
83BFAE68213CCF10004EF801 /* GiGaMineUserViewCell.xib in Resources */,
8376B8202154913E00AB79F8 /* city.json in Resources */,
8351474221521C2A00B25A88 /* GIGaChangePassVC.xib in Resources */,
8382DFAD215626CE00BBA5A5 /* GiGaFeedContentViewCell.xib in Resources */,
8340BFA9213E65CA008F22E4 /* GIGACommonLocalizabe.strings in Resources */,
83835BA8212E4748001480F2 /* MAssaageCenterCell.xib in Resources */,
8361B3D3212155C300238FEB /* Assets.xcassets in Resources */,
8340BFA6213E6514008F22E4 /* Localizable.strings in Resources */,
838CD5A22179E79C000CBEA6 /* city.json in Resources */,
8361B3D1212155C200238FEB /* Main.storyboard in Resources */,
8376B8412154CEB200AB79F8 /* MaskShareTimeMidViewCell.xib in Resources */,
8340BFAB213E665D008F22E4 /* GIGAUserLocalizable.strings in Resources */,
@ -1969,13 +1985,13 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
83319C87217437E0005EF726 /* AppDelegate.m in Sources */,
835060AD212D4D0C007E6220 /* GiGaFileNanager.m in Sources */,
8382DFF621564A1F00BBA5A5 /* SJPhotoPickerToolBar.m in Sources */,
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 */,
8376B83B2154CE8C00AB79F8 /* MaskTimeShareViewCell.m in Sources */,
83BFAE73213CDB58004EF801 /* GiSysSettingsVC.m in Sources */,
@ -1986,6 +2002,7 @@
834415EF215B52EF00A6D906 /* MaskTestNODataViewCell.m in Sources */,
8382DFF321564A1F00BBA5A5 /* SJPreviewPhotoCell.m in Sources */,
8314D2112133ABE500B458BF /* WeiIXinApiManager.m in Sources */,
83379D0E21703CC100986278 /* GIGaSharePageViewController.m in Sources */,
83BDC0582147B89900E74E0D /* GiGaAnswerViewCell.m in Sources */,
83BC8A862148BE8A00820437 /* NYSliderPopover.m in Sources */,
83773FC52147A5CC0014EE4C /* MaskQuestionView.m in Sources */,
@ -1993,6 +2010,8 @@
8361B3CE212155C200238FEB /* ViewController.m in Sources */,
8361B4382121847600238FEB /* UINavigationBar+Custom.m in Sources */,
83BFAE6C213CD0E3004EF801 /* GiGaMineInfoViewCell.m in Sources */,
834DA5A8215F5FE0003FC4C6 /* ShareCustomIamgeModel.m in Sources */,
838CD5A32179E79C000CBEA6 /* JYAddressPicker.m in Sources */,
8376B8402154CEB200AB79F8 /* MaskShareTimeMidViewCell.m in Sources */,
8390116B214E20B2004CA790 /* LYSDateContentView.m in Sources */,
83BC8A872148BE8A00820437 /* NYPopover.m in Sources */,
@ -2004,6 +2023,7 @@
83BC8A8A2148D28300820437 /* QustionAnswer.m in Sources */,
8342FD7D2150F94600D141F4 /* AppVerionDescriptionVC.m in Sources */,
8357ADC92123BFCA000816F2 /* GiGaUserManager.m in Sources */,
83379D0B217033A800986278 /* GiGaLoaclImageModel.m in Sources */,
8390116F214E20B2004CA790 /* LYSDatePickerViewController.m in Sources */,
8351473C215215C500B25A88 /* GiGAUserInfoCell.m in Sources */,
8384F0E821533528002C19F0 /* MaskResultPercentCell.m in Sources */,
@ -2011,6 +2031,7 @@
83835BC3212E677C001480F2 /* GiGaQuestionVC.m in Sources */,
8382DFB121562B0A00BBA5A5 /* GIGaFeedQQViewCell.m in Sources */,
83A2271F212AC8C100B3E75C /* GiGaUserLoginVC.m in Sources */,
835A0EAF216AFDC300ABAB1C /* LXPageControl.m in Sources */,
83901177214E20B2004CA790 /* LYSDatePickerTypeTimeDelegate.m in Sources */,
8382DFB521562C6600BBA5A5 /* GIGaFeedPhontosViewCell.m in Sources */,
83346ACE212BD7830054D597 /* GiGaWebViewController.m in Sources */,
@ -2046,10 +2067,12 @@
835060A9212D38EE007E6220 /* GiGaStartAdView.m in Sources */,
83928FFA2134D8F60077D2E8 /* GiGaFlyingCommitInputView.m in Sources */,
8390116D214E20B2004CA790 /* LYSDateBaseViewController.m in Sources */,
835A0EAC216AF03C00ABAB1C /* GiGaPageControl.m in Sources */,
838388D3212FB7D700D14C53 /* JXTAlertController.m in Sources */,
833DA7762122A62000A5C614 /* GiGaMaskTaskViewController.m in Sources */,
836EE5D7213645E300F0ABB2 /* GiGaBaseAPiRequest.m in Sources */,
8376B8232154927300AB79F8 /* GIGaMaskShareViewController.m in Sources */,
83319C852174376C005EF726 /* AppDelegate+ThirdParty.m in Sources */,
83773FBC214769230014EE4C /* ExercisesModel.m in Sources */,
8384F0EE2153355A002C19F0 /* MaskResultShareViewCell.m in Sources */,
8376B8452154CEC800AB79F8 /* MaskShareBoootomViewCell.m in Sources */,
@ -2061,7 +2084,6 @@
83901179214E20B2004CA790 /* LYSDatePickerTypeBase.m in Sources */,
835060A2212D1225007E6220 /* GiGaMeViewController.m in Sources */,
83C78A192159D74D0083DDD9 /* UIImage+LogoQrCode.m in Sources */,
8361B3CB212155C200238FEB /* AppDelegate.m in Sources */,
8382DFB92156389200BBA5A5 /* GIGaFeedImagsCollectionCell.m in Sources */,
8351474621521CC500B25A88 /* GiGaChangePhoneNumberVC.m in Sources */,
838388C8212F9C4200D14C53 /* GiGaLocalNotificationManager.m in Sources */,
@ -2079,6 +2101,7 @@
8357ADD32123C7C6000816F2 /* GiGaAPIResult.m in Sources */,
8340BF9E213E3846008F22E4 /* SHineLabel.m in Sources */,
8342FD862150FD5200D141F4 /* VersionModel.m in Sources */,
838CD5972179E11E000CBEA6 /* GIGaDateHelper.m in Sources */,
838762D3214B9D120039D241 /* GIGaUserInfoAvatorCell.m in Sources */,
8361B4352121836700238FEB /* GiGaBaseNavViewController.m in Sources */,
835060B3212D54C2007E6220 /* GiGaAdDetailViewController.m in Sources */,
@ -2093,7 +2116,6 @@
8382DFEB21564A1F00BBA5A5 /* SJPreviewPhotoController.m in Sources */,
8376B81E2154897700AB79F8 /* GIGaUserFileHelper.m in Sources */,
8376B8362154C74300AB79F8 /* ShareViewController.m in Sources */,
833DE8E52150169F009D4329 /* JYAddressPicker.m in Sources */,
834127212152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.m in Sources */,
83901171214E20B2004CA790 /* LYSDatePickerLabel.m in Sources */,
83C78A14215873170083DDD9 /* MaskHistoryListViewCell.m in Sources */,
@ -2103,18 +2125,19 @@
83E40B2F21218BA0008149C4 /* GiGaUserViewController.m in Sources */,
8382DFE721564A1F00BBA5A5 /* SJPhotoPicker.m in Sources */,
83901170214E20B2004CA790 /* LYSDateHeaderViewController.m in Sources */,
835060A5212D3536007E6220 /* AppDelegate+GiGaConfig.m in Sources */,
835147312151E4EF00B25A88 /* GIGaAboutUsVC.m in Sources */,
8376B8282154A0A200AB79F8 /* MaskTimeEndViewImgaeCell.m in Sources */,
83901174214E20B2004CA790 /* LYSDateIndicatorViewController.m in Sources */,
83E40B2B21218B6F008149C4 /* GiGaExercisesViewController.m in Sources */,
8390117B214E20B2004CA790 /* LYSDatePickerHeaderView.m in Sources */,
838762E7214B9FA60039D241 /* GIGaUserCityViewCell.m in Sources */,
83319C862174376C005EF726 /* AppDelegate+GiGaConfig.m in Sources */,
8342FD822150FA1500D141F4 /* AppVersionDescCell.m in Sources */,
834DA5AB215F6840003FC4C6 /* JobModel.m in Sources */,
83BFAE77213CDE91004EF801 /* GiGaSettingsViewCell.m in Sources */,
83835BA7212E4748001480F2 /* MAssaageCenterCell.m in Sources */,
836EE5D42136454500F0ABB2 /* RegistGetSMSCodeRequest.m in Sources */,
8361B42E2121812000238FEB /* GiGaServerConfig.m in Sources */,
834DA5A5215F5F3B003FC4C6 /* ShareViewSystemImageHelper.m in Sources */,
838762DD214B9F140039D241 /* GIGaUserWeChatViewCell.m in Sources */,
8382DFA72156247F00BBA5A5 /* GiGaFeedLeiIingViewCell.m in Sources */,
8382DFA12155F68800BBA5A5 /* MaskActionSheetViewCell.m in Sources */,
@ -2123,6 +2146,7 @@
83A22712212A9EA900B3E75C /* UIView+Sizes.m in Sources */,
839290092134F4C40077D2E8 /* GiGaFlingCommitVC.m in Sources */,
834415EA215B4E6F00A6D906 /* HistoryNoDataViewCell.m in Sources */,
83276187216F29A800C6216C /* LXCustomActionSheet.m in Sources */,
83BFAE70213CDB29004EF801 /* GiMaskTimeHistoryVC.m in Sources */,
8382DFEA21564A1F00BBA5A5 /* SJPhotoAlbumsController.m in Sources */,
83A22718212ABDFF00B3E75C /* GiGaBlockButton.m in Sources */,
@ -2322,10 +2346,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/GIGA/Common/libs/ZbarSDK/ZBarSDK",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
PRODUCT_BUNDLE_IDENTIFIER = com.gigamask.ios;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
@ -2356,10 +2377,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/GIGA/Common/libs/ZbarSDK/ZBarSDK",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
PRODUCT_BUNDLE_IDENTIFIER = com.gigamask.ios;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";

View File

@ -1,13 +0,0 @@
//
// AppDelegate+Config.h
// GIGA
//
// Created by lianxiang on 2018/8/13.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "AppDelegate.h"
@interface AppDelegate ()
@end

View File

@ -6,7 +6,7 @@
#import "AppDelegate+GiGaConfig.h"
#import "GiGaServerConfig.h"
#import "GiGaUserViewController.h"
#import "GiGaExercisesViewController.h"
#import "GiGaBaseNavViewController.h"
#import "GiGaMaskTaskViewController.h"
#import "GiGaUserDefault.h"
@ -18,13 +18,13 @@
-(void)setupTabBarController{
GiGaExercisesViewController *exerciseVC = [[GiGaExercisesViewController alloc] init];
GiGaBaseNavViewController *exerciseNav =[[GiGaBaseNavViewController alloc] initWithRootViewController:exerciseVC];
exerciseNav.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor blackColor]};
exerciseNav.title = @"测试";
exerciseNav.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"测试"
image:nil
selectedImage:nil];
// GiGaExercisesViewController *exerciseVC = [[GiGaExercisesViewController alloc] init];
// GiGaBaseNavViewController *exerciseNav =[[GiGaBaseNavViewController alloc] initWithRootViewController:exerciseVC];
// exerciseNav.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor blackColor]};
// exerciseNav.title = @"测试";
// exerciseNav.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"测试"
// image:nil
// selectedImage:nil];
GiGaMaskTaskViewController *maskVC = [[GiGaMaskTaskViewController alloc] init];
GiGaBaseNavViewController *maskNav =[[GiGaBaseNavViewController alloc] initWithRootViewController:maskVC];
@ -43,7 +43,7 @@
[[UITabBar appearance] setTintColor:GIGARGB(70, 70, 70, 1)];
self.rootTabBarVC = [[UITabBarController alloc] init];
self.rootTabBarVC.viewControllers = @[exerciseNav,maskNav,userNav];
self.rootTabBarVC.viewControllers = @[maskNav,userNav];
[self initTabItems];
self.window.rootViewController = self.rootTabBarVC;
self.window.backgroundColor = [UIColor whiteColor];
@ -90,6 +90,7 @@
-(void)creatAdView{
GiGaStartAdView *startadview = [[GiGaStartAdView alloc] initWithFrame:self.window.bounds];
[startadview show];
}

View File

@ -81,8 +81,15 @@
[[UIApplication sharedApplication].keyWindow makeToast:@"授权失败" duration:1.6 position:CSToastPositionCenter];
}
}else if ([resp isKindOfClass:[SendMessageToWXResp class]]){
if (resp.errCode == 0) {
//cancelsuccesssuccess
//20180813 !!!
//App
if (resp.errCode == WXSuccess) {
GILog(@"分享取消或成功");
NC_POST_NAME_OBJECT(NC_UseShareSuccessNoti, nil);
}else if (resp.errCode == WXErrCodeUserCancel){
GILog(@"分享取消");
}
}
}

View File

@ -27,8 +27,8 @@
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//[NSThread sleepForTimeInterval:1];//
_isMasking = NO;
self.isMasking = [GiGaUserDefault isMasking];
//_isMasking = NO;
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self registLocalNotification];
[self configThridPartyWithOptions:launchOptions];
@ -51,8 +51,41 @@
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self.window.rootViewController];
}
}];
}else{
// 
GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:kUserDefaultMaskTime method:RequestPostMethod parms:nil];
[api requstDataWithResult:^(GiGaAPIResult *result) {
if (result.success) {
float minute = [result.dic[@"minute"] floatValue];
if (minute !=0) {
[GiGaUserDefault savaMaskeTime:minute*60];
}
}
}];
}
//
if ([[UIApplication sharedApplication] backgroundRefreshStatus] != UIBackgroundRefreshStatusAvailable ) {
[self.window.rootViewController jxt_showAlertWithTitle:@"温馨提示" message:@"为保证您正常使用面膜时间,需要您开启后台刷新,请在 设置->面膜时间->应用程序后台刷新 开启" appearanceProcess:^(JXTAlertController * _Nonnull alertMaker) {
alertMaker.addActionCancelTitle(@"下次");
alertMaker.addActionDefaultTitle(@"去开启");
} actionsBlock:^(NSInteger buttonIndex, UIAlertAction * _Nonnull action, JXTAlertController * _Nonnull alertSelf) {
if (buttonIndex == 1) {
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
}
}
}];
}
return YES;
}
@ -105,13 +138,16 @@
- (void)applicationWillTerminate:(UIApplication *)application {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
//app
[GiGaUserDefault saveisMaskingflag:_isMasking];
//app
if (_isMasking) {
// [[GiGaLocalNotificationManager localNotifiationCenter] sendLocalNotification:@"闹钟提醒!" fireTimeInterval:2 alertAction:@"面膜时间已添加闹钟提醒!" withIdentifier:kLOCALNotifiID_APPTERMINAL];
//
// [[GiGaLocalNotificationManager localNotifiationCenter] cancelAllLocalNoitification];
}
[[GiGaLocalNotificationManager localNotifiationCenter] cancelAllLocalNoitification];
}
-(void)remoteControlReceivedWithEvent:(UIEvent *)event

View File

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "appgaurd_bg.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "appgaurd_bg@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "appgaurd_bg@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "appgaurd_moon@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "appgaurd_woman.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "appgaurd_woman@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "appgaurd_woman@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

View File

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "page2_img.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "page2_img@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "page2_img@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "page2_women@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

View File

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "page3_img.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "page3_img@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "page3_img@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "page3_woman@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "page_logo@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "pagecontrol_current@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "pagecontrol_def@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "start_app@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "start_app@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "bg_off@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "bg_on@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "img_product@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -1,9 +1,17 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "share_oneblack@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "sharebg_6@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 870 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "sharebg_7@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 KiB

View File

@ -1,9 +1,17 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "user_day@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {

View File

@ -1,9 +1,17 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "user_time@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "applink.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "share_minute@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "share_minute@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "share_tim@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -19,55 +19,51 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_logo" translatesAutoresizingMaskIntoConstraints="NO" id="HQY-KF-maA">
<rect key="frame" x="140" y="131" width="95" height="95"/>
<rect key="frame" x="140" y="136" width="88" height="88"/>
<constraints>
<constraint firstAttribute="height" constant="95" id="jfp-Pv-euv"/>
<constraint firstAttribute="width" constant="95" id="xC0-N5-5NN"/>
<constraint firstAttribute="height" constant="88" id="jfp-Pv-euv"/>
<constraint firstAttribute="width" constant="88" id="xC0-N5-5NN"/>
</constraints>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_name" translatesAutoresizingMaskIntoConstraints="NO" id="OAL-V9-kkZ">
<rect key="frame" x="132" y="274" width="110" height="70"/>
<constraints>
<constraint firstAttribute="width" constant="110" id="2ws-gJ-XpT"/>
<constraint firstAttribute="height" constant="70" id="qDD-uK-zvA"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hjv-Hw-vVK">
<rect key="frame" x="110" y="362" width="154" height="21"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="bf7-wA-tlK"/>
</constraints>
<attributedString key="attributedText">
<fragment content="一款独具匠心的优质面膜">
<attributes>
<color key="NSColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<font key="NSFont" size="14" name="PingFangSC-Medium"/>
<paragraphStyle key="NSParagraphStyle" alignment="right" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
</attributes>
</fragment>
</attributedString>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="面膜时间" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YxK-fX-bo7">
<rect key="frame" x="151" y="248" width="73" height="26"/>
<fontDescription key="fontDescription" name="PingFangSC-Semibold" family="PingFang SC" pointSize="18"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="这是一个面膜关于时间的故事" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gxW-qE-dJB">
<rect key="frame" x="107" y="305" width="160" height="15"/>
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="12"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="MaskTime" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ses-Mh-1Fi">
<rect key="frame" x="153.5" y="556" width="68.5" height="20"/>
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="0.43137254901960786" green="0.0" blue="0.043137254901960784" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="backgroundColor" red="0.51372549019607838" green="0.039215686274509803" blue="0.039215686274509803" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="hjv-Hw-vVK" firstAttribute="centerX" secondItem="ose-FF-1Ln" secondAttribute="centerX" id="1HZ-N0-YD5"/>
<constraint firstItem="HQY-KF-maA" firstAttribute="centerX" secondItem="ose-FF-1Ln" secondAttribute="centerX" id="Dbo-Hj-G3n"/>
<constraint firstItem="HQY-KF-maA" firstAttribute="top" secondItem="ose-FF-1Ln" secondAttribute="top" constant="111" id="Dq6-Zk-1ih"/>
<constraint firstItem="OAL-V9-kkZ" firstAttribute="top" secondItem="HQY-KF-maA" secondAttribute="bottom" constant="48" id="R8Y-OF-fH6"/>
<constraint firstItem="hjv-Hw-vVK" firstAttribute="top" secondItem="OAL-V9-kkZ" secondAttribute="bottom" constant="18" id="caI-B5-oAs"/>
<constraint firstItem="OAL-V9-kkZ" firstAttribute="centerX" secondItem="ose-FF-1Ln" secondAttribute="centerX" id="fvk-sy-cnk"/>
<constraint firstItem="gxW-qE-dJB" firstAttribute="centerX" secondItem="ose-FF-1Ln" secondAttribute="centerX" id="4hD-Y3-bWg"/>
<constraint firstItem="gxW-qE-dJB" firstAttribute="top" secondItem="YxK-fX-bo7" secondAttribute="bottom" constant="31" id="9rI-bg-jpf"/>
<constraint firstItem="HQY-KF-maA" firstAttribute="centerX" secondItem="ose-FF-1Ln" secondAttribute="centerX" constant="-3.5" id="Dbo-Hj-G3n"/>
<constraint firstItem="HQY-KF-maA" firstAttribute="top" secondItem="ose-FF-1Ln" secondAttribute="top" constant="116" id="Dq6-Zk-1ih"/>
<constraint firstItem="ses-Mh-1Fi" firstAttribute="centerX" secondItem="ose-FF-1Ln" secondAttribute="centerX" id="c4I-me-csY"/>
<constraint firstItem="YxK-fX-bo7" firstAttribute="centerX" secondItem="ose-FF-1Ln" secondAttribute="centerX" id="c8e-n0-8ZX"/>
<constraint firstItem="ose-FF-1Ln" firstAttribute="bottom" secondItem="ses-Mh-1Fi" secondAttribute="bottom" constant="91" id="gwO-Xh-C3o"/>
<constraint firstItem="YxK-fX-bo7" firstAttribute="top" secondItem="HQY-KF-maA" secondAttribute="bottom" constant="24" id="jRH-w0-vI0"/>
</constraints>
<viewLayoutGuide key="safeArea" id="ose-FF-1Ln"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-129" y="374"/>
<point key="canvasLocation" x="-130.40000000000001" y="373.76311844077964"/>
</scene>
</scenes>
<resources>
<image name="bg_logo" width="88" height="88"/>
<image name="bg_name" width="110" height="68"/>
</resources>
</document>

View File

@ -11,5 +11,6 @@
@interface UIImage (ShotImage)
//截图tableviewi
+(UIImage *)saveLongImage:(UITableView *)table;
+(UIImage *)saveNavsuitImage:(UITableView *)table;
@end

View File

@ -14,24 +14,39 @@
UIImage* image = nil;
// NOYES
UIGraphicsBeginImageContextWithOptions(table.contentSize, YES, [UIScreen mainScreen].scale);
UIGraphicsBeginImageContextWithOptions(CGSizeMake(table.contentSize.width,table.contentSize.height), YES, [UIScreen mainScreen].scale);
CGPoint savedContentOffset = table.contentOffset;
CGRect savedFrame = table.frame;
table.contentOffset = CGPointZero;
table.frame = CGRectMake(0, 0, table.contentSize.width, table.contentSize.height);
table.frame = CGRectMake(0, 0, table.contentSize.width, table.contentSize.height +100);
[table.layer renderInContext: UIGraphicsGetCurrentContext()];
image = UIGraphicsGetImageFromCurrentImageContext();
table.contentOffset = savedContentOffset;
table.frame = savedFrame;
UIGraphicsEndImageContext();
return image;
}
+(UIImage *)saveNavsuitImage:(UITableView *)table {
UIImage* image = nil;
// NOYES
UIGraphicsBeginImageContextWithOptions(CGSizeMake(table.contentSize.width,table.contentSize.height+30), YES, [UIScreen mainScreen].scale);
CGPoint savedContentOffset = table.contentOffset;
CGRect savedFrame = table.frame;
table.contentOffset = CGPointZero;
table.frame = CGRectMake(0, 0, table.contentSize.width, table.contentSize.height +30);
[table.layer renderInContext: UIGraphicsGetCurrentContext()];
image = UIGraphicsGetImageFromCurrentImageContext();
table.contentOffset = savedContentOffset;
table.frame = savedFrame;
UIGraphicsEndImageContext();
return image;
}

View File

@ -0,0 +1,25 @@
//
// GIGaDateHelper.h
// MasKTimeCountTime
//
// Created by lianxiang on 2018/10/19.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface GIGaDateHelper : NSObject
+(NSString *)getNowTimeTimestamp2;
+(NSDate *)getStartDate;
+(void)saveSatrtDate;
+(int)getTimebySubtracting:(NSDate*)Date1 andDate2:(NSDate*)Date2;
+(void)saveisMaskingflag:(BOOL)masking;
+(BOOL)isMasking;
+(void)removeStartDate;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,73 @@
//
// GIGaDateHelper.m
// MasKTimeCountTime
//
// Created by lianxiang on 2018/10/19.
// Copyright © 2018 com.giga.ios. All rights reserved.
//
#import "GIGaDateHelper.h"
@implementation GIGaDateHelper
//
+(NSString *)getNowTimeTimestamp2{
NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
NSLog(@"date :%@",dat);
NSTimeInterval a=[dat timeIntervalSince1970];
NSString*timeString = [NSString stringWithFormat:@"%0.f", a];
// ;
return timeString;
}
+(NSDate *)getStartDate{
NSDate *start = [[NSUserDefaults standardUserDefaults] objectForKey:@"start"];
return start;
}
+(void )saveSatrtDate{
NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
[[NSUserDefaults standardUserDefaults] setObject:dat forKey:@"start"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
+(void)removeStartDate{
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"start"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
+(int)getTimebySubtracting:(NSDate*)Date1 andDate2:(NSDate*)Date2
{
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
unsigned int unitFlags = NSCalendarUnitSecond;
NSDateComponents *comps = [gregorian components: unitFlags fromDate:Date1 toDate:Date2 options:0];
int seconds = (int)[comps second];
return seconds;
}
+(void)saveisMaskingflag:(BOOL)masking{
[[NSUserDefaults standardUserDefaults] setBool:masking forKey:@"isMasking"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
+(BOOL)isMasking{
BOOL ismasking = [[NSUserDefaults standardUserDefaults] boolForKey:@"isMasking"];
return ismasking;
}
@end

View File

@ -7,7 +7,7 @@
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface GiGaHelper : NSObject
/**
* yyyy-MM-dd hh:mm:ss
@ -70,4 +70,6 @@
+(NSString*)dictionaryToJson:(NSDictionary *)dic;
NS_ASSUME_NONNULL_END
@end

View File

@ -7,7 +7,7 @@
//
#import "GiGaHelper.h"
#import <Photos/Photos.h>
@implementation GiGaHelper
+(NSString *) getNowTimeString{
@ -294,4 +294,5 @@
}
@end

View File

@ -27,12 +27,12 @@
-(void)sendLocalNotification:(NSString *)alertBoday fireTimeInterval:(NSTimeInterval )timeInterval alertAction:(NSString *)alertAction withIdentifier:(NSString *)identifier;
/**
ios 8 iOS10
*/
-(void)cancelAllLocalNoitification;
/**
UserInfo ios 8 iOS10
UserInfo
*/
-(void)cancelLocalNitificationByUserInfowithIdentifier:(NSString *)identifier;
@ -41,7 +41,6 @@
*/
-(void)didResaveloaclNitification:(UILocalNotification *)localNitification;
//处理通知。。

View File

@ -74,7 +74,7 @@
if (@available(iOS 10.0, *)) {
[[UNUserNotificationCenter currentNotificationCenter] removeAllDeliveredNotifications];
[[UNUserNotificationCenter currentNotificationCenter] removeAllPendingNotificationRequests];
} else {
// Fallback on earlier versions
@ -87,7 +87,7 @@
-(void)cancelLocalNitificationByUserInfowithIdentifier:(NSString *)identifier{
if (@available(iOS 10.0, *)) {
[[UNUserNotificationCenter currentNotificationCenter] removeDeliveredNotificationsWithIdentifiers:@[identifier]];
[[UNUserNotificationCenter currentNotificationCenter] removePendingNotificationRequestsWithIdentifiers:@[identifier]];
} else {
// Fallback on earlier versions
NSArray *notifiArray = [[UIApplication sharedApplication] scheduledLocalNotifications];
@ -125,7 +125,7 @@ API_AVAILABLE(ios(10.0)){
//
NSLog(@"iOS10 前台 收到本地通知:{\\\\nbody:%@\\\\ntitle:%@,\\\\nsubtitle:%@,\\\\nbadge%@\\\\nsound%@\\\\nuserInfo%@\\\\n}",body,title,subtitle,badge,sound,userInfo);
[self showAlert:title message:body];
//[self showAlert:title message:body];
[center removeAllPendingNotificationRequests];
}
completionHandler(UNNotificationPresentationOptionBadge|UNNotificationPresentationOptionSound|UNNotificationPresentationOptionAlert);

View File

@ -28,7 +28,9 @@
if (token) {
[manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
}
[manager.requestSerializer setValue:@"ios" forHTTPHeaderField:@"device"];
switch (requestMethod) {
case RequestGetMethod:
@ -85,7 +87,7 @@
AFHTTPSessionManager*manager=[[AFHTTPSessionManager alloc] init];
manager.responseSerializer=[AFHTTPResponseSerializer serializer];
[manager.requestSerializer setValue:@"ios" forHTTPHeaderField:@"device"];
[manager POST:url parameters:param progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
@ -131,6 +133,8 @@
[manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
[requst setValue:token forHTTPHeaderField:@"token"];
}
[manager.requestSerializer setValue:@"ios" forHTTPHeaderField:@"device"];
[requst setValue:@"ios" forHTTPHeaderField:@"device"];
[requst setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[requst setValue:@"application/json" forHTTPHeaderField:@"Accept"];
@ -179,6 +183,8 @@
if (token) {
[manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
}
[manager.requestSerializer setValue:@"ios" forHTTPHeaderField:@"device"];
[manager POST:url parameters:parms constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
@ -232,6 +238,7 @@
if (token) {
[manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
}
[manager.requestSerializer setValue:@"ios" forHTTPHeaderField:@"device"];
NSString *fullurl = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],url];
[manager POST:fullurl parameters:parms constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {

View File

@ -42,7 +42,7 @@
NSString*fullpath=[[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:imageName];
UIImage*saveImage=[[UIImage alloc]initWithContentsOfFile:fullpath];
if (!saveImage) {
saveImage = [UIImage imageNamed:@"sharebg_1"];
saveImage = [UIImage imageNamed:@"sharebg_6"];
}
return saveImage;
}

View File

@ -50,6 +50,14 @@
+(void)saveWeiXinaccesstokenInfoWithDic:(NSDictionary *)dic;
+(NSDictionary *)getWeiXinAccessToenDic;
/**
code
@param code code
*/
+(void)saveWeiXinCode:(NSString *)code;
+(NSString *)getWeiXinCode;
//面膜时间 未登录用户默认16分钟 测试用户对应测试结果
@ -61,5 +69,14 @@
+(void)savaMaskeTime:(NSTimeInterval)time;
+(NSTimeInterval)getUserMaskeTime;
/**
*/
+(void)saveUserTestFlag:(BOOL)tested;
+(BOOL)isUserTest;
+(void)saveisMaskingflag:(BOOL)masking;
+(BOOL)isMasking;
@end

View File

@ -16,7 +16,9 @@ NSString *const kWeiXinSaveToken = @"WeiXinSaveToken";
NSString *const kWeiXinUserInfo = @"WeiXinUserinfo";
NSString *const kGiGaToken = @"GiGatoken";
NSString *const kMaskeTime= @"userMaskeTime";
#define MASKTIME_DEFAULT 20;
NSString *const kWeiXinCodeInfo = @"WeiXinCodeinfo";
NSString *const kShowUserTested = @"kShowUserTested";
#define MASKTIME_DEFAULT 17.5;
@implementation GiGaUserDefault
@ -60,6 +62,7 @@ NSString *const kMaskeTime= @"userMaskeTime";
UD_REMOVE_KEY(kGiGaToken);
UD_REMOVE_KEY(kMaskeTime);
UD_REMOVE_KEY(GIGADEFAULTKEY_USERID);
}
+(void)saveDBVersion:(NSInteger)versionNum{
@ -111,6 +114,17 @@ NSString *const kMaskeTime= @"userMaskeTime";
return [UD_STADARDUD objectForKey:kWeiXinSaveToken];
}
+(void)saveWeiXinCode:(NSString *)code{
[UD_STADARDUD setObject:code forKey:kWeiXinCodeInfo];
[UD_STADARDUD synchronize];
}
+(NSString *)getWeiXinCode{
return [UD_STADARDUD objectForKey:kWeiXinCodeInfo];
}
+(void)saveWeiXinUserInfoDic:(NSDictionary *)dic
{
[UD_STADARDUD setObject:dic forKey:kWeiXinUserInfo];
@ -131,11 +145,37 @@ NSString *const kMaskeTime= @"userMaskeTime";
NSTimeInterval time = [UD_STADARDUD doubleForKey:kMaskeTime];
if (time == 0) {
//17
time = 17 * 60;
time = MASKTIME_DEFAULT;
//17.5
time = 17.5 * 60;
//time = MASKTIME_DEFAULT;
}
//time = 10;
return time;
}
+(void)saveUserTestFlag:(BOOL)tested{
[UD_STADARDUD setBool:tested forKey:kShowUserTested];
[UD_STADARDUD synchronize];
}
+(BOOL)isUserTest{
BOOL showedGaurd = [UD_STADARDUD boolForKey:kShowUserTested];
[UD_STADARDUD synchronize];
return showedGaurd;
}
+(void)saveisMaskingflag:(BOOL)masking{
[[NSUserDefaults standardUserDefaults] setBool:masking forKey:@"isMasking"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
+(BOOL)isMasking{
BOOL ismasking = [[NSUserDefaults standardUserDefaults] boolForKey:@"isMasking"];
return ismasking;
}
@end

View File

@ -69,7 +69,7 @@ const static NSInteger GIGADB_USER_VER = 0;//当前数据库版本号
}else{
if (errorCodeMsg) {
errorCodeMsg(requst.resultDict);
errorCodeMsg(result.dic);
}
}
@ -96,6 +96,10 @@ const static NSInteger GIGADB_USER_VER = 0;//当前数据库版本号
[_store putObject:_userArr withId:userTableId intoTable:GIGA_USER_TABLE];
[GiGaUserDefault saveUserId:userTableId];
if (user.minute != 0) {
[GiGaUserDefault savaMaskeTime:user.minute * 60];
}
}
//

View File

@ -15,7 +15,7 @@
* finishTimeStamp
*/
-(void)countDownWithStratTimeStamp:(long)starTimeStamp finishTimeStamp:(long)finishTimeStamp completeBlock:(void (^)(NSInteger day,NSInteger hour,NSInteger minute,NSInteger second))completeBlock;
-(void)countDownWithtimerInterval:(NSTimeInterval)timerInterval completeBlock:(void (^)(NSInteger day, NSInteger hour, NSInteger minute, NSInteger second))completeBlock;
/**
* block

View File

@ -54,6 +54,42 @@
}
}
-(void)countDownWithtimerInterval:(NSTimeInterval)timerInterval completeBlock:(void (^)(NSInteger, NSInteger, NSInteger, NSInteger))completeBlock{
if (_timer == nil) {
__block int timeout = timerInterval;
if (timeout !=0) {
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
_timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
dispatch_source_set_timer(_timer, dispatch_walltime(NULL, 0), 1.0*NSEC_PER_SEC, 0);//
dispatch_source_set_event_handler(_timer, ^{
if (timeout<=0) {
//
dispatch_source_cancel(self->_timer);
self->_timer = nil;
dispatch_async(dispatch_get_main_queue(), ^{
completeBlock(0,0,0,0);
});
}else{
int days = (int)(timeout/(3600*24));
int hours = (int)((timeout-days*24*3600)/3600);
int minute = (int)(timeout-days*24*3600-hours*3600)/60;
int second = timeout-days*24*3600-hours*3600-minute*60;
dispatch_async(dispatch_get_main_queue(), ^{
completeBlock(days,hours,minute,second);
});
timeout--;
}
});
dispatch_resume(_timer);
}
}
}
-(void)countDownWithPER_SECBlock:(void (^)(void))PER_SECBlock{
if (_timer==nil) {
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

Binary file not shown.

BIN
GIGA/Common/Source/ogg_btn.mp3 Executable file

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,23 @@
//
// LXCustomActionSheet.h
// CustomUISwitch
//
// Created by lianxiang on 2018/10/11.
// Copyright © 2018年 lian. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface LXCustomActionSheet : UIView
- (instancetype)initWithTitle:(NSString*)title
optionsArr:(NSArray*)optionsArr
cancelTitle:(NSString*)cancelTitle
selectedBlock:(void(^)(NSInteger))selectedBlock
cancelBlock:(void(^)(void))cancelBlock;
-(void)show;
@end

View File

@ -0,0 +1,192 @@
//
// LXCustomActionSheet.m
// CustomUISwitch
//
// Created by lianxiang on 2018/10/11.
// Copyright © 2018 lian. All rights reserved.
//
#import "LXCustomActionSheet.h"
#define Screen_Width [UIScreen mainScreen].bounds.size.width
#define Screen_height [UIScreen mainScreen].bounds.size.height
#define SPACE 10
@interface LXCustomActionSheet ()<UITableViewDelegate,UITableViewDataSource>
@property (nonatomic, strong) UIView *maskView;
@property (nonatomic, strong) UITableView *tableView;
@property (nonatomic, strong) NSArray *optionsArr;
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *cancelTitle;
@property (nonatomic, strong) UIView *headView;
@property (nonatomic, copy) void(^selectedBlock)(NSInteger);
@property (nonatomic, copy) void(^cancelBlock)(void);
@end
@implementation LXCustomActionSheet
- (instancetype)initWithTitle:(NSString*)title
optionsArr:(NSArray*)optionsArr
cancelTitle:(NSString*)cancelTitle
selectedBlock:(void(^)(NSInteger))selectedBlock
cancelBlock:(void(^)(void))cancelBlock{
if (self = [super init]) {
_title = title;
_optionsArr = optionsArr;
_cancelTitle = cancelTitle;
_selectedBlock = selectedBlock;
_cancelBlock = cancelBlock;
[self craetUI];
}
return self;
}
- (void)craetUI {
self.frame = [UIScreen mainScreen].bounds;
[self addSubview:self.maskView];
[self addSubview:self.tableView];
}
- (UIView*)maskView {
if (!_maskView) {
_maskView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];
_maskView.backgroundColor = [UIColor blackColor];
_maskView.alpha = .5;
_maskView.userInteractionEnabled = YES;
}
return _maskView;
}
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.rowHeight = 44.0;
_tableView.bounces = NO;
_tableView.showsVerticalScrollIndicator = NO;
_tableView.backgroundColor = [UIColor clearColor];
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
UIView *tabHeader = [[UIView alloc] initWithFrame:CGRectMake(0, 0,Screen_Width, 50)];
tabHeader.backgroundColor = [UIColor whiteColor];
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:
CGRectMake(0, 0, Screen_Width, 50) byRoundingCorners:
UIRectCornerTopLeft|UIRectCornerTopRight cornerRadii:
CGSizeMake(10, 10)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init];
maskLayer.frame = tabHeader.bounds;
maskLayer.path = maskPath.CGPath;
tabHeader.layer.mask = maskLayer;
UILabel *titleLabe = [[UILabel alloc] init];
titleLabe.frame = tabHeader.bounds;
titleLabe.textAlignment = NSTextAlignmentCenter;
titleLabe.text = self.title;
titleLabe.font = GIGA_TEXTFONTMEDIUM(15);
titleLabe.textColor = GIGA_MAIN_BGCOLOR;
[tabHeader addSubview:titleLabe];
UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, tabHeader.frame.size.height -0.5, Screen_Width, 0.5)];
lineView.backgroundColor = [UIColor colorWithRed:222/255.0f green:222/255.0f blue:222/255.0f alpha:1];
[tabHeader addSubview:lineView];
self.headView = tabHeader;
_tableView.tableHeaderView = self.headView;
// _tableView.separatorInset = UIEdgeInsetsMake(0, -50, 0, 0);
[_tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Navi_Cell"];
}
return _tableView;
}
#pragma mark TableView
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return (section == 0)?_optionsArr.count:1;
}
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Navi_Cell"];
cell.textLabel.font = GIGA_TEXTFONTMEDIUM(18);
cell.textLabel.textColor = GIGA_MAIN_BGCOLOR;
if (indexPath.section == 0) {
cell.textLabel.text = _optionsArr[indexPath.row];
UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0,cell.frame.size.height - 0.5, Screen_Width, 0.5)];
lineView.backgroundColor = [UIColor colorWithRed:222/255.0f green:222/255.0f blue:222/255.0f alpha:1];
[cell.contentView addSubview:lineView];
} else {
cell.textLabel.text = _cancelTitle;
}
cell.textLabel.textAlignment = NSTextAlignmentCenter;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0) {
if (self.selectedBlock) {
self.selectedBlock(indexPath.row);
}
}else{
if (self.cancelBlock) {
self.cancelBlock();
}
}
[self dismiss];
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
if (section==0) {
return 3;
}
return 0;
}
- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
UIView *footerView = [[UIView alloc] init];
footerView.backgroundColor = [UIColor colorWithRed:222/255.0f green:222/255.0f blue:222/255.0f alpha:1];
return footerView;
}
-(void)show{
[[UIApplication sharedApplication].keyWindow addSubview:self];
}
- (void)layoutSubviews {
[super layoutSubviews];
[self showTab];
}
- (void)showTab{
_tableView.frame = CGRectMake(0,Screen_height, Screen_Width, _tableView.rowHeight * (_optionsArr.count + 1) + 50 + 3);
[UIView animateWithDuration:.5 animations:^{
CGRect rect = self->_tableView.frame;
rect.origin.y -= self->_tableView.bounds.size.height;
self->_tableView.frame = rect;
}];
}
- (void)dismiss {
[UIView animateWithDuration:.5 animations:^{
CGRect rect = self->_tableView.frame;
rect.origin.y += self->_tableView.bounds.size.height;
self->_tableView.frame = rect;
} completion:^(BOOL finished) {
[self removeFromSuperview];
}];
}
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
if (self.cancelBlock) {
self.cancelBlock();
}
[self dismiss];
}
@end

View File

@ -28,15 +28,22 @@
//修改密码
#define kPAiUSerEditpwd @"user/v1/editpwd"
//修改手机号
#define kApiChangePhone @"user/v1/editmobil"
//修改手机号发送验证码
#define kApiChangeMobleCode @"msg/sms/v1/editsendcode"
//发送验证码
#define kApiSendPhoneCode @"msg/sms/v1/sendcode";
#define kApiChangePhone @"user/v1/editmobile"
//修改手机号发送旧手机验证码
#define kApiChangeMobleOldCode @"msg/sms/v1/editsendcode"
//修改手机号发送新手机验证码
#define kApiChangeMobleNewCode @"msg/sms/v1/editsendcode2"
//找回密码发送验证码
#define kApiChangePassSendCode @"msg/sms/v1/retrievesendcode"
//异步验证手机验证码
#define kApiVersifyPhoneCode @"user/v1/validateSmsCode"
//注册发送短信
#define kApiUserRegistSendCode @"msg/sms/v1/registersendcode"
//手机登录 获取验证码
#define kApiIUserLoginSendCode @"msg/sms/v1/sendcode"
#define kApiUserloginWithSMSCode @"sys/v1/mobilecodelogin"
//获取意见反馈类型 (设置意见反馈)
#define kApiGetFeedList @"sys/sysdict/v1/maskproposaltype"
@ -57,6 +64,17 @@
#define kApiEndMaskTime @"activity/maskuselog/v1/end"
//每日分享
#define kApiShareAction @"activity/maskuselog/v1/sharedata"
//微信登陆
#define kApiWeiChatLogin @"sys/v1/wechatlogin"
//版本说明
//测试
//#define kIMPRITNT @"http://yts.s1.natapp.cc/mask/imprint.html"
//正式
#define kIMPRITNT @"http://app.mianmoshijian.com/imprint.html?device=ios"
//获取默认面膜时间
#define kUserDefaultMaskTime @"activity/maskuselog/v1/minute"
#endif /* ApiRequestConfig_h */

View File

@ -68,10 +68,9 @@ green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:alphaValue]
#define GIGAUIColorFromRGBA(rgbValue) [UIColor \
colorWithRed:((float)((rgbValue & 0xFF000000) >> 24))/255.0 \
green:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
blue:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
alpha:((float)(rgbValue & 0xFF))/255.0]
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.f]
#define GIGA_MAIN_BGCOLOR [UIColor colorWithRed:131/255.0f green:10/255.0f blue:10/255.0f alpha:1]
#define SCREEN [UIScreen mainScreen]
@ -101,7 +100,7 @@ alpha:((float)(rgbValue & 0xFF))/255.0]
// 状态栏高度 所有机型
#define Phone_STATUBAR_H [[UIApplication sharedApplication] statusBarFrame].size.height
//状态栏—➕导航栏
#define SAFE_NAV_HEIGHT ([[UIApplication sharedApplication] statusBarFrame].size.height + self.navigationController.navigationBar.frame.size.height)
#define SAFE_NAV_HEIGHT ([[UIApplication sharedApplication] statusBarFrame].size.height == 44.0 ? 88.0 : 64.0)
#define GIGA_FONTNAME @"PingFangSC-Medium"

View File

@ -12,5 +12,6 @@
+ (void)setServerType:(NSInteger) type;
+ (NSString *)getMainUrl;
+(NSString*)getsocketUrl;
@end

View File

@ -18,15 +18,23 @@
switch (type) {
case 0://
{
[[NSUserDefaults standardUserDefaults] setValue:@"http://apiyts.s1.natapp.cc/v1/" forKey:@"MainUrl"];
}
break;
case 1: //
{
[[NSUserDefaults standardUserDefaults] setValue:@"https://" forKey:@"MainUrl"];
[[NSUserDefaults standardUserDefaults] setValue:@"http://apiyts.s1.natapp.cc/v1/" forKey:@"MainUrl"];
[[NSUserDefaults standardUserDefaults] setValue:@"http://wsyts.s1.natapp.cc" forKey:@"gigasocketUrl"];
// [[NSUserDefaults standardUserDefaults] setValue:@"https://api.mianmoshijian.com/v1/" forKey:@"MainUrl"];
// [[NSUserDefaults standardUserDefaults] setValue:@"https://ws.mianmoshijian.com" forKey:@"gigasocketUrl"];
}
break;
case 1: //
{
//https://api.mianmoshijian.com/v1/
[[NSUserDefaults standardUserDefaults] setValue:@"https://api.mianmoshijian.com/v1/" forKey:@"MainUrl"];
[[NSUserDefaults standardUserDefaults] setValue:@"https://ws.mianmoshijian.com" forKey:@"gigasocketUrl"];
}
break;
default:
break;
}
@ -37,4 +45,8 @@
return [[NSUserDefaults standardUserDefaults] objectForKey:@"MainUrl"];
}
+(NSString*)getsocketUrl{
return [[NSUserDefaults standardUserDefaults] objectForKey:@"gigasocketUrl"];
}
@end

View File

@ -26,11 +26,11 @@
#import "GIGA.h"
//#import "AFNetworking.h"
//#import <JSONModel/JSONModel.h>
#import "UIView+Toast.h"
#import "JXTAlertManagerHeader.h"
#import "Masonry.h"
#import "GiGaHelper.h"
#import "MobClickList.h"
#import "TTTAttributedLabel.h"
#import "GiGaUserManager.h"

View File

@ -2,23 +2,12 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>保存图片到相册</string>
<key>BuglyAppIDString</key>
<string>8f49773330</string>
<key>CFBundleDevelopmentRegion</key>
<string>cn</string>
<key>CFBundleDisplayName</key>
<string>面膜时间</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string></string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
@ -30,7 +19,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>0.9.5</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
@ -43,17 +32,9 @@
<string>wx1fa33defa5cbc8dd</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>Prefs</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<string>1.6.5</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixin</string>
@ -67,11 +48,12 @@
</dict>
<key>NSCameraUsageDescription</key>
<string>是否允许此App使用您的 相机?</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>保存图片到相册</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>是否允许此App使用您的相册</string>
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
<string>remote-notification</string>
</array>
<key>UILaunchStoryboardName</key>

10
GIGA/InfoPlist.strings Normal file
View File

@ -0,0 +1,10 @@
/*
InfoPlist.strings
GIGA
Created by lianxiang on 2018/9/27.
Copyright © 2018年 com.giga.ios. All rights reserved.
*/
CFBundleDisplayName = "面膜时间";

View File

@ -5,3 +5,4 @@
Created by lianxiang on 2018/9/4.
Copyright © 2018年 com.giga.ios. All rights reserved.
*/

View File

@ -20,6 +20,7 @@
[self addNavTitile:@"广告详情"];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning {
@ -27,14 +28,5 @@
// 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

View File

@ -86,6 +86,7 @@ static int const showTime = 5;
NSMutableAttributedString *title = [[NSMutableAttributedString alloc] initWithString:@"了解更多" attributes:@{NSFontAttributeName:[UIFont fontWithName:GIGA_FONTNAME size:18],NSForegroundColorAttributeName:[UIColor whiteColor]}];
[moreinfoBtn setAttributedTitle:title forState:UIControlStateNormal];
UILabel *year = [[UILabel alloc] init];
year.textColor = [UIColor whiteColor];
year.font = GIGA_TEXTFONTBOLD(10);
@ -131,6 +132,8 @@ static int const showTime = 5;
make.left.mas_equalTo(20);
}];
moreinfoBtn.hidden = YES;
}
-(void)removeAdView{

View File

@ -1,13 +0,0 @@
//
// GiGaExercisesViewController.h
// GIGA
//
// Created by lianxiang on 2018/8/13.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface GiGaExercisesViewController : UIViewController
@end

View File

@ -1,37 +0,0 @@
//
// GiGaExercisesViewController.m
// GIGA
//
// Created by lianxiang on 2018/8/13.
// Copyright © 2018 com.giga.ios. All rights reserved.
//
#import "GiGaExercisesViewController.h"
@interface GiGaExercisesViewController ()
@end
@implementation GiGaExercisesViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 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

View File

@ -9,5 +9,6 @@
#import <UIKit/UIKit.h>
#import "GiGaBaseViewController.h"
@interface GiGaRegistViewController : GiGaBaseViewController
@property (weak, nonatomic) IBOutlet UIScrollView *backScrollView;
@end

View File

@ -46,6 +46,14 @@
[self.checkBtn addTarget:self action:@selector(checkBtnAction:) forControlEvents:UIControlEventTouchUpInside];
[self resetBackimg];
if (@available(iOS 11.0, *)) {
self.backScrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
self.automaticallyAdjustsScrollViewInsets = NO;
// Fallback on earlier versions
}
}
-(void)resetBackimg{
@ -89,12 +97,12 @@
GIGA_ShowToast(@"请输入正确手机号");
return;
}
btn.userInteractionEnabled = NO;
[self startTimer:btn];
[self sendVerifiCode:btn];
}
-(void)startTimer:(UIButton *)btn{
btn.userInteractionEnabled = NO;
if (_time>0) {
_timer = [NSTimer scheduledTimerWithTimeInterval:1 count:60 callback:^{
NSString *timeStr=[NSString stringWithFormat:@"%lds",(long)self->_time];
@ -122,12 +130,18 @@
NSDictionary *param = @{
@"mobile":phoneNumber
};
GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:@"msg/sms/v1/registersendcode" method:RequestPostMethod parms:param];
GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:kApiUserRegistSendCode method:RequestPostMethod parms:param];
[api requstDataWithResult:^(GiGaAPIResult *result) {
[MBProgressHUD hideHUDForView:self.view animated:YES];
GILog(@"短信获取%@",result.message);
btn.userInteractionEnabled = YES;
if (result.success) {
[self startTimer:btn];
}else{
GIGA_ShowToast(result.message);
}
}];
}
@ -182,9 +196,10 @@
// [self.navigationController pushViewController:webView animated:YES];
GiGaWebViewController *webView = [[GiGaWebViewController alloc] init];
webView.souceType = WebSourceTypeUrlLink;
webView.url = @"http://www.youtansu.com";
webView.url = @"http://app.mianmoshijian.com/userAgrerment.html";
[self.navigationController pushViewController:webView animated:YES];
}
#pragma mark
@ -216,11 +231,16 @@
-(void)regeist:(UIButton *)btn{
btn.userInteractionEnabled = NO;
NSDictionary *weixinInfoDic = [GiGaUserDefault getWeiXinAccessToenDic];
//NSDictionary *weixinInfoDic = [GiGaUserDefault getWeiXinAccessToenDic];
NSString *wechatCode = [GiGaUserDefault getWeiXinCode];
NSDictionary *param = nil;
if (weixinInfoDic) {
param = @{@"username":self.phoneNumberTextField.text,@"verifiedCode":self.codeTextField.text,@"password":self.passTexFied.text,@"openid":weixinInfoDic[@"openid"]};
if (wechatCode) {
param = @{@"username":self.phoneNumberTextField.text,@"verifiedCode":self.codeTextField.text,@"password":self.passTexFied.text,@"wechatCode":wechatCode};
}else{
param = @{@"username":self.phoneNumberTextField.text,@"verifiedCode":self.codeTextField.text,@"password":self.passTexFied.text};
}
@ -230,21 +250,49 @@
btn.userInteractionEnabled = YES;
GILog(@"注册->%@",result.message);
if (result.code == 0) {
NC_POST_NAME_OBJECT(kUserRegistSucccess,self.phoneNumberTextField.text);
GIGA_ShowToast(result.message);
[self.navigationController popToRootViewControllerAnimated:YES];
}else if (result.code == GiGAErrorCode_USER_EXIST){
GIGA_ShowToast(@"用户已存在");
NC_POST_NAME_OBJECT(kUserRegistSucccess,self.phoneNumberTextField.text);
if (result.success) {
// NC_POST_NAME_OBJECT(kUserRegistSucccess,self.phoneNumberTextField.text);
// GIGA_ShowToast(result.message);
// [self.navigationController popToRootViewControllerAnimated:YES];
if (result.dic) {
//token
[GiGaUserDefault saveToken:result.dic[@"token"]];
//
[MobClick endEvent:MobClick_UserLogin];
GIGA_WIndowTost(@"登录成功!");
//
[[GiGaUserManager shareUser] synsisUserInfo:^(GiGaUser *user) {
GILog(@"user.userId:%@",user.userId);
NC_POST_NAME_OBJECT(kUserLoginSuccessNoti, nil);
[self dismissViewControllerAnimated:YES completion:nil];
} userErrorMsgBlock:^(NSDictionary *errorCodemsg) {
GILog(@"%@",errorCodemsg);
}];
}
}else{
GIGA_ShowToast(result.message);
}
}];
}
-(void)userloginAuto{
[[GiGaUserManager shareUser] synsisUserInfo:^(GiGaUser *user) {
GILog(@"user.userId:%@",user.userId);
NC_POST_NAME_OBJECT(kUserLoginSuccessNoti, nil);
} userErrorMsgBlock:^(NSDictionary *errorCodemsg) {
}];
}
-(void)checkBtnAction:(UIButton *)btn{
btn.selected = !btn.selected;
if (btn.selected) {
@ -253,7 +301,7 @@
self.registBtn.userInteractionEnabled = YES;
}else{
[btn setImage:[UIImage imageNamed:@"btn_turndown"] forState:UIControlStateSelected];
[btn setImage:[UIImage imageNamed:@"btn_turndown"] forState:UIControlStateNormal];
[self.registBtn setBackgroundColor:[UIColor lightGrayColor]];
self.registBtn.userInteractionEnabled = NO;
@ -265,4 +313,5 @@
// Dispose of any resources that can be recreated.
}
@end

View File

@ -1,17 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14283.14"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="GiGaRegistViewController">
<connections>
<outlet property="backScrollView" destination="piO-PU-j8g" id="3ii-Sx-qXY"/>
<outlet property="checkBtn" destination="b06-w9-r2g" id="Cv8-zo-QoL"/>
<outlet property="codeTextField" destination="dR7-iu-Eup" id="wNt-AE-gpM"/>
<outlet property="passTexFied" destination="UUC-74-fsa" id="4hR-y9-jDa"/>
@ -28,17 +29,17 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="piO-PU-j8g">
<rect key="frame" x="0.0" y="20" width="375" height="647"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="img_circle_avatar" translatesAutoresizingMaskIntoConstraints="NO" id="SEO-0F-Irb">
<rect key="frame" x="130" y="87" width="114" height="114"/>
<rect key="frame" x="130.5" y="43" width="114" height="114"/>
<constraints>
<constraint firstAttribute="width" constant="114" id="GOs-M2-rAk"/>
<constraint firstAttribute="height" constant="114" id="af0-Mm-2fL"/>
</constraints>
</imageView>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入手机号" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="uJG-KF-a91">
<rect key="frame" x="66" y="230" width="244" height="48"/>
<rect key="frame" x="66" y="186" width="243" height="48"/>
<constraints>
<constraint firstAttribute="height" constant="48" id="pzi-4C-7s8"/>
</constraints>
@ -47,14 +48,14 @@
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ubQ-Za-dV7">
<rect key="frame" x="65" y="280" width="245" height="1"/>
<rect key="frame" x="65" y="236" width="244" height="1"/>
<color key="backgroundColor" red="0.94901960784313721" green="0.94901960784313721" blue="0.94901960784313721" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="Gbv-lr-zmA"/>
</constraints>
</view>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="短信验证码" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="dR7-iu-Eup">
<rect key="frame" x="66" y="286" width="131" height="48"/>
<rect key="frame" x="66" y="242" width="130" height="48"/>
<constraints>
<constraint firstAttribute="height" constant="48" id="Iqo-gI-2Z3"/>
</constraints>
@ -63,7 +64,7 @@
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qAH-Fa-AmF">
<rect key="frame" x="222" y="286" width="88" height="48"/>
<rect key="frame" x="221" y="242" width="88" height="48"/>
<constraints>
<constraint firstAttribute="width" constant="88" id="kZw-pm-n5p"/>
<constraint firstAttribute="height" constant="48" id="oB6-lP-x7P"/>
@ -76,21 +77,21 @@
</state>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Trq-bz-kQT">
<rect key="frame" x="65" y="336" width="245" height="1"/>
<rect key="frame" x="65" y="292" width="244" height="1"/>
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="BYZ-mC-rOK"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Pb5-1e-TXp">
<rect key="frame" x="65" y="395" width="245" height="1"/>
<rect key="frame" x="65.5" y="351" width="244" height="1"/>
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="SYH-LK-7FR"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hZA-nj-Wmu">
<rect key="frame" x="84" y="437" width="207" height="41"/>
<rect key="frame" x="84" y="393" width="207" height="41"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="41" id="IZZ-Wn-zMh"/>
@ -99,13 +100,13 @@
<state key="normal" title="注 册"/>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已阅读并同意《用户服务协议》" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vxb-TL-wDd" customClass="GiGaAttributedLabel">
<rect key="frame" x="117.5" y="550" width="140" height="15"/>
<rect key="frame" x="117.5" y="506" width="140" height="15"/>
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="10"/>
<color key="textColor" red="0.56862745098039214" green="0.56862745098039214" blue="0.56862745098039214" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="highlightedColor" red="0.56862745100000001" green="0.56862745100000001" blue="0.56862745100000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</label>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="设置登录密码" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="UUC-74-fsa">
<rect key="frame" x="65" y="345" width="245" height="48"/>
<rect key="frame" x="65.5" y="301" width="244" height="48"/>
<constraints>
<constraint firstAttribute="height" constant="48" id="o8f-Xh-HGs"/>
</constraints>
@ -114,7 +115,7 @@
<textInputTraits key="textInputTraits" keyboardType="numbersAndPunctuation"/>
</textField>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="b06-w9-r2g">
<rect key="frame" x="75" y="539" width="39" height="37"/>
<rect key="frame" x="75" y="495" width="39" height="37"/>
<constraints>
<constraint firstAttribute="width" constant="39" id="FeL-ci-mXv"/>
<constraint firstAttribute="height" constant="37" id="sLA-cD-5zI"/>
@ -128,7 +129,7 @@
<constraint firstItem="hZA-nj-Wmu" firstAttribute="centerX" secondItem="piO-PU-j8g" secondAttribute="centerX" id="7gX-TX-GAa"/>
<constraint firstItem="Vxb-TL-wDd" firstAttribute="centerX" secondItem="piO-PU-j8g" secondAttribute="centerX" id="Bz2-Js-CTt"/>
<constraint firstItem="ubQ-Za-dV7" firstAttribute="leading" secondItem="piO-PU-j8g" secondAttribute="leading" constant="65" id="CGf-BO-qJR"/>
<constraint firstAttribute="bottom" secondItem="Trq-bz-kQT" secondAttribute="bottom" constant="310" id="CnD-h1-kaA"/>
<constraint firstAttribute="bottom" secondItem="Trq-bz-kQT" secondAttribute="bottom" constant="354" id="CnD-h1-kaA"/>
<constraint firstItem="SEO-0F-Irb" firstAttribute="centerX" secondItem="piO-PU-j8g" secondAttribute="centerX" id="E3K-GK-vYR"/>
<constraint firstItem="uJG-KF-a91" firstAttribute="top" secondItem="SEO-0F-Irb" secondAttribute="bottom" constant="29" id="ECP-qY-1cd"/>
<constraint firstItem="UUC-74-fsa" firstAttribute="top" secondItem="Trq-bz-kQT" secondAttribute="bottom" constant="8" id="Gtf-ex-Tqo"/>
@ -142,10 +143,10 @@
<constraint firstItem="ubQ-Za-dV7" firstAttribute="top" secondItem="uJG-KF-a91" secondAttribute="bottom" constant="2" id="aeU-Sw-M2f"/>
<constraint firstItem="Vxb-TL-wDd" firstAttribute="leading" secondItem="b06-w9-r2g" secondAttribute="trailing" constant="3.5" id="bJR-59-KMw"/>
<constraint firstItem="qAH-Fa-AmF" firstAttribute="centerY" secondItem="dR7-iu-Eup" secondAttribute="centerY" id="eJi-uE-qBs"/>
<constraint firstItem="hZA-nj-Wmu" firstAttribute="leading" secondItem="piO-PU-j8g" secondAttribute="leading" constant="84" id="fcO-XF-ODc"/>
<constraint firstItem="hZA-nj-Wmu" firstAttribute="leading" relation="lessThanOrEqual" secondItem="piO-PU-j8g" secondAttribute="leading" constant="84" id="fcO-XF-ODc"/>
<constraint firstItem="uJG-KF-a91" firstAttribute="centerX" secondItem="piO-PU-j8g" secondAttribute="centerX" id="flh-N1-FvK"/>
<constraint firstItem="qAH-Fa-AmF" firstAttribute="trailing" secondItem="uJG-KF-a91" secondAttribute="trailing" id="fsZ-rC-rlA"/>
<constraint firstAttribute="trailing" secondItem="ubQ-Za-dV7" secondAttribute="trailing" constant="65" id="j6B-5X-ymb"/>
<constraint firstAttribute="trailing" secondItem="ubQ-Za-dV7" secondAttribute="trailing" constant="66" id="j6B-5X-ymb"/>
<constraint firstItem="dR7-iu-Eup" firstAttribute="top" secondItem="ubQ-Za-dV7" secondAttribute="bottom" constant="5" id="jKd-do-Qv6"/>
<constraint firstItem="Pb5-1e-TXp" firstAttribute="width" secondItem="Trq-bz-kQT" secondAttribute="width" id="kqU-bv-fGy"/>
<constraint firstItem="Pb5-1e-TXp" firstAttribute="centerX" secondItem="piO-PU-j8g" secondAttribute="centerX" id="mX6-oT-Oeq"/>
@ -154,19 +155,19 @@
<constraint firstItem="hZA-nj-Wmu" firstAttribute="top" secondItem="Pb5-1e-TXp" secondAttribute="bottom" constant="41" id="xYx-Fr-OyO"/>
<constraint firstItem="b06-w9-r2g" firstAttribute="centerY" secondItem="Vxb-TL-wDd" secondAttribute="centerY" id="y5u-W9-HjP"/>
<constraint firstItem="UUC-74-fsa" firstAttribute="centerX" secondItem="piO-PU-j8g" secondAttribute="centerX" id="yQJ-WR-KVx"/>
<constraint firstItem="SEO-0F-Irb" firstAttribute="top" secondItem="piO-PU-j8g" secondAttribute="top" constant="87" id="ylx-4z-k36"/>
<constraint firstItem="SEO-0F-Irb" firstAttribute="top" secondItem="piO-PU-j8g" secondAttribute="top" constant="43" id="ylx-4z-k36"/>
</constraints>
</scrollView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="piO-PU-j8g" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="20" id="FeS-pw-yBz"/>
<constraint firstItem="piO-PU-j8g" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="FeS-pw-yBz"/>
<constraint firstAttribute="bottom" secondItem="piO-PU-j8g" secondAttribute="bottom" id="LJj-gu-XvO"/>
<constraint firstItem="piO-PU-j8g" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="TBf-ZS-9tS"/>
<constraint firstAttribute="trailing" secondItem="piO-PU-j8g" secondAttribute="trailing" id="wPj-4k-nEv"/>
</constraints>
<viewLayoutGuide key="safeArea" id="7gZ-WS-Wjh"/>
<point key="canvasLocation" x="33.5" y="53.5"/>
<point key="canvasLocation" x="32.799999999999997" y="52.623688155922046"/>
</view>
</objects>
<resources>

View File

@ -10,5 +10,6 @@
#import "GiGaBaseViewController.h"
@interface GiGaUserLoginVC : GiGaBaseViewController
@property (weak, nonatomic) IBOutlet UIScrollView *backScrollView;
@end

View File

@ -20,10 +20,12 @@
#import "GIGAMBHUDHelper.h"
#import "GiGaHelper.h"
#import "GiGaUserManager.h"
#import "NSTimer+Convenience.h"
@interface GiGaUserLoginVC ()
@property (weak, nonatomic) IBOutlet UIImageView *userImagView;
@property (weak, nonatomic) IBOutlet UITextField *acountTextField;
//0.9+ code
@property (weak, nonatomic) IBOutlet UITextField *passwordTextField;
@property (weak, nonatomic) IBOutlet UIButton *loginBtn;
@ -31,6 +33,8 @@
@property (weak, nonatomic) IBOutlet UIButton *registBtn;
@property (weak, nonatomic) IBOutlet UIButton *secretBtn;
@property(nonatomic,strong) NSTimer*timer;
@property(nonatomic) NSInteger time;
@end
@ -38,7 +42,13 @@
- (void)viewDidLoad {
[super viewDidLoad];
self.automaticallyAdjustsScrollViewInsets = NO;
_time = 60;
if (@available(iOS 11.0, *)) {
self.backScrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
self.automaticallyAdjustsScrollViewInsets = NO;
// Fallback on earlier versions
}
// Do any additional setup after loading the view from its nib.
[self setUpX];
[self textFieldUI];
@ -90,8 +100,9 @@
// NSAttributedString *passholderText = [[NSAttributedString alloc] initWithString:@"密码" attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14],NSForegroundColorAttributeName:[UIColor redColor]}];
// self.passwordTextField.attributedPlaceholder = passholderText;
UIView *passView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
UIImageView *passViewIcon = [[UIImageView alloc] initWithFrame:CGRectMake(15,8, 12, 22)];
passViewIcon.image = [UIImage imageNamed:@"icon_key"];
UIImageView *passViewIcon = [[UIImageView alloc] initWithFrame:CGRectMake(12,13.5, 18, 13)];
passViewIcon.image = [UIImage imageNamed:@"ic_note"];
[passView addSubview:passViewIcon];
self.passwordTextField.leftView = passView;
self.passwordTextField.leftViewMode = UITextFieldViewModeAlways;
@ -152,7 +163,7 @@
}
#pragma mark
#pragma mark
-(void)loginBtnAction:(UIButton *)btn{
if (self.acountTextField.text.length == 0) {
@ -168,54 +179,54 @@
GIGA_ShowToast(@"密码不能为空");
return;
}
// 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位数字和字母组成的密码");
if (self.passwordTextField.text.length == 0) {
GIGA_ShowToast(@"请输入验证码");
return;
}
[self loginWithAction:btn];
}
-(void)loginWithAction:(UIButton *)btn{
NSDictionary *weixinInfoDic = [GiGaUserDefault getWeiXinAccessToenDic];
NSDictionary *params = nil;
if (weixinInfoDic) {
params = @{
@"username":self.acountTextField.text,
@"password":self.passwordTextField.text,
@"openid":weixinInfoDic[@"openid"],
};
}else{
params = @{
@"username":self.acountTextField.text,
@"password":self.passwordTextField.text
};
// NSDictionary *weixinInfoDic = [GiGaUserDefault getWeiXinAccessToenDic];
NSString *wechatCode = [GiGaUserDefault getWeiXinCode];
if (wechatCode==nil) {
wechatCode = @"";
}
NSDictionary *params = nil;
params = @{
@"mobile":self.acountTextField.text,
@"code":self.passwordTextField.text,
@"wechatCode":wechatCode,
};
//[GIGAMBHUDHelper messageAddto:self.view title:@"登录中..."];
[self.view makeToastActivity:CSToastPositionCenter];
NSString *baseapi = [GiGaServerConfig getMainUrl];
NSString *url = [NSString stringWithFormat:@"%@%@",baseapi,kApiUserLogin];
[GiGaNetManager userbodyRequest:url params:params completionHandler:^(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error) {
GILog(@"%@",resDic);
//NSString *baseapi = [GiGaServerConfig getMainUrl];
//NSString *url = [NSString stringWithFormat:@"%@%@",baseapi,kApiUserloginWithSMSCode];
// [GiGaNetManager userbodyRequest:url params:params completionHandler:^(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error) {
// GILog(@"%@",resDic);
// [self.view hideToastActivity];
// GiGaAPIResult *result = [[GiGaAPIResult alloc] initWithDictionary:resDic];
// GILog(@"**登陆***\n code:%ld\n message:%@\n *******\n",result.code,result.message);
// if (result.success) {
// [self userloginSussecess:resDic];
// }else{
// GIGA_ShowToast(result.message);
// }
// }];
//[GIGAMBHUDHelper messageAddto:self.view title:@"登录中..."];
[self.view makeToastActivity:CSToastPositionCenter];
GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:kApiUserloginWithSMSCode method:RequestPostMethod parms:params];
[api requstDataWithResult:^(GiGaAPIResult *result) {
[self.view hideToastActivity];
GiGaAPIResult *result = [[GiGaAPIResult alloc] initWithDictionary:resDic];
GILog(@"**登陆***\n code:%ld\n message:%@\n *******\n",result.code,result.message);
if (result.success) {
[self userloginSussecess:resDic];
[self userloginSussecess:result.dic];
}else{
GIGA_ShowToast(result.message);
@ -241,33 +252,37 @@
}
}
//access_token
//access_token()
-(void)WeiXinLongIn:(NSNotification *)notification{
//
//[self testNetworkStatus];
//code
[GiGaUserDefault saveWeiXinCode:notification.object[@"code"]];
[self.view makeToastActivity:CSToastPositionCenter];
NSDictionary *param = @{
@"appid":WXin_APPID,
@"secret":WXin_APPSecret,
@"code":notification.object[@"code"],
@"grant_type":@"authorization_code"
@"code":notification.object[@"code"]
};
[WeiIXinApiManager weixinAccessTokeRequstUrl:@"https://api.weixin.qq.com/sns/oauth2/access_token" parameters:param success:^(id response) {
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingAllowFragments error:nil];
GILog(@"access_token back -->%@",dict);
[GiGaUserDefault saveWeiXinaccesstokenInfoWithDic:dict];
[self requstWeiXinUserinfo];
} failure:^(NSError *err) {
[self.view makeToast:err.localizedDescription];
GILog(@"access_token err-->%@",err.localizedDescription);
}];
[self gigaUploadweixinInfo:param];
// NSDictionary *param = @{
// @"appid":WXin_APPID,
// @"secret":WXin_APPSecret,
// @"code":notification.object[@"code"],
// @"grant_type":@"authorization_code"
// };
//
// [WeiIXinApiManager weixinAccessTokeRequstUrl:@"https://api.weixin.qq.com/sns/oauth2/access_token" parameters:param success:^(id response) {
// NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingAllowFragments error:nil];
// GILog(@"access_token back -->%@",dict);
// [GiGaUserDefault saveWeiXinaccesstokenInfoWithDic:dict];
// [self requstWeiXinUserinfo];
//
// } failure:^(NSError *err) {
// [self.view makeToast:err.localizedDescription];
// GILog(@"access_token err-->%@",err.localizedDescription);
// }];
}
//
//
-(void)requstWeiXinUserinfo{
@ -280,7 +295,7 @@
[WeiIXinApiManager getWeiXinUserInfoUrl:@"https://api.weixin.qq.com/sns/userinfo" parameters:param success:^(id response) {
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingAllowFragments error:nil];
GILog(@"weixinUser info back -->%@",dict);
[self gigaUploadweixinInfo:dict];
// [self gigaUploadweixinInfo:dict];
} failure:^(NSError *err) {
[self.view makeToast:err.localizedDescription];
@ -288,11 +303,12 @@
}];
}
//
//
-(void)gigaUploadweixinInfo:(NSDictionary *)weiXinUserinfo{
[self.view makeToastActivity:CSToastPositionCenter];
NSString *url = [NSString stringWithFormat:@"%@sys/v1/wechatlogin",[GiGaServerConfig getMainUrl]];
NSString *url = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],kApiWeiChatLogin];
[GiGaNetManager requestMethod:RequestPostMethod Url:url params:weiXinUserinfo responseBlock:^(NSDictionary *responseDict, NSDictionary *responseHeaderFields, NSError *error) {
[self.view hideToastActivity];
if (!error) {
@ -300,45 +316,43 @@
if ([responseDict[@"code"] integerValue] == 0) {
[self userloginSussecess:responseDict];
}else if([responseDict[@"code"] integerValue] == 500){
//
[self.view makeToast:responseDict[@"msg"] duration:2.0 position:CSToastPositionCenter];
[self jxt_showAlertWithTitle:@"温馨提示" message:@"请绑定手机号" appearanceProcess:^(JXTAlertController * _Nonnull alertMaker) {
} actionsBlock:^(NSInteger buttonIndex, UIAlertAction * _Nonnull action, JXTAlertController * _Nonnull alertSelf) {
}];
}else{
[self.view makeToast:responseDict[@"msg"] duration:2.0 position:CSToastPositionCenter];
}
}else{
[self.view makeToast:@"用户信息提交异常"];
GILog(@"上传微信用户信息error:\n%@",error.localizedDescription);
}
}];
}
//
-(void)userloginSussecess:(NSDictionary *)resDic{
//token
[GiGaUserDefault saveToken:resDic[@"token"]];
//
[MobClick endEvent:MobClick_UserLogin];
GIGA_WIndowTost(@"登录成功!");
//
weakify(self);
[[GiGaUserManager shareUser] synsisUserInfo:^(GiGaUser *user) {
GILog(@"user.userId:%@",user.userId);
//
[MobClick endEvent:MobClick_UserLogin];
GIGA_WIndowTost(@"登录成功!");
NC_POST_NAME_OBJECT(kUserLoginSuccessNoti, nil);
[weakSelf dismissViewControllerAnimated:YES completion:nil];
} userErrorMsgBlock:^(NSDictionary *errorCodemsg) {
if (errorCodemsg) {
NSString *msg = errorCodemsg[@"msg"];
if (msg) {
GIGA_ShowToast(msg);
}
}
}];
[self dismissViewControllerAnimated:YES completion:nil];
}
//
@ -347,18 +361,57 @@
self.acountTextField.text =(NSString *)noti.object;
}
//
//
-(void)secretBtnAction:(UIButton *)btn{
btn.selected = !btn.selected;
if (btn.selected) {
//
self.passwordTextField.secureTextEntry = YES;
[btn setImage:[UIImage imageNamed:@"btn_tab_notselect"] forState:UIControlStateSelected];
}else{
self.passwordTextField.secureTextEntry = NO;
[btn setImage:[UIImage imageNamed:@"btn_tab_desplay"] forState:UIControlStateNormal];
if (![GiGaHelper isPhoneNumber:self.acountTextField.text]) {
GIGA_ShowToast(@"请输入正确手机号");
return;
}
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
NSString *phoneNumber = self.acountTextField.text;
NSDictionary *param = @{
@"mobile":phoneNumber
};
GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:kApiIUserLoginSendCode method:RequestPostMethod parms:param];
[api requstDataWithResult:^(GiGaAPIResult *result) {
[MBProgressHUD hideHUDForView:self.view animated:YES];
GILog(@"短信获取%@",result.message);
if (result.success) {
[self startTimer:btn];
}else{
GIGA_ShowToast(result.message);
}
}];
}
//
-(void)startTimer:(UIButton *)btn{
btn.userInteractionEnabled = NO;
if (_time>0) {
_timer = [NSTimer scheduledTimerWithTimeInterval:1 count:60 callback:^{
NSString *timeStr=[NSString stringWithFormat:@"%lds",(long)self->_time];
[btn setTitle:timeStr forState:UIControlStateNormal];
self->_time--;
if (self->_time==0) {
[self.secretBtn setTitle:@"发送短信" forState:UIControlStateNormal];
self->_time =60;
btn.userInteractionEnabled = YES;
}
}];
[[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
}
}
@end

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14283.14"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@ -13,6 +13,7 @@
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="GiGaUserLoginVC">
<connections>
<outlet property="acountTextField" destination="Yiv-h8-4V1" id="bT2-8W-ab2"/>
<outlet property="backScrollView" destination="Z8i-yN-1Cd" id="H0w-vJ-GHh"/>
<outlet property="loginBtn" destination="8Of-JP-gMR" id="uRE-2y-IZt"/>
<outlet property="passwordTextField" destination="Y1I-OE-6t1" id="Jgj-sC-7MX"/>
<outlet property="registBtn" destination="F5p-cf-frr" id="eHE-mU-8Xf"/>
@ -28,10 +29,10 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z8i-yN-1Cd">
<rect key="frame" x="0.0" y="20" width="375" height="647"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<subviews>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="手机号码" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="Yiv-h8-4V1">
<rect key="frame" x="65" y="225" width="245" height="48"/>
<rect key="frame" x="65" y="257" width="245" height="48"/>
<constraints>
<constraint firstAttribute="height" constant="48" id="vg0-nn-MyL"/>
</constraints>
@ -40,14 +41,14 @@
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qzA-vE-CGR">
<rect key="frame" x="65" y="275" width="245" height="2"/>
<rect key="frame" x="65" y="307" width="245" height="2"/>
<color key="backgroundColor" red="0.94901960784313721" green="0.94901960784313721" blue="0.94901960784313721" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="4IT-CI-Nj4"/>
</constraints>
</view>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="码" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Y1I-OE-6t1">
<rect key="frame" x="65" y="279" width="161" height="48"/>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="验证码" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Y1I-OE-6t1">
<rect key="frame" x="65" y="311" width="161" height="48"/>
<constraints>
<constraint firstAttribute="height" constant="48" id="rw6-Ax-vah"/>
</constraints>
@ -56,14 +57,14 @@
<textInputTraits key="textInputTraits" keyboardType="numbersAndPunctuation"/>
</textField>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZJU-Uo-5TM">
<rect key="frame" x="65" y="331" width="245" height="2"/>
<rect key="frame" x="65" y="363" width="245" height="2"/>
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="kqB-Hm-kqr"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="chq-bd-6sQ">
<rect key="frame" x="234" y="341" width="76" height="37"/>
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="chq-bd-6sQ">
<rect key="frame" x="234" y="373" width="76" height="37"/>
<constraints>
<constraint firstAttribute="width" constant="76" id="7Tc-Zf-bbN"/>
<constraint firstAttribute="height" constant="37" id="xjD-it-bBa"/>
@ -77,7 +78,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8Of-JP-gMR">
<rect key="frame" x="65" y="386" width="245" height="42"/>
<rect key="frame" x="65" y="418" width="245" height="42"/>
<color key="backgroundColor" red="0.70980392156862748" green="0.054901960784313725" blue="0.054901960784313725" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="42" id="apM-nh-gox"/>
@ -88,22 +89,27 @@
</state>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Szo-8C-Zin">
<rect key="frame" x="234" y="282" width="76" height="42"/>
<rect key="frame" x="234" y="314" width="76" height="42"/>
<constraints>
<constraint firstAttribute="height" constant="42" id="HyY-eo-8yw"/>
<constraint firstAttribute="width" constant="76" id="pz1-th-22o"/>
</constraints>
<state key="normal" image="btn_tab_desplay"/>
<fontDescription key="fontDescription" name="TimesNewRomanPSMT" family="Times New Roman" pointSize="12"/>
<inset key="titleEdgeInsets" minX="-73" minY="0.0" maxX="0.0" maxY="0.0"/>
<inset key="imageEdgeInsets" minX="5" minY="0.0" maxX="0.0" maxY="0.0"/>
<state key="normal" title="发送验证码" image="btn_meaasag">
<color key="titleColor" red="0.91764705879999997" green="0.30196078430000001" blue="0.30196078430000001" alpha="1" colorSpace="calibratedRGB"/>
</state>
</button>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="img_circle_avatar" translatesAutoresizingMaskIntoConstraints="NO" id="RIl-8E-GcR">
<rect key="frame" x="131" y="82" width="114" height="114"/>
<rect key="frame" x="130.5" y="58" width="114" height="114"/>
<constraints>
<constraint firstAttribute="height" constant="114" id="JgO-PU-ypI"/>
<constraint firstAttribute="width" constant="114" id="mG0-1p-gP7"/>
</constraints>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" hasAttributedTitle="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dnL-WV-spY">
<rect key="frame" x="115" y="523" width="144" height="38"/>
<rect key="frame" x="115.5" y="536" width="144" height="38"/>
<constraints>
<constraint firstAttribute="height" constant="38" id="l1O-3i-Plv"/>
<constraint firstAttribute="width" constant="144" id="zzO-p2-ENu"/>
@ -121,11 +127,11 @@
</attributedString>
</state>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="F5p-cf-frr">
<rect key="frame" x="108" y="436" width="161" height="40"/>
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="F5p-cf-frr">
<rect key="frame" x="80" y="373" width="55" height="36"/>
<constraints>
<constraint firstAttribute="width" constant="161" id="EU3-ax-K1r"/>
<constraint firstAttribute="height" constant="40" id="W9a-lX-GbY"/>
<constraint firstAttribute="width" constant="55" id="E7Z-DH-nia"/>
<constraint firstAttribute="height" constant="36" id="n0h-RT-Hkh"/>
</constraints>
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="12"/>
<state key="normal" title="创建账号">
@ -134,14 +140,12 @@
</button>
</subviews>
<constraints>
<constraint firstItem="RIl-8E-GcR" firstAttribute="top" secondItem="Z8i-yN-1Cd" secondAttribute="top" constant="82" id="4Ud-t0-vg5"/>
<constraint firstItem="RIl-8E-GcR" firstAttribute="top" secondItem="Z8i-yN-1Cd" secondAttribute="top" constant="58" id="4Ud-t0-vg5"/>
<constraint firstItem="chq-bd-6sQ" firstAttribute="top" secondItem="ZJU-Uo-5TM" secondAttribute="bottom" constant="8" id="4uH-Hy-3Ai"/>
<constraint firstItem="RIl-8E-GcR" firstAttribute="centerX" secondItem="Yiv-h8-4V1" secondAttribute="centerX" id="7Xu-ux-Onh"/>
<constraint firstItem="chq-bd-6sQ" firstAttribute="trailing" secondItem="ZJU-Uo-5TM" secondAttribute="trailing" id="AYA-eD-1K2"/>
<constraint firstItem="ZJU-Uo-5TM" firstAttribute="leading" secondItem="8Of-JP-gMR" secondAttribute="leading" id="B8L-kP-kUe"/>
<constraint firstItem="F5p-cf-frr" firstAttribute="top" secondItem="8Of-JP-gMR" secondAttribute="bottom" constant="8" id="Frt-kl-gMg"/>
<constraint firstItem="qzA-vE-CGR" firstAttribute="top" secondItem="Yiv-h8-4V1" secondAttribute="bottom" constant="2" id="L0e-cp-tPg"/>
<constraint firstItem="RIl-8E-GcR" firstAttribute="centerX" secondItem="F5p-cf-frr" secondAttribute="centerX" id="Moz-Pn-3O3"/>
<constraint firstItem="ZJU-Uo-5TM" firstAttribute="width" secondItem="qzA-vE-CGR" secondAttribute="width" id="Mpu-H1-Myf"/>
<constraint firstItem="Szo-8C-Zin" firstAttribute="centerY" secondItem="Y1I-OE-6t1" secondAttribute="centerY" id="O8A-1t-51Q"/>
<constraint firstItem="Y1I-OE-6t1" firstAttribute="top" secondItem="qzA-vE-CGR" secondAttribute="bottom" constant="2" id="P0X-8h-DcU"/>
@ -152,11 +156,13 @@
<constraint firstItem="chq-bd-6sQ" firstAttribute="trailing" secondItem="8Of-JP-gMR" secondAttribute="trailing" id="XtD-fx-sr4"/>
<constraint firstItem="Y1I-OE-6t1" firstAttribute="leading" secondItem="ZJU-Uo-5TM" secondAttribute="leading" id="Y9N-XV-3ir"/>
<constraint firstItem="Yiv-h8-4V1" firstAttribute="leading" secondItem="Z8i-yN-1Cd" secondAttribute="leading" constant="65" id="Yd4-bz-xUn"/>
<constraint firstItem="dnL-WV-spY" firstAttribute="top" secondItem="8Of-JP-gMR" secondAttribute="bottom" constant="76" id="Ziq-Ha-5FS"/>
<constraint firstItem="F5p-cf-frr" firstAttribute="leading" secondItem="ZJU-Uo-5TM" secondAttribute="leading" constant="15" id="ddi-4p-s0s"/>
<constraint firstItem="Szo-8C-Zin" firstAttribute="leading" secondItem="Y1I-OE-6t1" secondAttribute="trailing" constant="8" id="lp1-dg-UCs"/>
<constraint firstItem="dnL-WV-spY" firstAttribute="top" secondItem="F5p-cf-frr" secondAttribute="bottom" constant="47" id="mjV-eX-FF7"/>
<constraint firstAttribute="bottom" secondItem="dnL-WV-spY" secondAttribute="bottom" constant="86" id="ooQ-OL-P5e"/>
<constraint firstItem="Yiv-h8-4V1" firstAttribute="top" secondItem="RIl-8E-GcR" secondAttribute="bottom" constant="29" id="p63-hU-APq"/>
<constraint firstAttribute="bottom" secondItem="dnL-WV-spY" secondAttribute="bottom" constant="29" id="ooQ-OL-P5e"/>
<constraint firstItem="Yiv-h8-4V1" firstAttribute="top" secondItem="RIl-8E-GcR" secondAttribute="bottom" constant="85" id="p63-hU-APq"/>
<constraint firstAttribute="trailing" secondItem="Yiv-h8-4V1" secondAttribute="trailing" constant="65" id="phk-GT-PvS"/>
<constraint firstItem="F5p-cf-frr" firstAttribute="top" secondItem="ZJU-Uo-5TM" secondAttribute="bottom" constant="8" id="qqc-dh-O24"/>
<constraint firstItem="dnL-WV-spY" firstAttribute="centerX" secondItem="Z8i-yN-1Cd" secondAttribute="centerX" id="rMH-NL-gTu"/>
<constraint firstItem="qzA-vE-CGR" firstAttribute="width" secondItem="Yiv-h8-4V1" secondAttribute="width" id="rUt-lu-gtM"/>
<constraint firstItem="8Of-JP-gMR" firstAttribute="top" secondItem="chq-bd-6sQ" secondAttribute="bottom" constant="8" id="u7n-Dz-uJc"/>
@ -172,14 +178,14 @@
<constraint firstItem="Z8i-yN-1Cd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Gug-bY-bRv"/>
<constraint firstItem="1vd-yc-0a5" firstAttribute="bottom" secondItem="Z8i-yN-1Cd" secondAttribute="bottom" id="TXU-c3-0M6"/>
<constraint firstAttribute="trailing" secondItem="Z8i-yN-1Cd" secondAttribute="trailing" id="UyN-ah-Reu"/>
<constraint firstItem="Z8i-yN-1Cd" firstAttribute="top" secondItem="1vd-yc-0a5" secondAttribute="top" id="bbt-Lx-gQG"/>
<constraint firstItem="Z8i-yN-1Cd" firstAttribute="top" secondItem="1vd-yc-0a5" secondAttribute="top" constant="-20" id="bbt-Lx-gQG"/>
</constraints>
<viewLayoutGuide key="safeArea" id="1vd-yc-0a5"/>
<point key="canvasLocation" x="-84.5" y="-2.5"/>
<point key="canvasLocation" x="-85.599999999999994" y="-3.1484257871064472"/>
</view>
</objects>
<resources>
<image name="btn_tab_desplay" width="45" height="20"/>
<image name="btn_meaasag" width="76" height="22"/>
<image name="btn_wechat" width="126" height="25"/>
<image name="img_circle_avatar" width="114" height="114"/>
</resources>

View File

@ -64,7 +64,9 @@
[self.view makeToast:@"链接为空" duration:1 position:CSToastPositionCenter];
return;
}
NSURLRequest *req = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:self.url]];
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:self.url]];
[req setValue:@"ios" forHTTPHeaderField:@"device"];
[_webview loadRequest:req];
}
break;

View File

@ -79,17 +79,13 @@
GIGA_ShowToast(@"请输入正确手机号");
return;
}
btn.userInteractionEnabled = NO;
[self startTimer:btn];
[self requstCode:btn];
}
//
-(void)startTimer:(UIButton *)btn{
btn.userInteractionEnabled = NO;
if (_time>0) {
_timer = [NSTimer scheduledTimerWithTimeInterval:1 count:60 callback:^{
NSString *timeStr=[NSString stringWithFormat:@"%lds",(long)self->_time];
@ -123,10 +119,12 @@
NSDictionary *params = @{@"mobile":self.phoneNumberTextField.text};
GiGaBaseAPiRequest *requst = [GiGaBaseAPiRequest initWithRequestPath:@"msg/sms/v1/retrievesendcode" method:RequestPostMethod parms:params];
[requst requstDataWithResult:^(GiGaAPIResult *result) {
btn.userInteractionEnabled = YES;
[self.view hideToastActivity];
GIGA_ShowToast(result.message);
if (result.success) {
//
[self startTimer:btn];
}
}];
}

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14283.14"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@ -65,7 +65,7 @@
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="w3j-WU-gmW">
<rect key="frame" x="87" y="252.5" width="200" height="41"/>
<rect key="frame" x="87" y="252.5" width="201" height="41"/>
<color key="backgroundColor" red="0.70980392156862748" green="0.054901960784313725" blue="0.054901960784313725" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="41" id="q8T-c9-PAl"/>
@ -124,7 +124,7 @@
<constraint firstItem="MHD-nb-UXj" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="wco-Sk-bTY"/>
</constraints>
<viewLayoutGuide key="safeArea" id="g7Z-wI-UmZ"/>
<point key="canvasLocation" x="33.5" y="53.5"/>
<point key="canvasLocation" x="-161" y="36"/>
</view>
</objects>
<resources>

View File

@ -17,8 +17,14 @@
#import "GiGaBaseAPiRequest.h"
#import "GiGaShareModel.h"
#import "UIImageView+WebCache.h"
#import "UIButton+WebCache.h"
#import "GiGaUserInfoVC.h"
#import "GIGaSharePageViewController.h"
@interface GIGaMaskShareViewController ()<UIImagePickerControllerDelegate,UINavigationControllerDelegate>
@property(nonatomic,strong) GiGaShareModel *model;
@property(nonatomic,strong)NSMutableArray *viewControllers;
@end
@implementation GIGaMaskShareViewController
@ -35,10 +41,47 @@
self.tableView.estimatedSectionFooterHeight= 0;
self.tableView.estimatedSectionHeaderHeight = 0;
//self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,self.view.frame.size.width, 30)];
self.tableView.frame = CGRectMake(0,0,KMainW, self.view.frame.size.height);
self.tableView.frame = CGRectMake(0,0,KMainW, self.view.frame.size.height-SAFE_NAV_HEIGHT);
[self requestshareInfo];
[self initUserAvator];
}
-(void)initUserAvator{
//rightItem
UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeCustom];
rightBtn.frame = CGRectMake(0, 0, 40, 40);
rightBtn.layer.masksToBounds = YES;
rightBtn.layer.cornerRadius = 20;
[rightBtn setImage:[UIImage imageNamed:@"nav_circle_avatar"] forState:UIControlStateNormal];
[rightBtn addTarget:self action:@selector(goUserInfoView) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBtn];
if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 11.0) {
[rightBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(40, 40));
}];
}
BOOL isUserLogin = [GiGaUserDefault isUserLogin];
if (isUserLogin) {
GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser];
if (user) {
if (user.headImgUrl && ![user.headImgUrl isKindOfClass:[NSNull class]]) {
NSURL *url = [NSURL URLWithString:user.headImgUrl];
[rightBtn sd_setImageWithURL:url forState:UIControlStateNormal];
}
}
}
}
-(void)goUserInfoView{
GiGaUserInfoVC *userVC= [[GiGaUserInfoVC alloc] init];
[self.navigationController pushViewController:userVC animated:YES];
}
- (void)didReceiveMemoryWarning {
@ -64,7 +107,13 @@
if (self.model) {
cell.minuteLab.text = [NSString stringWithFormat:@"%@min",self.model.minute];
cell.timeLable.text = [NSString stringWithFormat:@"这是您敷面膜的第:%@张",self.model.monthMaskNum];
if (self.model.productImgUrl && ![self.model.productImgUrl isKindOfClass:[NSNull class]]) {
//[cell.holdImagView sd_setImageWithURL:[NSURL URLWithString:self.model.productImgUrl]];
[cell.holdImagView sd_setImageWithURL:[NSURL URLWithString:self.model.productImgUrl] placeholderImage:[UIImage imageNamed:@"img_product"]];
}
}
return cell;
}else if (indexPath.section == 1){
@ -133,9 +182,9 @@
case 1:
{
//
[GIGaUserFileHelper delectShareImage:kUSERSHAREA_IMAGENAME];
ShareViewController *share = [[ShareViewController alloc] init];
share.model = self.model;
//[GIGaUserFileHelper delectShareImage:kUSERSHAREA_IMAGENAME];
GIGaSharePageViewController *share = [[GIGaSharePageViewController alloc] initWithControllers:self.viewControllers];
//share.model = self.model;
[self presentViewController:share animated:NO completion:nil];
}
@ -154,12 +203,43 @@
}
- (NSMutableArray *)viewControllers {
if (!_viewControllers) {
_viewControllers = [NSMutableArray array];
NSArray *descArr = @[@"生活不易,必须美丽",@"长夜漫漫,不如面膜时间",@"敷片面膜,人间值得",@"打开面膜时间,撰写你与美丽的故事",@"人越美丽,责任越大",@"吃得苦中苦,方为人上人",@"该放弃的决不挽留,该留住的决不放手"];
NSArray *images = @[@"sharebg_1",@"sharebg_2",@"sharebg_3",@"sharebg_4",@"sharebg_5",@"sharebg_6",@"sharebg_7"];
NSArray *shareimages = @[@"share_oneblack",@"share_one",@"share_one",@"share_one",@"share_one",@"share_one",@"share_one"];
NSArray *desColor = @[@1,@1,@2,@1,@1,@1,@2];
NSArray*doingcolorS = @[@2,@3,@2,@2,@2,@2,@2];
for (int i = 0; i <descArr.count; i++) {
ShareViewController *vc = [[ShareViewController alloc] init];
GiGaLoaclImageModel *model = [[GiGaLoaclImageModel alloc] init];
model.desc = descArr[i];
model.localImageName = images[i];
model.shareLabeimageName = shareimages[i];
model.doingColorflag = [doingcolorS[i] integerValue];
model.descColorflag = [desColor[i] integerValue];
vc.localModel = model;
vc.model = self.model;
[_viewControllers addObject:vc];
}
}
return _viewControllers;
}
#pragma mark share
-(void)shareBtnAction{
ShareViewController *share = [[ShareViewController alloc] init];
share.model = self.model;
[self presentViewController:share animated:YES completion:nil];
GIGaSharePageViewController *share = [[GIGaSharePageViewController alloc] initWithControllers:self.viewControllers];
//share.model = self.model;
[self presentViewController:share animated:NO completion:nil];
// ShareViewController *share = [[ShareViewController alloc] init];
// share.model = self.model;
// [self presentViewController:share animated:YES completion:nil];
//
}
@ -176,19 +256,13 @@
}else{
NSString *errorStr = @"应用相册限受限,请在设置中启用";
NSString *errorStr = @"应用相限受限,请在设置中启用";
[self jxt_showAlertWithTitle:@"" message:errorStr appearanceProcess:^(JXTAlertController * _Nonnull alertMaker) {
alertMaker.addActionCancelTitle(@"取消");
alertMaker.addActionDefaultTitle(@"去开启");
alertMaker.addActionCancelTitle(@"知道了");
//alertMaker.addActionDefaultTitle(@"去开启");
} actionsBlock:^(NSInteger buttonIndex, UIAlertAction * _Nonnull action, JXTAlertController * _Nonnull alertSelf) {
if (buttonIndex == 1) {
NSURL *url = [NSURL URLWithString:@"prefs:root=Photos"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
}
}
}];
}
@ -205,21 +279,12 @@
if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied){
NSString *errorStr = @"应用相机权限受限,请在设置中启用";
[self jxt_showAlertWithTitle:@"" message:errorStr appearanceProcess:^(JXTAlertController * _Nonnull alertMaker) {
alertMaker.addActionCancelTitle(@"取消");
alertMaker.addActionDefaultTitle(@"去开启");
alertMaker.addActionCancelTitle(@"知道了");
//alertMaker.addActionDefaultTitle(@"去开启");
} actionsBlock:^(NSInteger buttonIndex, UIAlertAction * _Nonnull action, JXTAlertController * _Nonnull alertSelf) {
if (buttonIndex == 1) {
NSString *urlStr = @"App-Prefs:root=Photos";
if (@available(iOS 10.0, *)) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr] options:@{} completionHandler:nil];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
// Fallback on earlier versions
}
}
}];
return;
}
@ -252,7 +317,6 @@
-(void)requestshareInfo{
if (self.maskTimeId == nil) {
return;
}

View File

@ -0,0 +1,18 @@
//
// GIGaSharePageViewController.h
// GIGA
//
// Created by lianxiang on 2018/10/12.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
//#import "GiGaShareModel.h"
@interface GIGaSharePageViewController : UIViewController
//@property(nonatomic,strong) GiGaShareModel *model;
- (instancetype)initWithControllers:(NSArray *)viewControllers;
@end

Some files were not shown because too many files have changed in this diff Show More