add
This commit is contained in:
parent
69522b22fc
commit
d0230f55ed
|
|
@ -224,6 +224,13 @@
|
||||||
83BFAE77213CDE91004EF801 /* GiGaSettingsViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 83BFAE75213CDE91004EF801 /* GiGaSettingsViewCell.m */; };
|
83BFAE77213CDE91004EF801 /* GiGaSettingsViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 83BFAE75213CDE91004EF801 /* GiGaSettingsViewCell.m */; };
|
||||||
83BFAE78213CDE91004EF801 /* GiGaSettingsViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83BFAE76213CDE91004EF801 /* GiGaSettingsViewCell.xib */; };
|
83BFAE78213CDE91004EF801 /* GiGaSettingsViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83BFAE76213CDE91004EF801 /* GiGaSettingsViewCell.xib */; };
|
||||||
83BFAE7B213D3F3A004EF801 /* MaskTimeCircularProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 83BFAE7A213D3F3A004EF801 /* MaskTimeCircularProgressView.m */; };
|
83BFAE7B213D3F3A004EF801 /* MaskTimeCircularProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 83BFAE7A213D3F3A004EF801 /* MaskTimeCircularProgressView.m */; };
|
||||||
|
83C78A0F215872F80083DDD9 /* MasHistoryFirstViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C78A0D215872F80083DDD9 /* MasHistoryFirstViewCell.m */; };
|
||||||
|
83C78A10215872F80083DDD9 /* MasHistoryFirstViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83C78A0E215872F80083DDD9 /* MasHistoryFirstViewCell.xib */; };
|
||||||
|
83C78A14215873170083DDD9 /* MaskHistoryListViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C78A12215873170083DDD9 /* MaskHistoryListViewCell.m */; };
|
||||||
|
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 */; };
|
||||||
|
83D3832D215A2CF5009E8669 /* MaskHistryRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 83D3832C215A2CF5009E8669 /* MaskHistryRecord.m */; };
|
||||||
83E40B2B21218B6F008149C4 /* GiGaExercisesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83E40B2A21218B6F008149C4 /* GiGaExercisesViewController.m */; };
|
83E40B2B21218B6F008149C4 /* GiGaExercisesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83E40B2A21218B6F008149C4 /* GiGaExercisesViewController.m */; };
|
||||||
83E40B2F21218BA0008149C4 /* GiGaUserViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83E40B2E21218BA0008149C4 /* GiGaUserViewController.m */; };
|
83E40B2F21218BA0008149C4 /* GiGaUserViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83E40B2E21218BA0008149C4 /* GiGaUserViewController.m */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
@ -632,6 +639,18 @@
|
||||||
83BFAE76213CDE91004EF801 /* GiGaSettingsViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GiGaSettingsViewCell.xib; sourceTree = "<group>"; };
|
83BFAE76213CDE91004EF801 /* GiGaSettingsViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GiGaSettingsViewCell.xib; sourceTree = "<group>"; };
|
||||||
83BFAE79213D3F3A004EF801 /* MaskTimeCircularProgressView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MaskTimeCircularProgressView.h; sourceTree = "<group>"; };
|
83BFAE79213D3F3A004EF801 /* MaskTimeCircularProgressView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MaskTimeCircularProgressView.h; sourceTree = "<group>"; };
|
||||||
83BFAE7A213D3F3A004EF801 /* MaskTimeCircularProgressView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MaskTimeCircularProgressView.m; sourceTree = "<group>"; };
|
83BFAE7A213D3F3A004EF801 /* MaskTimeCircularProgressView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MaskTimeCircularProgressView.m; sourceTree = "<group>"; };
|
||||||
|
83C78A0C215872F80083DDD9 /* MasHistoryFirstViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MasHistoryFirstViewCell.h; sourceTree = "<group>"; };
|
||||||
|
83C78A0D215872F80083DDD9 /* MasHistoryFirstViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MasHistoryFirstViewCell.m; sourceTree = "<group>"; };
|
||||||
|
83C78A0E215872F80083DDD9 /* MasHistoryFirstViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MasHistoryFirstViewCell.xib; sourceTree = "<group>"; };
|
||||||
|
83C78A11215873170083DDD9 /* MaskHistoryListViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MaskHistoryListViewCell.h; sourceTree = "<group>"; };
|
||||||
|
83C78A12215873170083DDD9 /* MaskHistoryListViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MaskHistoryListViewCell.m; sourceTree = "<group>"; };
|
||||||
|
83C78A13215873170083DDD9 /* MaskHistoryListViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MaskHistoryListViewCell.xib; sourceTree = "<group>"; };
|
||||||
|
83C78A172159D74D0083DDD9 /* UIImage+LogoQrCode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIImage+LogoQrCode.h"; sourceTree = "<group>"; };
|
||||||
|
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>"; };
|
||||||
|
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>"; };
|
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>"; };
|
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>"; };
|
83E40B2D21218BA0008149C4 /* GiGaUserViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaUserViewController.h; sourceTree = "<group>"; };
|
||||||
|
|
@ -997,6 +1016,10 @@
|
||||||
8345C13521414D3B00051717 /* NSString+Unicode.m */,
|
8345C13521414D3B00051717 /* NSString+Unicode.m */,
|
||||||
83773FC021479FED0014EE4C /* UIColor+HexColor.h */,
|
83773FC021479FED0014EE4C /* UIColor+HexColor.h */,
|
||||||
83773FC121479FED0014EE4C /* UIColor+HexColor.m */,
|
83773FC121479FED0014EE4C /* UIColor+HexColor.m */,
|
||||||
|
83C78A172159D74D0083DDD9 /* UIImage+LogoQrCode.h */,
|
||||||
|
83C78A182159D74D0083DDD9 /* UIImage+LogoQrCode.m */,
|
||||||
|
83C78A1A2159DD920083DDD9 /* UIImage+ShotImage.h */,
|
||||||
|
83C78A1B2159DD920083DDD9 /* UIImage+ShotImage.m */,
|
||||||
);
|
);
|
||||||
path = Category;
|
path = Category;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
|
@ -1075,6 +1098,8 @@
|
||||||
8342FD852150FD5200D141F4 /* VersionModel.m */,
|
8342FD852150FD5200D141F4 /* VersionModel.m */,
|
||||||
83A1DDB021574807006DE881 /* GIGaFeedKind.h */,
|
83A1DDB021574807006DE881 /* GIGaFeedKind.h */,
|
||||||
83A1DDB121574807006DE881 /* GIGaFeedKind.m */,
|
83A1DDB121574807006DE881 /* GIGaFeedKind.m */,
|
||||||
|
83D3832B215A2CF5009E8669 /* MaskHistryRecord.h */,
|
||||||
|
83D3832C215A2CF5009E8669 /* MaskHistryRecord.m */,
|
||||||
);
|
);
|
||||||
path = Model;
|
path = Model;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
|
@ -1082,6 +1107,7 @@
|
||||||
8361B42A212180A100238FEB /* View */ = {
|
8361B42A212180A100238FEB /* View */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
83C78A0B215872740083DDD9 /* HistoryView */,
|
||||||
8382DFA3215622C600BBA5A5 /* FeedViews */,
|
8382DFA3215622C600BBA5A5 /* FeedViews */,
|
||||||
8342FD7E2150F94F00D141F4 /* AppVerionDescCells */,
|
8342FD7E2150F94F00D141F4 /* AppVerionDescCells */,
|
||||||
838762CF214B9CAA0039D241 /* userInfoView */,
|
838762CF214B9CAA0039D241 /* userInfoView */,
|
||||||
|
|
@ -1600,6 +1626,19 @@
|
||||||
path = NYSliderPopover;
|
path = NYSliderPopover;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
83C78A0B215872740083DDD9 /* HistoryView */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
83C78A0C215872F80083DDD9 /* MasHistoryFirstViewCell.h */,
|
||||||
|
83C78A0D215872F80083DDD9 /* MasHistoryFirstViewCell.m */,
|
||||||
|
83C78A0E215872F80083DDD9 /* MasHistoryFirstViewCell.xib */,
|
||||||
|
83C78A11215873170083DDD9 /* MaskHistoryListViewCell.h */,
|
||||||
|
83C78A12215873170083DDD9 /* MaskHistoryListViewCell.m */,
|
||||||
|
83C78A13215873170083DDD9 /* MaskHistoryListViewCell.xib */,
|
||||||
|
);
|
||||||
|
path = HistoryView;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
83E40B2C21218B7E008149C4 /* LogIn */ = {
|
83E40B2C21218B7E008149C4 /* LogIn */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
|
@ -1764,6 +1803,7 @@
|
||||||
83BFAE6D213CD0E3004EF801 /* GiGaMineInfoViewCell.xib in Resources */,
|
83BFAE6D213CD0E3004EF801 /* GiGaMineInfoViewCell.xib in Resources */,
|
||||||
8382DFA82156247F00BBA5A5 /* GiGaFeedLeiIingViewCell.xib in Resources */,
|
8382DFA82156247F00BBA5A5 /* GiGaFeedLeiIingViewCell.xib in Resources */,
|
||||||
8376B82E2154A35100AB79F8 /* MaskTimeTimeViewCell.xib in Resources */,
|
8376B82E2154A35100AB79F8 /* MaskTimeTimeViewCell.xib in Resources */,
|
||||||
|
83C78A10215872F80083DDD9 /* MasHistoryFirstViewCell.xib in Resources */,
|
||||||
8361B3D6212155C300238FEB /* LaunchScreen.storyboard in Resources */,
|
8361B3D6212155C300238FEB /* LaunchScreen.storyboard in Resources */,
|
||||||
838762E3214B9F580039D241 /* GiGaUserSexViewCell.xib in Resources */,
|
838762E3214B9F580039D241 /* GiGaUserSexViewCell.xib in Resources */,
|
||||||
838388DA2130046D00D14C53 /* emojizone.mp4 in Resources */,
|
838388DA2130046D00D14C53 /* emojizone.mp4 in Resources */,
|
||||||
|
|
@ -1803,6 +1843,7 @@
|
||||||
8382DFB221562B0A00BBA5A5 /* GIGaFeedQQViewCell.xib in Resources */,
|
8382DFB221562B0A00BBA5A5 /* GIGaFeedQQViewCell.xib in Resources */,
|
||||||
8338F6B12142182200B4780B /* MaskTime.png in Resources */,
|
8338F6B12142182200B4780B /* MaskTime.png in Resources */,
|
||||||
83346ACF212BD7830054D597 /* GiGaWebViewController.xib in Resources */,
|
83346ACF212BD7830054D597 /* GiGaWebViewController.xib in Resources */,
|
||||||
|
83C78A15215873170083DDD9 /* MaskHistoryListViewCell.xib in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|
@ -1961,6 +2002,7 @@
|
||||||
83835BA0212E43BD001480F2 /* GiGaMasssagesVC.m in Sources */,
|
83835BA0212E43BD001480F2 /* GiGaMasssagesVC.m in Sources */,
|
||||||
8357ADCD2123C091000816F2 /* GiGaNetManager.m in Sources */,
|
8357ADCD2123C091000816F2 /* GiGaNetManager.m in Sources */,
|
||||||
838388D4212FB7D700D14C53 /* JXTAlertView.m in Sources */,
|
838388D4212FB7D700D14C53 /* JXTAlertView.m in Sources */,
|
||||||
|
83D3832D215A2CF5009E8669 /* MaskHistryRecord.m in Sources */,
|
||||||
83901178214E20B2004CA790 /* LYSDatePickerItem.m in Sources */,
|
83901178214E20B2004CA790 /* LYSDatePickerItem.m in Sources */,
|
||||||
8342FD8A2151095100D141F4 /* AppVersionLogoCell.m in Sources */,
|
8342FD8A2151095100D141F4 /* AppVersionLogoCell.m in Sources */,
|
||||||
8384F0EB21533542002C19F0 /* MaskResultMinViewCell.m in Sources */,
|
8384F0EB21533542002C19F0 /* MaskResultMinViewCell.m in Sources */,
|
||||||
|
|
@ -1969,6 +2011,7 @@
|
||||||
8382DFEE21564A1F00BBA5A5 /* SJPhotoPickerManager.m in Sources */,
|
8382DFEE21564A1F00BBA5A5 /* SJPhotoPickerManager.m in Sources */,
|
||||||
83A1DDB221574807006DE881 /* GIGaFeedKind.m in Sources */,
|
83A1DDB221574807006DE881 /* GIGaFeedKind.m in Sources */,
|
||||||
83901172214E20B2004CA790 /* LYSDatePickerTypeDayAndTimeDelegate.m in Sources */,
|
83901172214E20B2004CA790 /* LYSDatePickerTypeDayAndTimeDelegate.m in Sources */,
|
||||||
|
83C78A1C2159DD920083DDD9 /* UIImage+ShotImage.m in Sources */,
|
||||||
835060A9212D38EE007E6220 /* GiGaStartAdView.m in Sources */,
|
835060A9212D38EE007E6220 /* GiGaStartAdView.m in Sources */,
|
||||||
83928FFA2134D8F60077D2E8 /* GiGaFlyingCommitInputView.m in Sources */,
|
83928FFA2134D8F60077D2E8 /* GiGaFlyingCommitInputView.m in Sources */,
|
||||||
8390116D214E20B2004CA790 /* LYSDateBaseViewController.m in Sources */,
|
8390116D214E20B2004CA790 /* LYSDateBaseViewController.m in Sources */,
|
||||||
|
|
@ -1986,6 +2029,7 @@
|
||||||
83773FBF214791E10014EE4C /* GIGaQuestionSlider.m in Sources */,
|
83773FBF214791E10014EE4C /* GIGaQuestionSlider.m in Sources */,
|
||||||
83901179214E20B2004CA790 /* LYSDatePickerTypeBase.m in Sources */,
|
83901179214E20B2004CA790 /* LYSDatePickerTypeBase.m in Sources */,
|
||||||
835060A2212D1225007E6220 /* GiGaMeViewController.m in Sources */,
|
835060A2212D1225007E6220 /* GiGaMeViewController.m in Sources */,
|
||||||
|
83C78A192159D74D0083DDD9 /* UIImage+LogoQrCode.m in Sources */,
|
||||||
8361B3CB212155C200238FEB /* AppDelegate.m in Sources */,
|
8361B3CB212155C200238FEB /* AppDelegate.m in Sources */,
|
||||||
8382DFB92156389200BBA5A5 /* GIGaFeedImagsCollectionCell.m in Sources */,
|
8382DFB92156389200BBA5A5 /* GIGaFeedImagsCollectionCell.m in Sources */,
|
||||||
8351474621521CC500B25A88 /* GiGaChangePhoneNumberVC.m in Sources */,
|
8351474621521CC500B25A88 /* GiGaChangePhoneNumberVC.m in Sources */,
|
||||||
|
|
@ -2021,6 +2065,7 @@
|
||||||
833DE8E52150169F009D4329 /* JYAddressPicker.m in Sources */,
|
833DE8E52150169F009D4329 /* JYAddressPicker.m in Sources */,
|
||||||
834127212152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.m in Sources */,
|
834127212152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.m in Sources */,
|
||||||
83901171214E20B2004CA790 /* LYSDatePickerLabel.m in Sources */,
|
83901171214E20B2004CA790 /* LYSDatePickerLabel.m in Sources */,
|
||||||
|
83C78A14215873170083DDD9 /* MaskHistoryListViewCell.m in Sources */,
|
||||||
838762E2214B9F580039D241 /* GiGaUserSexViewCell.m in Sources */,
|
838762E2214B9F580039D241 /* GiGaUserSexViewCell.m in Sources */,
|
||||||
8382DFAC215626CE00BBA5A5 /* GiGaFeedContentViewCell.m in Sources */,
|
8382DFAC215626CE00BBA5A5 /* GiGaFeedContentViewCell.m in Sources */,
|
||||||
839290052134F4240077D2E8 /* LXDanMuTrackView.m in Sources */,
|
839290052134F4240077D2E8 /* LXDanMuTrackView.m in Sources */,
|
||||||
|
|
@ -2049,6 +2094,7 @@
|
||||||
83BFAE70213CDB29004EF801 /* GiMaskTimeHistoryVC.m in Sources */,
|
83BFAE70213CDB29004EF801 /* GiMaskTimeHistoryVC.m in Sources */,
|
||||||
8382DFEA21564A1F00BBA5A5 /* SJPhotoAlbumsController.m in Sources */,
|
8382DFEA21564A1F00BBA5A5 /* SJPhotoAlbumsController.m in Sources */,
|
||||||
83A22718212ABDFF00B3E75C /* GiGaBlockButton.m in Sources */,
|
83A22718212ABDFF00B3E75C /* GiGaBlockButton.m in Sources */,
|
||||||
|
83C78A0F215872F80083DDD9 /* MasHistoryFirstViewCell.m in Sources */,
|
||||||
8382DFED21564A1F00BBA5A5 /* SJPhotoPickerNavController.m in Sources */,
|
8382DFED21564A1F00BBA5A5 /* SJPhotoPickerNavController.m in Sources */,
|
||||||
83928FFE2134F37D0077D2E8 /* GiGaSocketRocketUtility.m in Sources */,
|
83928FFE2134F37D0077D2E8 /* GiGaSocketRocketUtility.m in Sources */,
|
||||||
83A2270C212A97ED00B3E75C /* MaskViewBootomWaringView.m in Sources */,
|
83A2270C212A97ED00B3E75C /* MaskViewBootomWaringView.m in Sources */,
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,11 @@
|
||||||
|
|
||||||
//微信
|
//微信
|
||||||
[WXApi registerApp:WXin_APPID];
|
[WXApi registerApp:WXin_APPID];
|
||||||
|
|
||||||
|
[WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) {
|
||||||
|
NSLog(@"%@",log);
|
||||||
|
|
||||||
|
}];
|
||||||
//bugly
|
//bugly
|
||||||
[Bugly startWithAppId:nil];
|
[Bugly startWithAppId:nil];
|
||||||
//友盟统计
|
//友盟统计
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,9 @@
|
||||||
|
|
||||||
[[GiGaUserManager shareUser] synsisUserInfo:nil userErrorMsgBlock:^(NSDictionary *errorCodemsg) {
|
[[GiGaUserManager shareUser] synsisUserInfo:nil userErrorMsgBlock:^(NSDictionary *errorCodemsg) {
|
||||||
if ([errorCodemsg[@"code"] integerValue] == 401) {
|
if ([errorCodemsg[@"code"] integerValue] == 401) {
|
||||||
|
|
||||||
|
[[GiGaUserManager shareUser] loginOut];
|
||||||
|
NC_POST_NAME_OBJECT(kUserLogOutNotify, nil);
|
||||||
//token失效
|
//token失效
|
||||||
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self.window.rootViewController];
|
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self.window.rootViewController];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"filename" : "btn_talk@2x.png",
|
||||||
|
"scale" : "2x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"version" : 1,
|
||||||
|
"author" : "xcode"
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 739 B |
|
|
@ -1,9 +1,17 @@
|
||||||
{
|
{
|
||||||
"images" : [
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"filename" : "bg_moreandmore_red@2x.png",
|
"filename" : "bg_moreandmore_red@2x.png",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info" : {
|
"info" : {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"filename" : "history_heart@2x.png",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"version" : 1,
|
||||||
|
"author" : "xcode"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
GIGA/Assets.xcassets/userCenter/history_heart.imageset/history_heart@2x.png
vendored
Normal file
BIN
GIGA/Assets.xcassets/userCenter/history_heart.imageset/history_heart@2x.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 680 B |
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"filename" : "history_rule@2x.png",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"version" : 1,
|
||||||
|
"author" : "xcode"
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -1,9 +1,17 @@
|
||||||
{
|
{
|
||||||
"images" : [
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"filename" : "img_camera@2x.png",
|
"filename" : "img_camera@2x.png",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info" : {
|
"info" : {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,17 @@
|
||||||
{
|
{
|
||||||
"images" : [
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"filename" : "img_holder@2x.png",
|
"filename" : "img_holder@2x.png",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info" : {
|
"info" : {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"filename" : "tab_indicator@2x.png",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"version" : 1,
|
||||||
|
"author" : "xcode"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
GIGA/Assets.xcassets/userCenter/tab_indicator.imageset/tab_indicator@2x.png
vendored
Normal file
BIN
GIGA/Assets.xcassets/userCenter/tab_indicator.imageset/tab_indicator@2x.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 498 B |
|
|
@ -0,0 +1,16 @@
|
||||||
|
//
|
||||||
|
// UIImage+LogoQrCode.h
|
||||||
|
// GIGA
|
||||||
|
//
|
||||||
|
// Created by lianxiang on 2018/9/25.
|
||||||
|
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
@interface UIImage (LogoQrCode)
|
||||||
|
|
||||||
|
+(UIImage *)createQrImageWith:(UIImage *)logo logoSize:(CGSize )size qrText:(NSString *)text;
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
//
|
||||||
|
// UIImage+LogoQrCode.m
|
||||||
|
// GIGA
|
||||||
|
//
|
||||||
|
// Created by lianxiang on 2018/9/25.
|
||||||
|
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "UIImage+LogoQrCode.h"
|
||||||
|
|
||||||
|
@implementation UIImage (LogoQrCode)
|
||||||
|
|
||||||
|
+(UIImage *)createQrImageWith:(UIImage *)logo logoSize:(CGSize )size qrText:(NSString *)text
|
||||||
|
{
|
||||||
|
|
||||||
|
//NSArray *filter = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
|
||||||
|
|
||||||
|
// 二维码过滤器
|
||||||
|
CIFilter *filterImage = [CIFilter filterWithName:@"CIQRCodeGenerator"];
|
||||||
|
// 将二位码过滤器设置为默认属性
|
||||||
|
[filterImage setDefaults];
|
||||||
|
// 将文字转化为二进制
|
||||||
|
NSData *dataImage = [text dataUsingEncoding:NSUTF8StringEncoding];
|
||||||
|
// 打印输入的属性
|
||||||
|
NSLog(@"%@", filterImage.inputKeys);
|
||||||
|
// KVC 赋值
|
||||||
|
[filterImage setValue:dataImage forKey:@"inputMessage"];
|
||||||
|
// 取出输出图片
|
||||||
|
CIImage *outputImage = [filterImage outputImage];
|
||||||
|
outputImage = [outputImage imageByApplyingTransform:CGAffineTransformMakeScale(20, 20)];
|
||||||
|
// 转化图片
|
||||||
|
UIImage *image = [UIImage imageWithCIImage:outputImage];
|
||||||
|
|
||||||
|
// 为二维码加自定义图片
|
||||||
|
|
||||||
|
// 开启绘图, 获取图片 上下文<图片大小>
|
||||||
|
UIGraphicsBeginImageContext(image.size);
|
||||||
|
// 将二维码图片画上去
|
||||||
|
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
|
||||||
|
// 将小图片画上去
|
||||||
|
UIImage *smallImage = logo;
|
||||||
|
[smallImage drawInRect:CGRectMake((image.size.width - 100) / 2, (image.size.width - 100) / 2, 100, 100)];
|
||||||
|
// 获取最终的图片
|
||||||
|
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
|
||||||
|
// 关闭上下文
|
||||||
|
UIGraphicsEndImageContext();
|
||||||
|
return finalImage;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
//
|
||||||
|
// UIImage+ShotImage.h
|
||||||
|
// GIGA
|
||||||
|
//
|
||||||
|
// Created by lianxiang on 2018/9/25.
|
||||||
|
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
@interface UIImage (ShotImage)
|
||||||
|
//截图tableviewi
|
||||||
|
+(UIImage *)saveLongImage:(UITableView *)table;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
//
|
||||||
|
// UIImage+ShotImage.m
|
||||||
|
// GIGA
|
||||||
|
//
|
||||||
|
// Created by lianxiang on 2018/9/25.
|
||||||
|
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "UIImage+ShotImage.h"
|
||||||
|
|
||||||
|
@implementation UIImage (ShotImage)
|
||||||
|
|
||||||
|
+(UIImage *)saveLongImage:(UITableView *)table {
|
||||||
|
|
||||||
|
UIImage* image = nil;
|
||||||
|
// 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,调整清晰度。
|
||||||
|
|
||||||
|
UIGraphicsBeginImageContextWithOptions(table.contentSize, 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.layer renderInContext: UIGraphicsGetCurrentContext()];
|
||||||
|
|
||||||
|
image = UIGraphicsGetImageFromCurrentImageContext();
|
||||||
|
|
||||||
|
table.contentOffset = savedContentOffset;
|
||||||
|
|
||||||
|
table.frame = savedFrame;
|
||||||
|
|
||||||
|
UIGraphicsEndImageContext();
|
||||||
|
|
||||||
|
return image;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -68,4 +68,6 @@
|
||||||
//
|
//
|
||||||
+(int)convertToInt:(NSString*)strtemp;
|
+(int)convertToInt:(NSString*)strtemp;
|
||||||
|
|
||||||
|
+(NSString*)dictionaryToJson:(NSDictionary *)dic;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -281,4 +281,17 @@
|
||||||
}
|
}
|
||||||
return strlength;
|
return strlength;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+(NSString*)dictionaryToJson:(NSDictionary *)dic
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
NSError *parseError =nil;
|
||||||
|
|
||||||
|
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
|
||||||
|
|
||||||
|
return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ typedef void (^responseBlock)(NSDictionary *responseDict, NSDictionary *response
|
||||||
success:(void (^)(id response))success
|
success:(void (^)(id response))success
|
||||||
failure:(void (^)(NSError *err))failure;
|
failure:(void (^)(NSError *err))failure;
|
||||||
|
|
||||||
// 测试题 , 登录 body 传参
|
// 测试题 ,登录 .. body 传参
|
||||||
+(void)userbodyRequest:(NSString *)url params:(NSDictionary *)param completionHandler:(nullable void (^)(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error))completionHandler;
|
+(void)userbodyRequest:(NSString *)url params:(NSDictionary *)param completionHandler:(nullable void (^)(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error))completionHandler;
|
||||||
|
|
||||||
//上传图片 1张
|
//上传图片 1张
|
||||||
|
|
|
||||||
|
|
@ -102,34 +102,61 @@
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
//登录body传参数
|
//body传参数
|
||||||
+(void)userbodyRequest:(NSString *)url params:(NSDictionary *)param completionHandler:(nullable void (^)(NSURLResponse *response,NSDictionary *resDic, NSError * _Nullable error))completionHandler
|
+(void)userbodyRequest:(NSString *)url params:(NSDictionary *)param completionHandler:(nullable void (^)(NSURLResponse *response,NSDictionary *resDic, NSError * _Nullable error))completionHandler
|
||||||
{
|
{
|
||||||
|
//NSString *jsonStr = [GiGaHelper dictionaryToJson:param];
|
||||||
|
|
||||||
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
|
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
|
||||||
NSURL *baseUrl = [NSURL URLWithString:[GiGaServerConfig getMainUrl]];
|
NSURL *baseUrl = [NSURL URLWithString:[GiGaServerConfig getMainUrl]];
|
||||||
AFHTTPSessionManager*manager=[[AFHTTPSessionManager alloc] initWithBaseURL:baseUrl sessionConfiguration:configuration];
|
AFHTTPSessionManager*manager=[[AFHTTPSessionManager alloc] initWithBaseURL:baseUrl sessionConfiguration:configuration];
|
||||||
|
manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
|
||||||
|
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
|
||||||
|
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
|
||||||
|
|
||||||
|
[manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
|
||||||
|
|
||||||
|
NSString *token = [GiGaUserDefault getCurentToken];
|
||||||
|
|
||||||
|
NSMutableURLRequest *requst = [[AFJSONRequestSerializer serializer]
|
||||||
|
requestWithMethod:@"POST" URLString:url parameters:nil error:nil];
|
||||||
|
|
||||||
|
requst.timeoutInterval = 20.f;
|
||||||
|
|
||||||
|
if (token) {
|
||||||
|
[manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
|
||||||
|
[requst setValue:token forHTTPHeaderField:@"token"];
|
||||||
|
}
|
||||||
|
|
||||||
NSMutableURLRequest *requst = [[AFJSONRequestSerializer serializer]
|
|
||||||
requestWithMethod:@"POST" URLString:url parameters:param error:nil];
|
|
||||||
requst.timeoutInterval = 10.f;
|
|
||||||
[requst setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
|
[requst setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
|
||||||
[requst setValue:@"application/json" forHTTPHeaderField:@"Accept"];
|
[requst setValue:@"application/json" forHTTPHeaderField:@"Accept"];
|
||||||
|
|
||||||
|
|
||||||
|
if (param && param.count > 0){
|
||||||
|
|
||||||
|
NSError *parseError =nil;
|
||||||
|
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:param options:NSJSONWritingPrettyPrinted error:&parseError];
|
||||||
|
// NSData *jsonData = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];
|
||||||
|
[requst setHTTPBody:jsonData];
|
||||||
|
}
|
||||||
|
|
||||||
NSURLSessionDataTask *task = [manager dataTaskWithRequest:requst uploadProgress:^(NSProgress * _Nonnull uploadProgress) {
|
NSURLSessionDataTask *task = [manager dataTaskWithRequest:requst uploadProgress:^(NSProgress * _Nonnull uploadProgress) {
|
||||||
|
|
||||||
} downloadProgress:^(NSProgress * _Nonnull downloadProgress) {
|
} downloadProgress:^(NSProgress * _Nonnull downloadProgress) {
|
||||||
|
|
||||||
} completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
|
} completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
|
||||||
|
|
||||||
if (completionHandler) {
|
NSDictionary *responseDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
|
||||||
completionHandler(response,responseObject,error);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (completionHandler) {
|
||||||
|
completionHandler(response,responseDic,error);
|
||||||
|
}
|
||||||
}];
|
}];
|
||||||
|
|
||||||
[task resume];
|
[task resume];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//上传1张
|
//上传1张
|
||||||
+(void)uploadImage:(NSString *)url
|
+(void)uploadImage:(NSString *)url
|
||||||
imgData:(NSData *)imgData
|
imgData:(NSData *)imgData
|
||||||
|
|
|
||||||
|
|
@ -32,4 +32,6 @@
|
||||||
success:(void (^)(id response))success
|
success:(void (^)(id response))success
|
||||||
failure:(void (^)(NSError *err))failure;
|
failure:(void (^)(NSError *err))failure;
|
||||||
|
|
||||||
|
//+(void)shareMessageToWX:()
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -24,4 +24,5 @@
|
||||||
+(UIImage *)getUserFeedbackImag:(NSString *)imageName;
|
+(UIImage *)getUserFeedbackImag:(NSString *)imageName;
|
||||||
+(void)delectAllfeedimages;
|
+(void)delectAllfeedimages;
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import "GiGaUser.h"
|
#import "GiGaUser.h"
|
||||||
|
#import "MaskTestResult.h"
|
||||||
|
|
||||||
|
|
||||||
typedef void (^userDataresponseBlock)(GiGaUser *user);
|
typedef void (^userDataresponseBlock)(GiGaUser *user);
|
||||||
|
|
@ -16,6 +17,7 @@ typedef void (^userErrorMsgBlock)(NSDictionary *errorCodemsg);
|
||||||
@interface GiGaUserManager : NSObject
|
@interface GiGaUserManager : NSObject
|
||||||
|
|
||||||
@property(nonatomic,strong) GiGaUser *user;
|
@property(nonatomic,strong) GiGaUser *user;
|
||||||
|
@property(nonatomic,strong) MaskTestResult *testReult;
|
||||||
|
|
||||||
+(instancetype)shareUser;
|
+(instancetype)shareUser;
|
||||||
- (void)saveUser:(GiGaUser *)user;
|
- (void)saveUser:(GiGaUser *)user;
|
||||||
|
|
@ -29,4 +31,8 @@ typedef void (^userErrorMsgBlock)(NSDictionary *errorCodemsg);
|
||||||
|
|
||||||
-(void)synsisUserInfo:(userDataresponseBlock)block userErrorMsgBlock:(userErrorMsgBlock)errorCodeMsg;
|
-(void)synsisUserInfo:(userDataresponseBlock)block userErrorMsgBlock:(userErrorMsgBlock)errorCodeMsg;
|
||||||
|
|
||||||
|
//保存肤质测试记录
|
||||||
|
//-(void)saveLatestUserTestRecord:(MaskTestResult *)maskTestResult;
|
||||||
|
//-(MaskTestResult *)latestMaskTestResult;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ const static NSInteger GIGADB_USER_VER = 0;//当前数据库版本号
|
||||||
@property (nonatomic,strong) NSMutableArray *userArr;
|
@property (nonatomic,strong) NSMutableArray *userArr;
|
||||||
@property (nonatomic,copy) NSString *userTabId;
|
@property (nonatomic,copy) NSString *userTabId;
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation GiGaUserManager
|
@implementation GiGaUserManager
|
||||||
|
|
@ -140,4 +141,12 @@ const static NSInteger GIGADB_USER_VER = 0;//当前数据库版本号
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//保留
|
||||||
|
#pragma mark 最新一次测试记录
|
||||||
|
-(void)saveLatestUserTestRecord:(MaskTestResult *)maskTestResult{
|
||||||
|
[_store createTableWithName:@"gigaLastestSkinTest"];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,10 @@
|
||||||
#define kApiOccuption @"sys/sysdict/v1/maskoccupation"
|
#define kApiOccuption @"sys/sysdict/v1/maskoccupation"
|
||||||
//修改用户信息
|
//修改用户信息
|
||||||
#define kFixUserInfo @"user/v1/editinfo"
|
#define kFixUserInfo @"user/v1/editinfo"
|
||||||
//头像上传 上传多张反馈
|
|
||||||
#define kUploadAvator @"sys/oss/v1/upload"
|
//头像上传
|
||||||
|
#define kUploadAvator @"user/v1/editheadimg"
|
||||||
|
//意见反馈 单张
|
||||||
#define kUploadFeed @"sys/oss/v1/upload"
|
#define kUploadFeed @"sys/oss/v1/upload"
|
||||||
|
|
||||||
//版本说明
|
//版本说明
|
||||||
|
|
@ -34,12 +36,20 @@
|
||||||
//找回密码发送验证码
|
//找回密码发送验证码
|
||||||
#define kApiChangePassSendCode @"msg/sms/v1/retrievesendcode"
|
#define kApiChangePassSendCode @"msg/sms/v1/retrievesendcode"
|
||||||
//异步验证手机验证码
|
//异步验证手机验证码
|
||||||
#define kApiVersifyPhoneCode @"v1/user/v1/validateSmsCode"
|
#define kApiVersifyPhoneCode @"user/v1/validateSmsCode"
|
||||||
|
|
||||||
//获取意见反馈类型 (设置意见反馈)
|
//获取意见反馈类型 (设置意见反馈)
|
||||||
#define kApiGetFeedList @"sys/sysdict/v1/maskproposaltype"
|
#define kApiGetFeedList @"sys/sysdict/v1/maskproposaltype"
|
||||||
//意见建议
|
//意见建议
|
||||||
#define kAPiUpLoadFeeeds @"sys/proposal/v1/save"
|
#define kAPiUpLoadFeeeds @"sys/proposal/v1/save"
|
||||||
|
//使用记录
|
||||||
|
#define kApiUserHistoryList @"activity/maskuselog/v1/list"
|
||||||
|
//测试结果获取
|
||||||
|
#define kAiSkinTestResult @"activity/maskquestion/v1/result"
|
||||||
|
//获取最后一次测试结果
|
||||||
|
#define kApiGetLatestTest @"activity/maskquestionresultlog/v1/finalresult"
|
||||||
|
|
||||||
|
//获取测试题列表
|
||||||
|
#define kApiSkinTestQuestionList @"activity/maskquestion/v1/list"
|
||||||
|
|
||||||
#endif /* ApiRequestConfig_h */
|
#endif /* ApiRequestConfig_h */
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
#import <JSONModel/JSONModel.h>
|
#import <JSONModel/JSONModel.h>
|
||||||
#import <UMCommon/UMCommon.h>
|
#import <UMCommon/UMCommon.h>
|
||||||
#import <UMAnalytics/MobClick.h>
|
#import <UMAnalytics/MobClick.h>
|
||||||
|
#import "WXApiObject.h"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#import "GiGaUserDefault.h"
|
#import "GiGaUserDefault.h"
|
||||||
|
|
|
||||||
|
|
@ -21,14 +21,14 @@
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<webView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sjU-k1-sKC">
|
<webView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sjU-k1-sKC">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="647"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="668"/>
|
||||||
<color key="backgroundColor" red="0.36078431370000003" green="0.38823529410000002" blue="0.4039215686" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="backgroundColor" red="0.36078431370000003" green="0.38823529410000002" blue="0.4039215686" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
</webView>
|
</webView>
|
||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="sjU-k1-sKC" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="1H8-sC-8Mx"/>
|
<constraint firstItem="sjU-k1-sKC" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="1H8-sC-8Mx"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="sjU-k1-sKC" secondAttribute="bottom" constant="20" id="6Nb-OM-pgQ"/>
|
<constraint firstAttribute="bottom" secondItem="sjU-k1-sKC" secondAttribute="bottom" constant="-1" id="6Nb-OM-pgQ"/>
|
||||||
<constraint firstItem="sjU-k1-sKC" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Hu9-3C-rEq"/>
|
<constraint firstItem="sjU-k1-sKC" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Hu9-3C-rEq"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="sjU-k1-sKC" secondAttribute="trailing" id="Ray-xd-2vY"/>
|
<constraint firstAttribute="trailing" secondItem="sjU-k1-sKC" secondAttribute="trailing" id="Ray-xd-2vY"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
|
|
|
||||||
|
|
@ -61,12 +61,15 @@
|
||||||
|
|
||||||
-(void)mycuntomSwitchAction:(id)sender{
|
-(void)mycuntomSwitchAction:(id)sender{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LXCustomSwith *nkswitch = (LXCustomSwith *)sender;
|
LXCustomSwith *nkswitch = (LXCustomSwith *)sender;
|
||||||
if (nkswitch.isOn)
|
if (nkswitch.isOn)
|
||||||
NSLog(@"switchPressed ON");
|
NSLog(@"switchPressed ON");
|
||||||
else
|
else
|
||||||
[[LXDanMuManager shareInstance] destory];
|
[[LXDanMuManager shareInstance] destory];
|
||||||
[self destorySocket];
|
[self destorySocket];
|
||||||
|
NC_POST_NAME_OBJECT(@"UserCloseChatRoomAction", nil);
|
||||||
[self dismissViewControllerAnimated:YES completion:nil];
|
[self dismissViewControllerAnimated:YES completion:nil];
|
||||||
NSLog(@"switchPressed OFF");
|
NSLog(@"switchPressed OFF");
|
||||||
}
|
}
|
||||||
|
|
@ -74,6 +77,7 @@
|
||||||
-(void)viewWillAppear:(BOOL)animated{
|
-(void)viewWillAppear:(BOOL)animated{
|
||||||
[super viewWillAppear:animated];
|
[super viewWillAppear:animated];
|
||||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(maskTimeEnd), kUserNoti_MASKEND, nil);
|
NC_ADD_TARGET_NAME_OBJECT(self, @selector(maskTimeEnd), kUserNoti_MASKEND, nil);
|
||||||
|
|
||||||
[IQKeyboardManager sharedManager].enable = NO;
|
[IQKeyboardManager sharedManager].enable = NO;
|
||||||
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
|
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,12 +51,32 @@
|
||||||
@property(nonatomic,strong) UIImageView *swipeGaurdimagView;
|
@property(nonatomic,strong) UIImageView *swipeGaurdimagView;
|
||||||
@property(nonatomic,strong) UIButton *startMaskButton;
|
@property(nonatomic,strong) UIButton *startMaskButton;
|
||||||
@property(nonatomic,strong) UIButton *startTestButton;
|
@property(nonatomic,strong) UIButton *startTestButton;
|
||||||
|
//开启弹幕按钮
|
||||||
|
@property(nonatomic,strong) UIButton *openDanmuButton;
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation GiGaMaskTaskViewController
|
@implementation GiGaMaskTaskViewController
|
||||||
|
|
||||||
#pragma mark - property
|
#pragma mark - property
|
||||||
|
- (UIButton *)openDanmuButton{
|
||||||
|
if (!_openDanmuButton) {
|
||||||
|
_openDanmuButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_openDanmuButton addTarget:self action:@selector(openDanmuButtonAction) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
_openDanmuButton.backgroundColor = GIGARGB(112, 0, 0, 1);
|
||||||
|
_openDanmuButton.frame = CGRectMake(KMainW - 25 -50,SAFE_NAV_HEIGHT + 15, 50, 20);
|
||||||
|
_openDanmuButton.layer.masksToBounds = YES;
|
||||||
|
_openDanmuButton.layer.cornerRadius = 10;
|
||||||
|
NSAttributedString *att = [GiGaHelper stringWithText:@"弹幕" textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTMEDIUM(10) leterSpace:0];
|
||||||
|
[_openDanmuButton setAttributedTitle:att forState:UIControlStateNormal];
|
||||||
|
[_openDanmuButton setImage:[UIImage imageNamed:@"btn_talk"] forState:UIControlStateNormal];
|
||||||
|
//_openDanmuButton.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0);
|
||||||
|
_openDanmuButton.titleEdgeInsets = UIEdgeInsetsMake(0, -25, 0, 25);
|
||||||
|
|
||||||
|
}
|
||||||
|
return _openDanmuButton;
|
||||||
|
}
|
||||||
//面膜
|
//面膜
|
||||||
- (UIImageView *)maskImageView{
|
- (UIImageView *)maskImageView{
|
||||||
if (!_maskImageView) {
|
if (!_maskImageView) {
|
||||||
|
|
@ -174,7 +194,7 @@
|
||||||
[super viewWillAppear:animated];
|
[super viewWillAppear:animated];
|
||||||
//取消导航对内容下移影响
|
//取消导航对内容下移影响
|
||||||
[self.navigationController.navigationBar setTranslucent:YES];
|
[self.navigationController.navigationBar setTranslucent:YES];
|
||||||
|
self.openDanmuButton.hidden = NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -184,11 +204,19 @@
|
||||||
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
|
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL showAppGaurd = [GiGaUserDefault isShowedAppGaurd];
|
// 暂不用 app引导页
|
||||||
if (showAppGaurd == NO) {
|
|
||||||
[self showAPPappGaurdView];
|
// BOOL showAppGaurd = [GiGaUserDefault isShowedAppGaurd];
|
||||||
|
// if (showAppGaurd == NO) {
|
||||||
|
// [self showAPPappGaurdView];
|
||||||
|
// }
|
||||||
|
//新手蒙版
|
||||||
|
BOOL isshowGaurd = [GiGaUserDefault isShowedGaurd];
|
||||||
|
if (isshowGaurd == NO) {
|
||||||
|
NSLog(@"%d",(int)isshowGaurd );
|
||||||
|
[self showUserGaurdView];
|
||||||
}
|
}
|
||||||
//[self showUserGaurdView];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)viewWillDisappear:(BOOL)animated{
|
-(void)viewWillDisappear:(BOOL)animated{
|
||||||
|
|
@ -318,7 +346,7 @@
|
||||||
-(void)initUI{
|
-(void)initUI{
|
||||||
|
|
||||||
self.view.backgroundColor = GIGA_MAIN_BGCOLOR;
|
self.view.backgroundColor = GIGA_MAIN_BGCOLOR;
|
||||||
|
[self.view addSubview:self.openDanmuButton];
|
||||||
[self.view addSubview:self.faceView];
|
[self.view addSubview:self.faceView];
|
||||||
[self.view addSubview:self.maskImageView];
|
[self.view addSubview:self.maskImageView];
|
||||||
[self.view addSubview:self.hairImageView];
|
[self.view addSubview:self.hairImageView];
|
||||||
|
|
@ -479,6 +507,7 @@
|
||||||
-(void)maskTimeEnd{
|
-(void)maskTimeEnd{
|
||||||
|
|
||||||
NC_POST_NAME_OBJECT(kUserNoti_MASKEND, nil);
|
NC_POST_NAME_OBJECT(kUserNoti_MASKEND, nil);
|
||||||
|
|
||||||
//面膜时间结束时设置 全局变量 不再发送本地通知 提醒
|
//面膜时间结束时设置 全局变量 不再发送本地通知 提醒
|
||||||
AppDelegate *delegate =(AppDelegate *) [[UIApplication sharedApplication] delegate];
|
AppDelegate *delegate =(AppDelegate *) [[UIApplication sharedApplication] delegate];
|
||||||
delegate.isMasking = NO;
|
delegate.isMasking = NO;
|
||||||
|
|
@ -502,8 +531,7 @@
|
||||||
// resultVC.model = model;
|
// resultVC.model = model;
|
||||||
// [self.navigationController pushViewController:resultVC animated:YES];
|
// [self.navigationController pushViewController:resultVC animated:YES];
|
||||||
|
|
||||||
//[self showAlertGoShareMaskTime];
|
// [self showAlertGoShareMaskTime];
|
||||||
|
|
||||||
|
|
||||||
GiGaQuestionVC *questionVC = [[GiGaQuestionVC alloc] init];
|
GiGaQuestionVC *questionVC = [[GiGaQuestionVC alloc] init];
|
||||||
[self.navigationController pushViewController:questionVC animated:YES];
|
[self.navigationController pushViewController:questionVC animated:YES];
|
||||||
|
|
@ -511,13 +539,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)addNotify{
|
-(void)addNotify{
|
||||||
|
//引导页
|
||||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(guardViewDissmiss), USER_GUARD_DISSMISS, nil) ;
|
NC_ADD_TARGET_NAME_OBJECT(self, @selector(guardViewDissmiss), USER_GUARD_DISSMISS, nil) ;
|
||||||
|
|
||||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(appGauardViewDissmiss),APP_GUARD_DISSMISS, nil) ;
|
NC_ADD_TARGET_NAME_OBJECT(self, @selector(appGauardViewDissmiss),APP_GUARD_DISSMISS, nil) ;
|
||||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(pushToAppAdDetailView),APP_PUSHTO_DETAILVIEW, nil) ;
|
NC_ADD_TARGET_NAME_OBJECT(self, @selector(pushToAppAdDetailView),APP_PUSHTO_DETAILVIEW, nil) ;
|
||||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(userLoginNotify), kUserLoginSuccessNoti, nil);
|
NC_ADD_TARGET_NAME_OBJECT(self, @selector(userLoginNotify), kUserLoginSuccessNoti, nil);
|
||||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(userlogOutNotify), kUserLogOutNotify, nil);
|
NC_ADD_TARGET_NAME_OBJECT(self, @selector(userlogOutNotify), kUserLogOutNotify, nil);
|
||||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(userAvatorUpDate), kUserAvatorUpdateNoti, nil) ;
|
NC_ADD_TARGET_NAME_OBJECT(self, @selector(userAvatorUpDate), kUserAvatorUpdateNoti, nil) ;
|
||||||
|
|
||||||
|
//用户关闭弹幕聊天
|
||||||
|
NC_ADD_TARGET_NAME_OBJECT(self, @selector(userCloseChatRoomAction), @"UserCloseChatRoomAction", nil);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark 广告详情
|
#pragma mark 广告详情
|
||||||
|
|
@ -527,9 +561,11 @@
|
||||||
[self.navigationController pushViewController:detailVC animated:YES];
|
[self.navigationController pushViewController:detailVC animated:YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark 新手引导消失
|
#pragma mark 新手引导蒙版消失
|
||||||
-(void)guardViewDissmiss{
|
-(void)guardViewDissmiss{
|
||||||
|
|
||||||
[self showWaringView];
|
[self showWaringView];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark app引导页消失
|
#pragma mark app引导页消失
|
||||||
|
|
@ -549,6 +585,8 @@
|
||||||
NC_REMOVE_NAME(self, kUserAvatorUpdateNoti, nil);
|
NC_REMOVE_NAME(self, kUserAvatorUpdateNoti, nil);
|
||||||
NC_REMOVE_NAME(self, kUserLogOutNotify, nil);
|
NC_REMOVE_NAME(self, kUserLogOutNotify, nil);
|
||||||
NC_REMOVE_NAME(self, kUserLoginSuccessNoti, nil);
|
NC_REMOVE_NAME(self, kUserLoginSuccessNoti, nil);
|
||||||
|
NC_REMOVE_NAME(self, @"UserCloseChatRoomAction", nil);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark 新手引导
|
#pragma mark 新手引导
|
||||||
|
|
@ -623,16 +661,20 @@
|
||||||
-(void)leftBtnAction{
|
-(void)leftBtnAction{
|
||||||
|
|
||||||
BOOL isUserLogin = [GiGaUserDefault isUserLogin];
|
BOOL isUserLogin = [GiGaUserDefault isUserLogin];
|
||||||
|
|
||||||
if (isUserLogin) {
|
if (isUserLogin) {
|
||||||
|
|
||||||
GiGaMasssagesVC *masageVC= [[GiGaMasssagesVC alloc] init];
|
GiGaMasssagesVC *masageVC= [[GiGaMasssagesVC alloc] init];
|
||||||
[self.navigationController pushViewController:masageVC animated:YES];
|
[self.navigationController pushViewController:masageVC animated:YES];
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
GiGaUserLoginVC *userlogInVC= [[GiGaUserLoginVC alloc] init];
|
GiGaUserLoginVC *userlogInVC= [[GiGaUserLoginVC alloc] init];
|
||||||
GiGaBaseNavViewController *baseNav = [[GiGaBaseNavViewController alloc] initWithRootViewController:userlogInVC];
|
GiGaBaseNavViewController *baseNav = [[GiGaBaseNavViewController alloc] initWithRootViewController:userlogInVC];
|
||||||
[self presentViewController:baseNav animated:YES completion:nil];
|
[self presentViewController:baseNav animated:YES completion:nil];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark 个人中心 action
|
#pragma mark 个人中心 action
|
||||||
|
|
@ -718,5 +760,14 @@
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma mark - 开启弹幕按钮事件
|
||||||
|
-(void)openDanmuButtonAction{
|
||||||
|
self.openDanmuButton.hidden = YES;
|
||||||
|
[self createInputView];
|
||||||
|
}
|
||||||
|
//通知用户挂断弹幕
|
||||||
|
-(void)userCloseChatRoomAction{
|
||||||
|
self.openDanmuButton.hidden = NO;
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,12 @@
|
||||||
#import "MaskTimeShareActionSheet.h"
|
#import "MaskTimeShareActionSheet.h"
|
||||||
#import "GIGaUserFileHelper.h"
|
#import "GIGaUserFileHelper.h"
|
||||||
#import <AVFoundation/AVFoundation.h>
|
#import <AVFoundation/AVFoundation.h>
|
||||||
|
#import "GiGaFileNanager.h"
|
||||||
|
//#import "WXApiObject.h"
|
||||||
|
#import <WXApiObject.h>
|
||||||
|
#import <WXApi.h>
|
||||||
|
#import "UIImage+ShotImage.h"
|
||||||
|
|
||||||
@interface ShareViewController ()<UITableViewDelegate,UITableViewDataSource,UIImagePickerControllerDelegate,UINavigationControllerDelegate>
|
@interface ShareViewController ()<UITableViewDelegate,UITableViewDataSource,UIImagePickerControllerDelegate,UINavigationControllerDelegate>
|
||||||
@property(nonatomic,strong) UITableView *tab;
|
@property(nonatomic,strong) UITableView *tab;
|
||||||
@property(nonatomic,strong) UIImageView *backimageview ;
|
@property(nonatomic,strong) UIImageView *backimageview ;
|
||||||
|
|
@ -27,35 +33,41 @@
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
|
|
||||||
_curentImageIndex = 0;
|
_curentImageIndex = 0;
|
||||||
UIImageView *backimageview = [[UIImageView alloc] init];
|
|
||||||
backimageview.contentMode = UIViewContentModeScaleAspectFill;
|
|
||||||
backimageview.frame = CGRectMake(0, 0,self.view.frame.size.width, self.view.frame.size.height);
|
|
||||||
backimageview.userInteractionEnabled = YES;
|
|
||||||
backimageview.image = [GIGaUserFileHelper getUserShareImage:kUSERSHAREA_IMAGENAME];
|
|
||||||
|
|
||||||
// self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"sharebg_1"]];
|
|
||||||
self.backimageview = backimageview;
|
|
||||||
[self.view addSubview:backimageview];
|
|
||||||
[self creatTabUI];
|
[self creatTabUI];
|
||||||
|
|
||||||
|
|
||||||
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
backBtn.frame = CGRectMake(20,44, 40, 40);
|
backBtn.frame = CGRectMake(20,44, 40, 40);
|
||||||
[backBtn setImage:[UIImage imageNamed:@"btn_moment_back"] forState:UIControlStateNormal];
|
[backBtn setImage:[UIImage imageNamed:@"btn_moment_back"] forState:UIControlStateNormal];
|
||||||
|
|
||||||
[backBtn addTarget:self action:@selector(backBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
[backBtn addTarget:self action:@selector(backBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
||||||
[self.view addSubview:backBtn];
|
[self.view addSubview:backBtn];
|
||||||
[self.view insertSubview:backimageview atIndex:0];
|
|
||||||
|
|
||||||
[self creatBtns];
|
[self creatBtns];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)creatTabUI{
|
-(void)creatTabUI{
|
||||||
|
self.automaticallyAdjustsScrollViewInsets = NO;
|
||||||
self.tab = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
|
self.tab = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
|
||||||
self.tab.separatorStyle = UITableViewCellSelectionStyleNone;
|
self.tab.separatorStyle = UITableViewCellSelectionStyleNone;
|
||||||
self.tab.delegate = self;
|
self.tab.delegate = self;
|
||||||
self.tab.dataSource = self;
|
self.tab.dataSource = self;
|
||||||
self.tab.backgroundColor = [UIColor clearColor];
|
self.tab.backgroundColor = [UIColor clearColor];
|
||||||
[self.view addSubview:self.tab];
|
[self.view addSubview:self.tab];
|
||||||
|
|
||||||
|
UIImageView *backimageview = [[UIImageView alloc] init];
|
||||||
|
backimageview.contentMode = UIViewContentModeScaleAspectFill;
|
||||||
|
backimageview.frame = CGRectMake(0,0,self.view.frame.size.width, self.view.frame.size.height);
|
||||||
|
backimageview.userInteractionEnabled = YES;
|
||||||
|
backimageview.image = [GIGaUserFileHelper getUserShareImage:kUSERSHAREA_IMAGENAME];
|
||||||
|
|
||||||
|
// self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"sharebg_1"]];
|
||||||
|
self.backimageview = backimageview;
|
||||||
|
|
||||||
|
self.tab.backgroundView = backimageview;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
|
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
|
||||||
|
|
@ -146,10 +158,9 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//更换背景
|
||||||
-(void)changeAction{
|
-(void)changeAction{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MaskTimeShareActionSheet * sheet = [[MaskTimeShareActionSheet alloc] initWithFrame:CGRectMake(0, 0, KMainW, KMainH)];
|
MaskTimeShareActionSheet * sheet = [[MaskTimeShareActionSheet alloc] initWithFrame:CGRectMake(0, 0, KMainW, KMainH)];
|
||||||
[sheet show:^(NSUInteger index) {
|
[sheet show:^(NSUInteger index) {
|
||||||
switch (index) {
|
switch (index) {
|
||||||
|
|
@ -186,6 +197,7 @@
|
||||||
[self.view addSubview:sheet];
|
[self.view addSubview:sheet];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark 相册
|
#pragma mark 相册
|
||||||
-(void)photosAlbum{
|
-(void)photosAlbum{
|
||||||
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; imagePickerController.delegate = self; imagePickerController.allowsEditing = YES;
|
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; imagePickerController.delegate = self; imagePickerController.allowsEditing = YES;
|
||||||
|
|
@ -217,6 +229,7 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//拍照
|
||||||
-(void)takePhoto{
|
-(void)takePhoto{
|
||||||
|
|
||||||
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; imagePickerController.delegate = self; imagePickerController.allowsEditing = YES;
|
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; imagePickerController.delegate = self; imagePickerController.allowsEditing = YES;
|
||||||
|
|
@ -263,9 +276,9 @@
|
||||||
UIImage*img=[info objectForKey:UIImagePickerControllerEditedImage];
|
UIImage*img=[info objectForKey:UIImagePickerControllerEditedImage];
|
||||||
UIImage *small = [GIGaUserFileHelper zipScaleWithImage:img];
|
UIImage *small = [GIGaUserFileHelper zipScaleWithImage:img];
|
||||||
[GIGaUserFileHelper savaShareImange:kUSERSHAREA_IMAGENAME image:small];
|
[GIGaUserFileHelper savaShareImange:kUSERSHAREA_IMAGENAME image:small];
|
||||||
|
[self.backimageview setImage:small];
|
||||||
|
|
||||||
|
|
||||||
ShareViewController *share = [[ShareViewController alloc] init];
|
|
||||||
[self presentViewController:share animated:NO completion:nil];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
|
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
|
||||||
|
|
@ -273,7 +286,48 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)shareBtnAction{
|
-(void)shareBtnAction{
|
||||||
|
if (![WXApi isWXAppInstalled]) {
|
||||||
|
GIGA_ShowToast(@"未安装微信");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
UIImage *image = [UIImage saveLongImage:self.tab];
|
||||||
|
[self jxt_showActionSheetWithTitle:@"分享微信" message:@"" appearanceProcess:^(JXTAlertController * _Nonnull alertMaker) {
|
||||||
|
|
||||||
|
alertMaker.addActionDefaultTitle(@"朋友");
|
||||||
|
alertMaker.addActionDefaultTitle(@"朋友圈");
|
||||||
|
alertMaker.addActionCancelTitle(@"取消");
|
||||||
|
} actionsBlock:^(NSInteger buttonIndex, UIAlertAction * _Nonnull action, JXTAlertController * _Nonnull alertSelf) {
|
||||||
|
|
||||||
|
if (buttonIndex==0) {
|
||||||
|
//好友
|
||||||
|
[self shareImagToWX:image scene:WXSceneSession];
|
||||||
|
|
||||||
|
}else if (buttonIndex==1){
|
||||||
|
// 朋友圈
|
||||||
|
[self shareImagToWX:image scene:WXSceneTimeline];
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)shareImagToWX:(UIImage *)image scene:(int)scene{
|
||||||
|
WXMediaMessage *msg = [WXMediaMessage message];
|
||||||
|
UIImage * masllThumb = [GIGaUserFileHelper scaleFromImage:image toSize:CGSizeMake(100, 100)];
|
||||||
|
msg.title = @"面膜时间";
|
||||||
|
msg.description= @"极迦面膜";
|
||||||
|
[msg setThumbImage:masllThumb];
|
||||||
|
|
||||||
|
WXImageObject *imageObject = [WXImageObject object];
|
||||||
|
NSData *imageData = UIImagePNGRepresentation(image);
|
||||||
|
imageObject.imageData = imageData;
|
||||||
|
msg.mediaObject = imageObject;
|
||||||
|
|
||||||
|
SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
|
||||||
|
req.message = msg;
|
||||||
|
req.scene = scene;
|
||||||
|
req.bText = NO;
|
||||||
|
|
||||||
|
[WXApi sendReq:req];
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -248,7 +248,7 @@
|
||||||
-(void)loadRequestQuestions{
|
-(void)loadRequestQuestions{
|
||||||
|
|
||||||
NSDictionary *params = @{};
|
NSDictionary *params = @{};
|
||||||
GiGaBaseAPiRequest *request = [GiGaBaseAPiRequest initWithRequestPath:@"activity/maskquestion/v1/list" method:RequestPostMethod parms:params];
|
GiGaBaseAPiRequest *request = [GiGaBaseAPiRequest initWithRequestPath:kApiSkinTestQuestionList method:RequestPostMethod parms:params];
|
||||||
[self.view makeToastActivity:CSToastPositionCenter];
|
[self.view makeToastActivity:CSToastPositionCenter];
|
||||||
|
|
||||||
[request requstDataWithResult:^(GiGaAPIResult *result) {
|
[request requstDataWithResult:^(GiGaAPIResult *result) {
|
||||||
|
|
@ -359,42 +359,15 @@
|
||||||
|
|
||||||
-(void)submitAnswer{
|
-(void)submitAnswer{
|
||||||
|
|
||||||
NSDictionary *params = @{@"singleChoiceList":self.answerArray};
|
[self userTestEnd];
|
||||||
[self.view makeToastActivity:CSToastPositionCenter];
|
|
||||||
NSString *url = [NSString stringWithFormat:@"%@activity/maskquestion/v1/result",[GiGaServerConfig getMainUrl]];
|
|
||||||
|
|
||||||
[GiGaNetManager userbodyRequest:url params:params completionHandler:^(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error) {
|
|
||||||
[self.view hideToastActivity];
|
|
||||||
GiGaAPIResult *result = [[GiGaAPIResult alloc] initWithDictionary:resDic];
|
|
||||||
if (result.success) {
|
|
||||||
MaskTestResult* mode = [[MaskTestResult alloc] initWithDictionary:resDic error:nil];
|
|
||||||
[self userTestEnd:mode];
|
|
||||||
}else{
|
|
||||||
GIGA_ShowToast(result.message);
|
|
||||||
}
|
|
||||||
GILog(@"**测试结果***\n code:%ld\n message:%@\n *******\n dic:%@",result.code,result.message,result.dic);
|
|
||||||
|
|
||||||
|
|
||||||
}];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)userTestEnd:(MaskTestResult*)model{
|
-(void)userTestEnd{
|
||||||
|
|
||||||
BOOL isUserLogin = [GiGaUserDefault isUserLogin];
|
BOOL isUserLogin = [GiGaUserDefault isUserLogin];
|
||||||
if (isUserLogin) {
|
if (isUserLogin) {
|
||||||
//展示结果
|
|
||||||
// NSDictionary *dic = @{
|
[self getTestResult];
|
||||||
// @"dryness":@"0.41",
|
|
||||||
// @"drynessPercent":@"41%",
|
|
||||||
// @"mask":@"",
|
|
||||||
// @"minute":@"19",
|
|
||||||
// @"oiliness":@"0.59",
|
|
||||||
// @"oilinessPercent":@"59%"
|
|
||||||
// };
|
|
||||||
// MaskTestResult *model =[[MaskTestResult alloc] initWithDictionary:dic error:nil];
|
|
||||||
MaskTestResultVC *resultVC = [[MaskTestResultVC alloc] init];
|
|
||||||
resultVC.model = model;
|
|
||||||
[self.navigationController pushViewController:resultVC animated:YES];
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
[self jxt_showAlertWithTitle:@"对不起您还没有登录" message:@"请登录后查看肤质测试结果" appearanceProcess:^(JXTAlertController * _Nonnull alertMaker) {
|
[self jxt_showAlertWithTitle:@"对不起您还没有登录" message:@"请登录后查看肤质测试结果" appearanceProcess:^(JXTAlertController * _Nonnull alertMaker) {
|
||||||
|
|
@ -416,6 +389,46 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取结果
|
||||||
|
-(void)getTestResult{
|
||||||
|
|
||||||
|
NSDictionary *params = @{@"singleChoiceList":self.answerArray};
|
||||||
|
[self.view makeToastActivity:CSToastPositionCenter];
|
||||||
|
NSString *url = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],kAiSkinTestResult];
|
||||||
|
[GiGaNetManager userbodyRequest:url params:params completionHandler:^(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error) {
|
||||||
|
[self.view hideToastActivity];
|
||||||
|
GiGaAPIResult *result = [[GiGaAPIResult alloc] initWithDictionary:resDic];
|
||||||
|
if (result.success) {
|
||||||
|
|
||||||
|
MaskTestResult* mode = [[MaskTestResult alloc] initWithDictionary:resDic error:nil];
|
||||||
|
|
||||||
|
NSUInteger minute = [mode.minute integerValue];
|
||||||
|
NSTimeInterval time = minute * 60;
|
||||||
|
[GiGaUserDefault savaMaskeTime:time];
|
||||||
|
|
||||||
|
//展示结果
|
||||||
|
// NSDictionary *dic = @{
|
||||||
|
// @"dryness":@"0.41",
|
||||||
|
// @"drynessPercent":@"41%",
|
||||||
|
// @"mask":@"",
|
||||||
|
// @"minute":@"19",
|
||||||
|
// @"oiliness":@"0.59",
|
||||||
|
// @"oilinessPercent":@"59%"
|
||||||
|
// };
|
||||||
|
// MaskTestResult *model =[[MaskTestResult alloc] initWithDictionary:dic error:nil];
|
||||||
|
MaskTestResultVC *resultVC = [[MaskTestResultVC alloc] init];
|
||||||
|
resultVC.model = mode;
|
||||||
|
[self.navigationController pushViewController:resultVC animated:YES];
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
GIGA_ShowToast(result.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
GILog(@"**测试结果***\n code:%ld\n message:%@\n *******\n dic:%@",result.code,result.message,result.dic);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
-(void)preBtnAction{
|
-(void)preBtnAction{
|
||||||
|
|
||||||
_page -- ;
|
_page -- ;
|
||||||
|
|
|
||||||
|
|
@ -12,4 +12,5 @@
|
||||||
@interface MaskTestResultVC : GiGaBaseViewController
|
@interface MaskTestResultVC : GiGaBaseViewController
|
||||||
@property (nonatomic,strong) MaskTestResult *model;
|
@property (nonatomic,strong) MaskTestResult *model;
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,12 @@
|
||||||
#import "MaskResultMinViewCell.h"
|
#import "MaskResultMinViewCell.h"
|
||||||
#import "MaskResultPercentCell.h"
|
#import "MaskResultPercentCell.h"
|
||||||
#import "MaskResultShareViewCell.h"
|
#import "MaskResultShareViewCell.h"
|
||||||
|
#import "GIGaUserFileHelper.h"
|
||||||
|
#import "UIImage+ShotImage.h"
|
||||||
|
#import "GiGaBaseAPiRequest.h"
|
||||||
#import "GiGaFileNanager.h"
|
#import "GiGaFileNanager.h"
|
||||||
|
#import <WXApi.h>
|
||||||
|
#import "MaskTestResult.h"
|
||||||
|
|
||||||
@interface MaskTestResultVC ()
|
@interface MaskTestResultVC ()
|
||||||
|
|
||||||
|
|
@ -22,9 +25,9 @@
|
||||||
|
|
||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
|
|
||||||
[self addNavTitile:@"测试结果"];
|
[self addNavTitile:@"测试结果"];
|
||||||
// Do any additional setup after loading the view.
|
// Do any additional setup after loading the view.
|
||||||
|
|
||||||
[self.view addSubview:self.tableView];
|
[self.view addSubview:self.tableView];
|
||||||
self.tableView.delegate = self;
|
self.tableView.delegate = self;
|
||||||
self.tableView.dataSource = self;
|
self.tableView.dataSource = self;
|
||||||
|
|
@ -39,6 +42,32 @@
|
||||||
[self.tableView registerClass:[MaskResultMinViewCell class] forCellReuseIdentifier:@"MaskResultMinViewCell"];
|
[self.tableView registerClass:[MaskResultMinViewCell class] forCellReuseIdentifier:@"MaskResultMinViewCell"];
|
||||||
[self.tableView registerClass:[MaskResultShareViewCell class] forCellReuseIdentifier:@"MaskResultShareViewCell"];
|
[self.tableView registerClass:[MaskResultShareViewCell class] forCellReuseIdentifier:@"MaskResultShareViewCell"];
|
||||||
|
|
||||||
|
if (!self.model) {
|
||||||
|
[self addNavTitile:@"历史测试"];
|
||||||
|
[self requstLatestTestData];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)requstLatestTestData{
|
||||||
|
|
||||||
|
[self.view makeToastActivity:CSToastPositionCenter];
|
||||||
|
GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:kApiGetLatestTest method:RequestPostMethod parms:@{}];
|
||||||
|
[api requstDataWithResult:^(GiGaAPIResult *result) {
|
||||||
|
[self.view hideToastActivity];
|
||||||
|
if (result.success) {
|
||||||
|
NSDictionary *dic = result.dic;
|
||||||
|
NSDictionary *reult = dic[@"result"];
|
||||||
|
MaskTestResult *resultMode = [[MaskTestResult alloc] initWithDictionary:reult error:nil];
|
||||||
|
self.model = resultMode;
|
||||||
|
[self.tableView reloadData];
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
GIGA_ShowToast(result.message);
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
|
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
|
||||||
|
|
@ -76,7 +105,7 @@
|
||||||
cell = [[MaskResultShareViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];;
|
cell = [[MaskResultShareViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];;
|
||||||
}
|
}
|
||||||
[cell.shareBtn addTarget:self action:@selector(shareBtnAciton) forControlEvents:UIControlEventTouchUpInside];
|
[cell.shareBtn addTarget:self action:@selector(shareBtnAciton) forControlEvents:UIControlEventTouchUpInside];
|
||||||
[cell kidTitle:self.model.mask];
|
[cell kidTitle:self.model];
|
||||||
|
|
||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
|
|
@ -102,40 +131,52 @@
|
||||||
|
|
||||||
-(void)shareBtnAciton{
|
-(void)shareBtnAciton{
|
||||||
|
|
||||||
UIImage *image = [self saveLongImage:self.tableView];
|
if (![WXApi isWXAppInstalled]) {
|
||||||
// SHareTestImageVC *imagevc = [[SHareTestImageVC alloc] init];
|
GIGA_ShowToast(@"未安装微信");
|
||||||
// imagevc.image = image;
|
return;
|
||||||
//[self.navigationController pushViewController:imagevc animated:YES];
|
}
|
||||||
|
|
||||||
|
UIImage *image = [UIImage saveLongImage:self.tableView];
|
||||||
|
//[[GiGaFileNanager shareInstance] saveImaeToAlBum:image];
|
||||||
|
[self jxt_showActionSheetWithTitle:@"分享微信" message:@"" appearanceProcess:^(JXTAlertController * _Nonnull alertMaker) {
|
||||||
|
|
||||||
|
alertMaker.addActionDefaultTitle(@"朋友");
|
||||||
|
alertMaker.addActionDefaultTitle(@"朋友圈");
|
||||||
|
alertMaker.addActionCancelTitle(@"取消");
|
||||||
|
} actionsBlock:^(NSInteger buttonIndex, UIAlertAction * _Nonnull action, JXTAlertController * _Nonnull alertSelf) {
|
||||||
|
|
||||||
|
if (buttonIndex==0) {
|
||||||
|
//好友
|
||||||
|
[self shareImagToWX:image scene:WXSceneSession];
|
||||||
|
|
||||||
|
|
||||||
|
}else if (buttonIndex==1){
|
||||||
|
// 朋友圈
|
||||||
|
[self shareImagToWX:image scene:WXSceneTimeline];
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)shareImagToWX:(UIImage *)image scene:(int)scene{
|
||||||
|
WXMediaMessage *msg = [WXMediaMessage message];
|
||||||
|
UIImage * masllThumb = [GIGaUserFileHelper scaleFromImage:image toSize:CGSizeMake(100, 100)];
|
||||||
|
msg.title = @"面膜时间";
|
||||||
|
msg.description= @"极迦面膜";
|
||||||
|
[msg setThumbImage:masllThumb];
|
||||||
|
|
||||||
|
WXImageObject *imageObject = [WXImageObject object];
|
||||||
|
NSData *imageData = UIImagePNGRepresentation(image);
|
||||||
|
imageObject.imageData = imageData;
|
||||||
|
msg.mediaObject = imageObject;
|
||||||
|
|
||||||
|
SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
|
||||||
|
req.message = msg;
|
||||||
|
req.scene = scene;
|
||||||
|
req.bText = NO;
|
||||||
|
[WXApi sendReq:req];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (UIImage *)saveLongImage:(UITableView *)table {
|
|
||||||
|
|
||||||
UIImage* image = nil;
|
|
||||||
// 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,调整清晰度。
|
|
||||||
|
|
||||||
UIGraphicsBeginImageContextWithOptions(table.contentSize, 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.layer renderInContext: UIGraphicsGetCurrentContext()];
|
|
||||||
|
|
||||||
image = UIGraphicsGetImageFromCurrentImageContext();
|
|
||||||
|
|
||||||
table.contentOffset = savedContentOffset;
|
|
||||||
|
|
||||||
table.frame = savedFrame;
|
|
||||||
|
|
||||||
UIGraphicsEndImageContext();
|
|
||||||
[[GiGaFileNanager shareInstance] saveImaeToAlBum:image];
|
|
||||||
|
|
||||||
return image;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)didReceiveMemoryWarning {
|
- (void)didReceiveMemoryWarning {
|
||||||
[super didReceiveMemoryWarning];
|
[super didReceiveMemoryWarning];
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,11 @@
|
||||||
@property(nonatomic,copy) NSString *minute;
|
@property(nonatomic,copy) NSString *minute;
|
||||||
@property(nonatomic,copy) NSString *oiliness;
|
@property(nonatomic,copy) NSString *oiliness;
|
||||||
@property(nonatomic,copy) NSString *oilinessPercent;
|
@property(nonatomic,copy) NSString *oilinessPercent;
|
||||||
|
//保湿0无1有
|
||||||
|
@property(nonatomic) int moisture;
|
||||||
|
//美白0无1有
|
||||||
|
@property(nonatomic) int whitening;
|
||||||
|
//提拉紧致0无1有
|
||||||
|
@property(nonatomic) int liftingTightening;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,19 @@
|
||||||
|
|
||||||
#import "GIGaQuestionSlider.h"
|
#import "GIGaQuestionSlider.h"
|
||||||
#import "UIColor+HexColor.h"
|
#import "UIColor+HexColor.h"
|
||||||
|
#define thumbBound_x 10
|
||||||
|
#define thumbBound_y 20
|
||||||
|
|
||||||
@interface GIGaQuestionSlider()
|
@interface GIGaQuestionSlider()
|
||||||
|
|
||||||
|
{
|
||||||
|
CGRect _lastBounds;
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation GIGaQuestionSlider
|
@implementation GIGaQuestionSlider
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- (instancetype)initWithFrame:(CGRect)frame type:(GIGaQuestionSliderType)type
|
- (instancetype)initWithFrame:(CGRect)frame type:(GIGaQuestionSliderType)type
|
||||||
{
|
{
|
||||||
self = [super initWithFrame:frame];
|
self = [super initWithFrame:frame];
|
||||||
|
|
@ -112,5 +117,53 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 扩大thumb 触控区域
|
||||||
|
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value
|
||||||
|
|
||||||
|
{
|
||||||
|
rect.origin.x = rect.origin.x;
|
||||||
|
rect.size.width = rect.size.width ;
|
||||||
|
CGRect result = [super thumbRectForBounds:bounds trackRect:rect value:value];
|
||||||
|
|
||||||
|
_lastBounds = result;
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
|
||||||
|
|
||||||
|
UIView *result = [super hitTest:point withEvent:event];
|
||||||
|
|
||||||
|
if (point.x < 0 || point.x > self.bounds.size.width){
|
||||||
|
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((point.y >= -thumbBound_y) && (point.y < _lastBounds.size.height + thumbBound_y)) {
|
||||||
|
float value = 0.0;
|
||||||
|
value = point.x - self.bounds.origin.x;
|
||||||
|
value = value/self.bounds.size.width;
|
||||||
|
|
||||||
|
value = value < 0? 0 : value;
|
||||||
|
value = value > 1? 1: value;
|
||||||
|
|
||||||
|
value = value * (self.maximumValue - self.minimumValue) + self.minimumValue;
|
||||||
|
[self setValue:value animated:YES];
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
|
||||||
|
BOOL result = [super pointInside:point withEvent:event];
|
||||||
|
if (!result && point.y > -10) {
|
||||||
|
if ((point.x >= _lastBounds.origin.x - thumbBound_x) && (point.x <= (_lastBounds.origin.x + _lastBounds.size.width + thumbBound_x)) && (point.y < (_lastBounds.size.height + thumbBound_y))) {
|
||||||
|
result = YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,11 @@
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
@interface MaskResultCandView : UIView
|
@interface MaskResultCandView : UIView
|
||||||
|
@property(nonatomic,strong) UIImageView *shuiImageView;
|
||||||
|
@property(nonatomic,strong) UIImageView *meibaiImageView;
|
||||||
|
@property(nonatomic,strong) UIImageView *tilaImageView;
|
||||||
@property(nonatomic,strong) NSArray *imagesArr;
|
@property(nonatomic,strong) NSArray *imagesArr;
|
||||||
- (instancetype)initWith:(NSArray *)images;
|
- (instancetype)initWith:(NSArray *)images;
|
||||||
|
-(void)updateImages:(NSArray *)images;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,17 @@
|
||||||
-(void)creatSubs{
|
-(void)creatSubs{
|
||||||
|
|
||||||
for (NSInteger i=0; i<self.imagesArr.count; i ++) {
|
for (NSInteger i=0; i<self.imagesArr.count; i ++) {
|
||||||
|
|
||||||
UIImageView *image = [[UIImageView alloc] init];
|
UIImageView *image = [[UIImageView alloc] init];
|
||||||
|
|
||||||
|
if (i==0) {
|
||||||
|
self.shuiImageView = image;
|
||||||
|
}else if (i==1){
|
||||||
|
self.meibaiImageView = image;
|
||||||
|
}else if (i==2){
|
||||||
|
self.tilaImageView= image;
|
||||||
|
}
|
||||||
|
|
||||||
image.contentMode = UIViewContentModeScaleAspectFill;
|
image.contentMode = UIViewContentModeScaleAspectFill;
|
||||||
image.image = [UIImage imageNamed:self.imagesArr[i]];
|
image.image = [UIImage imageNamed:self.imagesArr[i]];
|
||||||
image.layer.shadowColor = [UIColor blackColor].CGColor;
|
image.layer.shadowColor = [UIColor blackColor].CGColor;
|
||||||
|
|
@ -50,4 +60,19 @@
|
||||||
|
|
||||||
//[self creatSubs];
|
//[self creatSubs];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-(void)updateImages:(NSArray *)images
|
||||||
|
{
|
||||||
|
for (NSInteger i=0; i<images.count; i++) {
|
||||||
|
if (i==0) {
|
||||||
|
self.shuiImageView.image = [UIImage imageNamed:images[i]];
|
||||||
|
}else if (i==1){
|
||||||
|
self.meibaiImageView.image = [UIImage imageNamed:images[i]];
|
||||||
|
}else{
|
||||||
|
self.tilaImageView.image = [UIImage imageNamed:images[i]];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -91,8 +91,10 @@
|
||||||
|
|
||||||
}];
|
}];
|
||||||
|
|
||||||
}
|
[self bringSubviewToFront:jianyiLabel];
|
||||||
|
[self bringSubviewToFront:timeLabel];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
- (void)layoutSubviews{
|
- (void)layoutSubviews{
|
||||||
[super layoutSubviews];
|
[super layoutSubviews];
|
||||||
|
|
@ -122,11 +124,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)loadMineWith:(NSString *)minute{
|
-(void)loadMineWith:(NSString *)minute{
|
||||||
|
|
||||||
|
if ([minute isKindOfClass:[NSNull class]]) {
|
||||||
|
minute = @"17";
|
||||||
|
}
|
||||||
NSString *time = [NSString stringWithFormat:@"%@分钟",minute];
|
NSString *time = [NSString stringWithFormat:@"%@分钟",minute];
|
||||||
self.timeLabel.text = time;
|
self.timeLabel.text = time;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-(void)laoutSettings{
|
-(void)laoutSettings{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,13 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#import "MaskTestResult.h"
|
||||||
|
#import "MaskResultCandView.h"
|
||||||
@interface MaskResultShareViewCell : UITableViewCell
|
@interface MaskResultShareViewCell : UITableViewCell
|
||||||
@property (nonatomic,strong) UIButton *shareBtn;
|
@property (nonatomic,strong) UIButton *shareBtn;
|
||||||
-(void)kidTitle:(NSString *)title;
|
@property (nonatomic,strong) MaskResultCandView *imagsBackView;
|
||||||
|
|
||||||
|
-(void)kidTitle:(MaskTestResult *)model;
|
||||||
@property (nonatomic,strong) UILabel *candLabe;
|
@property (nonatomic,strong) UILabel *candLabe;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,9 @@
|
||||||
}];
|
}];
|
||||||
//小图标
|
//小图标
|
||||||
NSArray * imagesArr = @[@"result_water",@"result_moon",@"result_push"];
|
NSArray * imagesArr = @[@"result_water",@"result_moon",@"result_push"];
|
||||||
|
|
||||||
MaskResultCandView *imagsBackView = [[MaskResultCandView alloc] initWith:imagesArr];
|
MaskResultCandView *imagsBackView = [[MaskResultCandView alloc] initWith:imagesArr];
|
||||||
|
self.imagsBackView = imagsBackView;
|
||||||
[self addSubview:imagsBackView];
|
[self addSubview:imagsBackView];
|
||||||
|
|
||||||
[imagsBackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[imagsBackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
|
@ -114,11 +116,19 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)kidTitle:(NSString *)title{
|
-(void)kidTitle:(MaskTestResult *)model{
|
||||||
if (!title || [title isEqualToString:@""] || [title isKindOfClass:[NSNull class]]) {
|
if (!model.mask || [model.mask isEqualToString:@""] || [model.mask isKindOfClass:[NSNull class]]) {
|
||||||
title = @"全效型";
|
model.mask = @"全效型";
|
||||||
}
|
}
|
||||||
self.candLabe.text = title;
|
self.candLabe.text = model.mask;
|
||||||
|
|
||||||
|
NSString *water = model.moisture ==1 ? @"result_water":@"result_wmz";
|
||||||
|
|
||||||
|
NSString *meibai = model.whitening ==1 ? @"result_moon":@"result_ylwmz";
|
||||||
|
|
||||||
|
NSString *tila= model.liftingTightening ==1 ? @"result_push":@"result_wmzzz";
|
||||||
|
|
||||||
|
[self.imagsBackView updateImages:@[water,meibai,tila]];
|
||||||
|
|
||||||
}
|
}
|
||||||
-(void)layoutSubviews{
|
-(void)layoutSubviews{
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,14 @@
|
||||||
|
|
||||||
#import "NYSliderPopover.h"
|
#import "NYSliderPopover.h"
|
||||||
#import "NYPopover.h"
|
#import "NYPopover.h"
|
||||||
|
#define thumbBound_x 10
|
||||||
|
#define thumbBound_y 20
|
||||||
|
|
||||||
|
@interface NYSliderPopover()
|
||||||
|
{
|
||||||
|
CGRect _lastBounds;
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
@implementation NYSliderPopover
|
@implementation NYSliderPopover
|
||||||
|
|
||||||
|
|
@ -183,4 +191,55 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 扩大thumb 触控区域
|
||||||
|
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value
|
||||||
|
|
||||||
|
{
|
||||||
|
rect.origin.x = rect.origin.x;
|
||||||
|
rect.size.width = rect.size.width ;
|
||||||
|
CGRect result = [super thumbRectForBounds:bounds trackRect:rect value:value];
|
||||||
|
|
||||||
|
_lastBounds = result;
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
|
||||||
|
|
||||||
|
UIView *result = [super hitTest:point withEvent:event];
|
||||||
|
|
||||||
|
if (point.x < 0 || point.x > self.bounds.size.width){
|
||||||
|
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((point.y >= -thumbBound_y) && (point.y < _lastBounds.size.height + thumbBound_y)) {
|
||||||
|
float value = 0.0;
|
||||||
|
value = point.x - self.bounds.origin.x;
|
||||||
|
value = value/self.bounds.size.width;
|
||||||
|
|
||||||
|
value = value < 0? 0 : value;
|
||||||
|
value = value > 1? 1: value;
|
||||||
|
|
||||||
|
value = value * (self.maximumValue - self.minimumValue) + self.minimumValue;
|
||||||
|
[self setValue:value animated:YES];
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
|
||||||
|
BOOL result = [super pointInside:point withEvent:event];
|
||||||
|
if (!result && point.y > -10) {
|
||||||
|
if ((point.x >= _lastBounds.origin.x - thumbBound_x) && (point.x <= (_lastBounds.origin.x + _lastBounds.size.width + thumbBound_x)) && (point.y < (_lastBounds.size.height + thumbBound_y))) {
|
||||||
|
result = YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ static const CGFloat kInputViewH = 44.f;
|
||||||
}
|
}
|
||||||
if (self.inputTextField.text.length == 0) {
|
if (self.inputTextField.text.length == 0) {
|
||||||
|
|
||||||
[[UIApplication sharedApplication].keyWindow makeToast:@"Comment content cannot be empty" duration:1 position:CSToastPositionCenter];
|
[[UIApplication sharedApplication].keyWindow makeToast:@"弹幕不能为空" duration:1 position:CSToastPositionCenter];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#import "MaskShareBoootomViewCell.h"
|
#import "MaskShareBoootomViewCell.h"
|
||||||
#import "ZXingWrapper.h"
|
//#import "ZXingWrapper.h"
|
||||||
|
#import "UIImage+LogoQrCode.h"
|
||||||
|
|
||||||
@implementation MaskShareBoootomViewCell
|
@implementation MaskShareBoootomViewCell
|
||||||
|
|
||||||
|
|
@ -16,7 +16,9 @@
|
||||||
[super awakeFromNib];
|
[super awakeFromNib];
|
||||||
// Initialization code
|
// Initialization code
|
||||||
self.backgroundColor = [UIColor clearColor];
|
self.backgroundColor = [UIColor clearColor];
|
||||||
UIImage *imag = [ZXingWrapper createCodeWithString:@"app_logo" size:CGSizeMake(85, 85) CodeFomart:kBarcodeFormatQRCode];
|
// UIImage *imag = [ZXingWrapper createCodeWithString:@"giga" size:CGSizeMake(170, 170) CodeFomart:kBarcodeFormatQRCode];
|
||||||
|
|
||||||
|
UIImage *imag = [UIImage createQrImageWith:[UIImage imageNamed:@"result_logo"] logoSize:CGSizeZero qrText:@"jijia"];
|
||||||
self.codeImageVIew.image = imag;
|
self.codeImageVIew.image = imag;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
</label>
|
</label>
|
||||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ns1-dj-ePW">
|
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ns1-dj-ePW">
|
||||||
<rect key="frame" x="68.5" y="313" width="238" height="88"/>
|
<rect key="frame" x="68.5" y="289" width="238" height="88"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="客服热线: 400-0000-000" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fQZ-vC-DAg">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="客服热线: 400-0000-000" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fQZ-vC-DAg">
|
||||||
<rect key="frame" x="44" y="25" width="151" height="17"/>
|
<rect key="frame" x="44" y="25" width="151" height="17"/>
|
||||||
|
|
@ -64,7 +64,10 @@
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="当前版本: v 1.0" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O00-AN-ESn">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="当前版本: v 1.0" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O00-AN-ESn">
|
||||||
<rect key="frame" x="142.5" y="405" width="90" height="17"/>
|
<rect key="frame" x="142.5" y="382" width="90" height="28"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="28" id="6TJ-hh-QMB"/>
|
||||||
|
</constraints>
|
||||||
<fontDescription key="fontDescription" name="PingFangSC-Semibold" family="PingFang SC" pointSize="12"/>
|
<fontDescription key="fontDescription" name="PingFangSC-Semibold" family="PingFang SC" pointSize="12"/>
|
||||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
|
|
@ -76,7 +79,7 @@
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
</label>
|
</label>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="CopyRight @ 极迦生物 2018 - 2020" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uqu-At-cU5">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="CopyRight @ 极迦生物 2018 - 2020" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uqu-At-cU5">
|
||||||
<rect key="frame" x="103.5" y="640" width="168" height="14"/>
|
<rect key="frame" x="103.5" y="628" width="168" height="14"/>
|
||||||
<fontDescription key="fontDescription" name="PingFangSC-Semibold" family="PingFang SC" pointSize="10"/>
|
<fontDescription key="fontDescription" name="PingFangSC-Semibold" family="PingFang SC" pointSize="10"/>
|
||||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
|
|
@ -94,14 +97,14 @@
|
||||||
<constraint firstItem="CaV-Vg-83Z" firstAttribute="top" secondItem="KQS-5b-EYm" secondAttribute="bottom" constant="8" id="0Ca-ma-0Xq"/>
|
<constraint firstItem="CaV-Vg-83Z" firstAttribute="top" secondItem="KQS-5b-EYm" secondAttribute="bottom" constant="8" id="0Ca-ma-0Xq"/>
|
||||||
<constraint firstItem="aZZ-3P-qGO" firstAttribute="top" secondItem="uWt-SH-yKP" secondAttribute="top" constant="599" id="4aq-UH-aog"/>
|
<constraint firstItem="aZZ-3P-qGO" firstAttribute="top" secondItem="uWt-SH-yKP" secondAttribute="top" constant="599" id="4aq-UH-aog"/>
|
||||||
<constraint firstItem="KQS-5b-EYm" firstAttribute="centerX" secondItem="uWt-SH-yKP" secondAttribute="centerX" id="743-r4-R1X"/>
|
<constraint firstItem="KQS-5b-EYm" firstAttribute="centerX" secondItem="uWt-SH-yKP" secondAttribute="centerX" id="743-r4-R1X"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="uqu-At-cU5" secondAttribute="bottom" constant="31" id="F3V-4E-z1P"/>
|
<constraint firstAttribute="bottom" secondItem="uqu-At-cU5" secondAttribute="bottom" constant="12" id="F3V-4E-z1P"/>
|
||||||
<constraint firstItem="O00-AN-ESn" firstAttribute="top" secondItem="ns1-dj-ePW" secondAttribute="bottom" constant="4" id="VBQ-rU-lZq"/>
|
<constraint firstItem="O00-AN-ESn" firstAttribute="top" secondItem="ns1-dj-ePW" secondAttribute="bottom" constant="5" id="VBQ-rU-lZq"/>
|
||||||
<constraint firstItem="ns1-dj-ePW" firstAttribute="centerX" secondItem="uWt-SH-yKP" secondAttribute="centerX" id="Vgi-dq-8gh"/>
|
<constraint firstItem="ns1-dj-ePW" firstAttribute="centerX" secondItem="uWt-SH-yKP" secondAttribute="centerX" id="Vgi-dq-8gh"/>
|
||||||
<constraint firstItem="YGv-MC-rGM" firstAttribute="top" secondItem="uWt-SH-yKP" secondAttribute="top" constant="60" id="WYS-WQ-DAP"/>
|
<constraint firstItem="YGv-MC-rGM" firstAttribute="top" secondItem="uWt-SH-yKP" secondAttribute="top" constant="60" id="WYS-WQ-DAP"/>
|
||||||
<constraint firstItem="O00-AN-ESn" firstAttribute="centerX" secondItem="uWt-SH-yKP" secondAttribute="centerX" id="bbr-sV-JYk"/>
|
<constraint firstItem="O00-AN-ESn" firstAttribute="centerX" secondItem="uWt-SH-yKP" secondAttribute="centerX" id="bbr-sV-JYk"/>
|
||||||
<constraint firstItem="uqu-At-cU5" firstAttribute="top" secondItem="aZZ-3P-qGO" secondAttribute="bottom" constant="24" id="bn8-GO-D8j"/>
|
<constraint firstItem="uqu-At-cU5" firstAttribute="top" secondItem="aZZ-3P-qGO" secondAttribute="bottom" constant="12" id="bn8-GO-D8j"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="uqu-At-cU5" secondAttribute="trailing" constant="104" id="f5C-j2-JuY"/>
|
<constraint firstAttribute="trailing" secondItem="uqu-At-cU5" secondAttribute="trailing" constant="104" id="f5C-j2-JuY"/>
|
||||||
<constraint firstItem="ns1-dj-ePW" firstAttribute="top" secondItem="CaV-Vg-83Z" secondAttribute="bottom" constant="91" id="guj-Ca-B2n"/>
|
<constraint firstItem="ns1-dj-ePW" firstAttribute="top" secondItem="CaV-Vg-83Z" secondAttribute="bottom" constant="67" id="guj-Ca-B2n"/>
|
||||||
<constraint firstItem="YGv-MC-rGM" firstAttribute="centerX" secondItem="uWt-SH-yKP" secondAttribute="centerX" id="nXD-1v-Onf"/>
|
<constraint firstItem="YGv-MC-rGM" firstAttribute="centerX" secondItem="uWt-SH-yKP" secondAttribute="centerX" id="nXD-1v-Onf"/>
|
||||||
<constraint firstItem="aZZ-3P-qGO" firstAttribute="centerX" secondItem="uWt-SH-yKP" secondAttribute="centerX" id="o8Y-VR-Tgb"/>
|
<constraint firstItem="aZZ-3P-qGO" firstAttribute="centerX" secondItem="uWt-SH-yKP" secondAttribute="centerX" id="o8Y-VR-Tgb"/>
|
||||||
<constraint firstItem="KQS-5b-EYm" firstAttribute="top" secondItem="YGv-MC-rGM" secondAttribute="bottom" constant="22" id="u8C-WB-j66"/>
|
<constraint firstItem="KQS-5b-EYm" firstAttribute="top" secondItem="YGv-MC-rGM" secondAttribute="bottom" constant="22" id="u8C-WB-j66"/>
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,9 @@
|
||||||
|
|
||||||
#import "GIGaChangePassVC.h"
|
#import "GIGaChangePassVC.h"
|
||||||
#import "GiGaBaseAPiRequest.h"
|
#import "GiGaBaseAPiRequest.h"
|
||||||
|
#import "GiGaNetManager.h"
|
||||||
|
#import "GiGaServerConfig.h"
|
||||||
|
#import "GiGaAPIResult.h"
|
||||||
|
|
||||||
@interface GIGaChangePassVC ()
|
@interface GIGaChangePassVC ()
|
||||||
|
|
||||||
|
|
@ -79,23 +82,24 @@
|
||||||
@"newPassword":self.xinPassFiled.text,
|
@"newPassword":self.xinPassFiled.text,
|
||||||
@"newPasswordConfirm":self.reNewPassFiled.text
|
@"newPasswordConfirm":self.reNewPassFiled.text
|
||||||
};
|
};
|
||||||
GiGaBaseAPiRequest *requst = [GiGaBaseAPiRequest initWithRequestPath:kPAiUSerEditpwd method:RequestPostMethod parms:params];
|
NSString *url = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],kPAiUSerEditpwd];
|
||||||
[requst requstDataWithResult:^(GiGaAPIResult *result) {
|
[GiGaNetManager userbodyRequest:url params:params completionHandler:^(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error) {
|
||||||
|
GiGaAPIResult *reult = [[GiGaAPIResult alloc] initWithDictionary:resDic];
|
||||||
[self.view hideToastActivity];
|
[self.view hideToastActivity];
|
||||||
btn.userInteractionEnabled = YES;
|
btn.userInteractionEnabled = YES;
|
||||||
if (result.success) {
|
if (reult.success) {
|
||||||
GIGA_WIndowTost(result.message);
|
GIGA_WIndowTost(reult.message);
|
||||||
[self.navigationController popViewControllerAnimated:YES];
|
[self.navigationController popViewControllerAnimated:YES];
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
if (result.code == 401) {
|
if (reult.code == 401) {
|
||||||
//token失效
|
//token失效
|
||||||
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
||||||
}
|
}
|
||||||
GIGA_WIndowTost(result.message);
|
GIGA_WIndowTost(reult.message);
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
#import "GiGaChangePhoneNumberVC.h"
|
#import "GiGaChangePhoneNumberVC.h"
|
||||||
#import "GIGaUserChangeMobleCell.h"
|
#import "GIGaUserChangeMobleCell.h"
|
||||||
#import "GiGaBaseAPiRequest.h"
|
#import "GiGaBaseAPiRequest.h"
|
||||||
|
#import "NSTimer+Convenience.h"
|
||||||
//typedef NS_ENUM(NSInteger,PohoneCodeType)
|
//typedef NS_ENUM(NSInteger,PohoneCodeType)
|
||||||
//{
|
//{
|
||||||
// PohoneCodeTypeOld = 0,//原手机号
|
// PohoneCodeTypeOld = 0,//原手机号
|
||||||
|
|
@ -23,6 +23,9 @@
|
||||||
@property(nonatomic) BOOL nextSteep;
|
@property(nonatomic) BOOL nextSteep;
|
||||||
@property(nonatomic,copy) NSString *oldCode;
|
@property(nonatomic,copy) NSString *oldCode;
|
||||||
@property(nonatomic,copy) NSString *xinCode;
|
@property(nonatomic,copy) NSString *xinCode;
|
||||||
|
@property(nonatomic,strong) NSTimer*timer;
|
||||||
|
@property(nonatomic) NSInteger time;
|
||||||
|
@property(nonatomic,strong) UIButton *codeBtn;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation GiGaChangePhoneNumberVC
|
@implementation GiGaChangePhoneNumberVC
|
||||||
|
|
@ -31,6 +34,7 @@
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
[self addNavTitile:@"修改手机号"];
|
[self addNavTitile:@"修改手机号"];
|
||||||
_nextSteep = NO;
|
_nextSteep = NO;
|
||||||
|
_time = 60;
|
||||||
// Do any additional setup after loading the view from its nib.
|
// Do any additional setup after loading the view from its nib.
|
||||||
[self.view addSubview:self.tableView];
|
[self.view addSubview:self.tableView];
|
||||||
self.tableView.delegate = self;
|
self.tableView.delegate = self;
|
||||||
|
|
@ -63,8 +67,11 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
[cell.codeSendBtn addTarget:self action:@selector(sendCodeBtnAction:) forControlEvents:UIControlEventTouchUpInside];
|
[cell.codeSendBtn addTarget:self action:@selector(sendCodeBtnAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
self.codeBtn = cell.codeSendBtn;
|
||||||
if (_nextSteep) {
|
if (_nextSteep) {
|
||||||
cell.numberTexFiled.userInteractionEnabled = YES;
|
cell.numberTexFiled.userInteractionEnabled = YES;
|
||||||
|
cell.numberTexFiled.text = @"";
|
||||||
|
cell.numberTexFiled.placeholder = @"请输入新手机号";
|
||||||
cell.oldBtn.backgroundColor = GIGARGB(227, 227, 227, 1);
|
cell.oldBtn.backgroundColor = GIGARGB(227, 227, 227, 1);
|
||||||
|
|
||||||
NSAttributedString *atti1 = [GiGaHelper stringWithText:@"1.验证原号码" textColor:GIGARGB(165,165, 165, 1) textFont:GIGA_TEXTFONTMEDIUM(13) leterSpace:0];
|
NSAttributedString *atti1 = [GiGaHelper stringWithText:@"1.验证原号码" textColor:GIGARGB(165,165, 165, 1) textFont:GIGA_TEXTFONTMEDIUM(13) leterSpace:0];
|
||||||
|
|
@ -78,6 +85,10 @@
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
|
GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser];
|
||||||
|
if (user.mobileMask) {
|
||||||
|
cell.numberTexFiled.text = user.mobileMask;
|
||||||
|
}
|
||||||
cell.numberTexFiled.userInteractionEnabled = NO;
|
cell.numberTexFiled.userInteractionEnabled = NO;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -117,6 +128,7 @@
|
||||||
NSAttributedString *attrititle = [GiGaHelper stringWithText:@"完成" textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTBOLD(16) leterSpace:0];
|
NSAttributedString *attrititle = [GiGaHelper stringWithText:@"完成" textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTBOLD(16) leterSpace:0];
|
||||||
[nextBtn setAttributedTitle:attrititle forState:UIControlStateNormal];
|
[nextBtn setAttributedTitle:attrititle forState:UIControlStateNormal];
|
||||||
}
|
}
|
||||||
|
|
||||||
[view addSubview:nextBtn];
|
[view addSubview:nextBtn];
|
||||||
|
|
||||||
UILabel *tishiLab = [[UILabel alloc] init];
|
UILabel *tishiLab = [[UILabel alloc] init];
|
||||||
|
|
@ -213,6 +225,8 @@
|
||||||
#pragma mark - 发送验证码
|
#pragma mark - 发送验证码
|
||||||
-(void)sendCodeBtnAction:(UIButton *)btn{
|
-(void)sendCodeBtnAction:(UIButton *)btn{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (_nextSteep) {
|
if (_nextSteep) {
|
||||||
GIGaUserChangeMobleCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
|
GIGaUserChangeMobleCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
|
||||||
if (cell.numberTexFiled.text.length == 0) {
|
if (cell.numberTexFiled.text.length == 0) {
|
||||||
|
|
@ -220,6 +234,8 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
btn.userInteractionEnabled = NO;
|
||||||
|
[self startTimer:btn];
|
||||||
self.xinCode = cell.codeTexFiled.text;
|
self.xinCode = cell.codeTexFiled.text;
|
||||||
[self sendCodeWith:cell.numberTexFiled.text];
|
[self sendCodeWith:cell.numberTexFiled.text];
|
||||||
|
|
||||||
|
|
@ -230,11 +246,32 @@
|
||||||
GILog(@"手机号为空");
|
GILog(@"手机号为空");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
btn.userInteractionEnabled = NO;
|
||||||
|
[self startTimer:btn];
|
||||||
[self sendCodeWith:user.mobile];
|
[self sendCodeWith:user.mobile];
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//计时
|
||||||
|
-(void)startTimer:(UIButton *)btn{
|
||||||
|
|
||||||
|
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 codeBtnStateNormal];
|
||||||
|
}
|
||||||
|
|
||||||
|
}];
|
||||||
|
[[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
-(void)sendCodeWith:(NSString *)phone{
|
-(void)sendCodeWith:(NSString *)phone{
|
||||||
NSString *utl = nil;
|
NSString *utl = nil;
|
||||||
if (_nextSteep) {
|
if (_nextSteep) {
|
||||||
|
|
@ -244,14 +281,27 @@
|
||||||
}
|
}
|
||||||
GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:utl method:RequestPostMethod parms:@{@"mobile":phone}];
|
GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:utl method:RequestPostMethod parms:@{@"mobile":phone}];
|
||||||
[api requstDataWithResult:^(GiGaAPIResult *result) {
|
[api requstDataWithResult:^(GiGaAPIResult *result) {
|
||||||
|
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
GIGA_ShowToast(@"已发送");
|
GIGA_ShowToast(@"已发送");
|
||||||
}else{
|
}else{
|
||||||
|
[self codeBtnStateNormal];
|
||||||
GIGA_ShowToast(result.message);
|
GIGA_ShowToast(result.message);
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-(void)codeBtnStateNormal{
|
||||||
|
|
||||||
|
NSAttributedString *att = [GiGaHelper stringWithText:@"发送验证码" textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTBOLD(10) leterSpace:0];
|
||||||
|
[self.codeBtn setAttributedTitle:att forState:UIControlStateNormal];
|
||||||
|
|
||||||
|
self.time =60;
|
||||||
|
self.codeBtn.userInteractionEnabled = YES;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark - 验证手机验证码
|
#pragma mark - 验证手机验证码
|
||||||
-(void)verifyPhoneCode:(NSString *)phonenumber code:(NSString *)code btn:(UIButton *)btn
|
-(void)verifyPhoneCode:(NSString *)phonenumber code:(NSString *)code btn:(UIButton *)btn
|
||||||
{
|
{
|
||||||
|
|
@ -261,7 +311,9 @@
|
||||||
[api requstDataWithResult:^(GiGaAPIResult *result) {
|
[api requstDataWithResult:^(GiGaAPIResult *result) {
|
||||||
|
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
|
|
||||||
if (self.nextSteep) {
|
if (self.nextSteep) {
|
||||||
|
|
||||||
//验证码通过 完成
|
//验证码通过 完成
|
||||||
[self finishBtn:btn wtihNewPhone:phonenumber];
|
[self finishBtn:btn wtihNewPhone:phonenumber];
|
||||||
|
|
||||||
|
|
@ -270,6 +322,7 @@
|
||||||
[self.view hideToastActivity];
|
[self.view hideToastActivity];
|
||||||
self.nextSteep = YES;
|
self.nextSteep = YES;
|
||||||
self.oldCode = code;
|
self.oldCode = code;
|
||||||
|
[self codeBtnStateNormal];
|
||||||
[self.tableView reloadData];
|
[self.tableView reloadData];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -281,7 +334,10 @@
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-(void)dealloc{
|
||||||
|
[self.timer invalidate];
|
||||||
|
self.timer = nil;
|
||||||
|
}
|
||||||
- (void)didReceiveMemoryWarning {
|
- (void)didReceiveMemoryWarning {
|
||||||
[super didReceiveMemoryWarning];
|
[super didReceiveMemoryWarning];
|
||||||
// Dispose of any resources that can be recreated.
|
// Dispose of any resources that can be recreated.
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@
|
||||||
|
|
||||||
@interface GiGaFeedBackViewController ()
|
@interface GiGaFeedBackViewController ()
|
||||||
@property(nonatomic,strong) NSMutableArray *imagesUrl;
|
@property(nonatomic,strong) NSMutableArray *imagesUrl;
|
||||||
|
@property(nonatomic,copy) NSString *kinCode;
|
||||||
|
@property(nonatomic,strong) UIButton *tijiaoBtn;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
@ -29,6 +31,7 @@
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
[self addNavTitile:@"意见反馈"];
|
[self addNavTitile:@"意见反馈"];
|
||||||
_imagesUrl = [NSMutableArray new];
|
_imagesUrl = [NSMutableArray new];
|
||||||
|
self.kinCode = @"1";
|
||||||
[self.view addSubview:self.tableView];
|
[self.view addSubview:self.tableView];
|
||||||
self.tableView.delegate = self;
|
self.tableView.delegate = self;
|
||||||
self.tableView.dataSource = self;
|
self.tableView.dataSource = self;
|
||||||
|
|
@ -50,9 +53,10 @@
|
||||||
btn.frame = CGRectMake((self.view.frame.size.width - 245) /2 , 20, 245,40);
|
btn.frame = CGRectMake((self.view.frame.size.width - 245) /2 , 20, 245,40);
|
||||||
btn.backgroundColor = [UIColor whiteColor];
|
btn.backgroundColor = [UIColor whiteColor];
|
||||||
NSAttributedString *atti = [GiGaHelper stringWithText:@"提交" textColor:GIGA_MAIN_BGCOLOR textFont:GIGA_TEXTFONTBOLD(18) leterSpace:0];
|
NSAttributedString *atti = [GiGaHelper stringWithText:@"提交" textColor:GIGA_MAIN_BGCOLOR textFont:GIGA_TEXTFONTBOLD(18) leterSpace:0];
|
||||||
[btn addTarget:self action:@selector(tijiaoAction) forControlEvents:UIControlEventTouchUpInside];
|
[btn addTarget:self action:@selector(tijiaoAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||||
[btn setAttributedTitle:atti forState:UIControlStateNormal];
|
[btn setAttributedTitle:atti forState:UIControlStateNormal];
|
||||||
[footer addSubview:btn];
|
[footer addSubview:btn];
|
||||||
|
self.tijiaoBtn = btn;
|
||||||
self.tableView.tableFooterView = footer;
|
self.tableView.tableFooterView = footer;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -93,13 +97,12 @@
|
||||||
__weak typeof(cell) weakCell = cell;
|
__weak typeof(cell) weakCell = cell;
|
||||||
cell.pickerBalock = ^{
|
cell.pickerBalock = ^{
|
||||||
[[SJPhotoPicker shareSJPhotoPicker] showPhotoPickerToController:self pickedAssets:^(NSArray<PHAsset *> *assets) {
|
[[SJPhotoPicker shareSJPhotoPicker] showPhotoPickerToController:self pickedAssets:^(NSArray<PHAsset *> *assets) {
|
||||||
// 添加按钮6张以上被遮挡可不写
|
|
||||||
// if ((weakCell.images.count + assets.count) > 6) {
|
if ((weakCell.images.count + assets.count) > 6) {
|
||||||
// GIGA_ShowToast(@"最多六张");
|
GIGA_ShowToast(@"最多六张");
|
||||||
// return ;
|
return ;
|
||||||
// }
|
}
|
||||||
[weakCell.images addObjectsFromArray:assets];
|
[weakCell.images addObjectsFromArray:assets];
|
||||||
//weakSelf.images = [NSMutableArray arrayWithArray:assets];
|
|
||||||
[weakCell.collectionView reloadData];
|
[weakCell.collectionView reloadData];
|
||||||
|
|
||||||
}];
|
}];
|
||||||
|
|
@ -115,9 +118,11 @@
|
||||||
if (indexPath.section == 0) {
|
if (indexPath.section == 0) {
|
||||||
|
|
||||||
GiGaFeedBackKindView *piker = [GiGaFeedBackKindView showAt:self atRow:0];
|
GiGaFeedBackKindView *piker = [GiGaFeedBackKindView showAt:self atRow:0];
|
||||||
piker.selectedItemBlock = ^(NSString *tile) {
|
|
||||||
GiGaFeedLeiIingViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
|
piker.selectedItemBlock = ^(GIGaFeedKind *kind) {
|
||||||
cell.kidLabel.text = tile;
|
GiGaFeedLeiIingViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
|
||||||
|
cell.kidLabel.text = kind.dictLabel;
|
||||||
|
self.kinCode = kind.dictCode;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -166,7 +171,7 @@
|
||||||
|
|
||||||
#pragma mark 提交
|
#pragma mark 提交
|
||||||
|
|
||||||
-(void)tijiaoAction{
|
-(void)tijiaoAction:(UIButton *)btn{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -190,19 +195,27 @@
|
||||||
NSDictionary *dic =nil;
|
NSDictionary *dic =nil;
|
||||||
NSString *qqcom = qqcell.QTextFiled.text;
|
NSString *qqcom = qqcell.QTextFiled.text;
|
||||||
if (!qqcom) {
|
if (!qqcom) {
|
||||||
dic = @{@"type":kindcell.kidLabel.text,@"content":contencell.contentFiled.text};
|
qqcom = @"contact";
|
||||||
}else{
|
}
|
||||||
dic = @{@"type":kindcell.kidLabel.text,@"content":contencell.contentFiled.text,@"contact":qqcom
|
|
||||||
};
|
dic = @{@"type":self.kinCode,@"content":contencell.contentFiled.text,@"contact":qqcom
|
||||||
|
};
|
||||||
|
//图片非必选
|
||||||
|
if (self.imagesUrl.count <= 0) {
|
||||||
|
//未选择图片 设置空数组
|
||||||
|
[self uploadFeedinfo:dic imgUrlList:self.imagesUrl];
|
||||||
|
|
||||||
|
}else{
|
||||||
|
////获取图片链接
|
||||||
|
[self uploadImags:dic];
|
||||||
}
|
}
|
||||||
|
|
||||||
[self.imagesUrl removeAllObjects];
|
|
||||||
[self uploadImags:dic];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//先上传图片获取到 imageurls 再 提交内容信息
|
|
||||||
|
|
||||||
|
//先上传图片获取到 imageurls 再 提交内容信息
|
||||||
-(void)uploadImags:(NSDictionary *)params{
|
-(void)uploadImags:(NSDictionary *)params{
|
||||||
|
[self.imagesUrl removeAllObjects];
|
||||||
|
|
||||||
GIGaFeedPhontosViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:3]];
|
GIGaFeedPhontosViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:3]];
|
||||||
NSArray *names =cell.imageNames;
|
NSArray *names =cell.imageNames;
|
||||||
|
|
@ -233,15 +246,14 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 单张上传
|
// 单张上传
|
||||||
|
|
||||||
-(void)uploadImage:(NSData *)imageData name:(NSString *)name info:(NSDictionary *)info totalCount:(NSInteger)count{
|
-(void)uploadImage:(NSData *)imageData name:(NSString *)name info:(NSDictionary *)info totalCount:(NSInteger)count{
|
||||||
[self.view makeToastActivity:CSToastPositionCenter];
|
[self.view makeToastActivity:CSToastPositionCenter];
|
||||||
|
self.tijiaoBtn.userInteractionEnabled = NO;
|
||||||
NSString *url = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],kUploadFeed];
|
NSString *url = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],kUploadFeed];
|
||||||
[GiGaNetManager uploadImage:url imgData:imageData parms:@{@"file":@"file"} responseBlock:^(NSDictionary *responseDict, NSDictionary *responseHeaderFields, NSError *error) {
|
[GiGaNetManager uploadImage:url imgData:imageData parms:@{@"file":@"file"} responseBlock:^(NSDictionary *responseDict, NSDictionary *responseHeaderFields, NSError *error) {
|
||||||
[self.view hideToastActivity];
|
[self.view hideToastActivity];
|
||||||
|
|
@ -251,7 +263,8 @@
|
||||||
|
|
||||||
NSString *url = responseDict[@"url"];
|
NSString *url = responseDict[@"url"];
|
||||||
if (url) {
|
if (url) {
|
||||||
[self.imagesUrl addObject:url];
|
NSDictionary *dic = [NSDictionary dictionaryWithObject:url forKey:@"imgUrl"];
|
||||||
|
[self.imagesUrl addObject:dic];
|
||||||
NSLog(@"上船图片%@成功",name);
|
NSLog(@"上船图片%@成功",name);
|
||||||
NSLog(@"当前获取图片数组:%@",self.imagesUrl);
|
NSLog(@"当前获取图片数组:%@",self.imagesUrl);
|
||||||
if (self.imagesUrl.count == count) {
|
if (self.imagesUrl.count == count) {
|
||||||
|
|
@ -260,25 +273,29 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if (result.code == 401){
|
}else if (result.code == 401){
|
||||||
|
self.tijiaoBtn.userInteractionEnabled = YES;
|
||||||
GIGA_WIndowTost(@"登录超时,请重新登录");
|
GIGA_WIndowTost(@"登录超时,请重新登录");
|
||||||
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
GIGA_ShowToast(result.message);
|
GIGA_ShowToast(result.message);
|
||||||
|
self.tijiaoBtn.userInteractionEnabled = YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
//body 传参数
|
|
||||||
|
|
||||||
|
//body 传参数
|
||||||
-(void)uploadFeedinfo:(NSDictionary*)params imgUrlList:(NSArray *)urlArr{
|
-(void)uploadFeedinfo:(NSDictionary*)params imgUrlList:(NSArray *)urlArr{
|
||||||
|
|
||||||
NSMutableDictionary *finallyparam = [NSMutableDictionary dictionaryWithDictionary:params];
|
NSMutableDictionary *finallyparam = [NSMutableDictionary dictionaryWithDictionary:params];
|
||||||
[finallyparam setObject:urlArr forKey:@"imgUrlList"];
|
[finallyparam setObject:urlArr forKey:@"imgUrlList"];
|
||||||
|
|
||||||
NSLog(@"finallyparam%@",finallyparam);
|
NSLog(@"finallyparam%@",finallyparam);
|
||||||
[self.view makeToastActivity:CSToastPositionCenter];
|
[self.view makeToastActivity:CSToastPositionCenter];
|
||||||
NSString *url = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],kAPiUpLoadFeeeds];
|
NSString *url = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],kAPiUpLoadFeeeds];
|
||||||
[GiGaNetManager userbodyRequest:url params:finallyparam completionHandler:^(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error) {
|
[GiGaNetManager userbodyRequest:url params:finallyparam completionHandler:^(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error) {
|
||||||
|
self.tijiaoBtn.userInteractionEnabled = YES;
|
||||||
[self.view hideToastActivity];
|
[self.view hideToastActivity];
|
||||||
if (error) {
|
if (error) {
|
||||||
GILog(@"err:%@",error.localizedDescription);
|
GILog(@"err:%@",error.localizedDescription);
|
||||||
|
|
@ -289,7 +306,10 @@
|
||||||
GiGaAPIResult *result = [[GiGaAPIResult alloc] initWithDictionary:resDic];
|
GiGaAPIResult *result = [[GiGaAPIResult alloc] initWithDictionary:resDic];
|
||||||
|
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
GIGA_ShowToast(@"🙏感谢提出宝贵意见!🙏");
|
|
||||||
|
GIGA_WIndowTost(@"感谢提出宝贵意见!");
|
||||||
|
[self.navigationController popViewControllerAnimated:YES];
|
||||||
|
|
||||||
}else if (result.code == 401){
|
}else if (result.code == 401){
|
||||||
GIGA_WIndowTost(@"登录超时,请重新登录");
|
GIGA_WIndowTost(@"登录超时,请重新登录");
|
||||||
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
||||||
|
|
@ -326,6 +346,7 @@
|
||||||
// }
|
// }
|
||||||
// }];
|
// }];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)didReceiveMemoryWarning {
|
- (void)didReceiveMemoryWarning {
|
||||||
[super didReceiveMemoryWarning];
|
[super didReceiveMemoryWarning];
|
||||||
// Dispose of any resources that can be recreated.
|
// Dispose of any resources that can be recreated.
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
#import "UIImageView+WebCache.h"
|
#import "UIImageView+WebCache.h"
|
||||||
#import "GiGaUserInfoVC.h"
|
#import "GiGaUserInfoVC.h"
|
||||||
#import "GIGaMaskTimeUseRecordVC.h"
|
#import "GIGaMaskTimeUseRecordVC.h"
|
||||||
|
#import "MaskTestResultVC.h"
|
||||||
|
|
||||||
@interface GiGaMeViewController ()
|
@interface GiGaMeViewController ()
|
||||||
@property (nonatomic,strong) GiGaUser *user;
|
@property (nonatomic,strong) GiGaUser *user;
|
||||||
|
|
@ -152,9 +153,11 @@
|
||||||
[self.navigationController pushViewController:historyVC animated:YES];
|
[self.navigationController pushViewController:historyVC animated:YES];
|
||||||
|
|
||||||
}else if (indexPath.section == 1 && indexPath.row == 1){
|
}else if (indexPath.section == 1 && indexPath.row == 1){
|
||||||
//使用记录
|
//历史测试
|
||||||
GIGaMaskTimeUseRecordVC *historyVC= [[GIGaMaskTimeUseRecordVC alloc] init];
|
// GIGaMaskTimeUseRecordVC *historyVC= [[GIGaMaskTimeUseRecordVC alloc] init];
|
||||||
[self.navigationController pushViewController:historyVC animated:YES];
|
// [self.navigationController pushViewController:historyVC animated:YES];
|
||||||
|
MaskTestResultVC *reult = [[MaskTestResultVC alloc] init];
|
||||||
|
[self.navigationController pushViewController:reult animated:YES];
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
//系统设置
|
//系统设置
|
||||||
|
|
|
||||||
|
|
@ -113,12 +113,12 @@
|
||||||
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserIDViewCell" owner:self options:nil] lastObject];
|
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserIDViewCell" owner:self options:nil] lastObject];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[cell loadCellData:indexPath user: self.user];
|
[cell loadCellData:indexPath user: self.user];
|
||||||
|
|
||||||
return cell;
|
return cell;
|
||||||
|
|
||||||
}else if (indexPath.section == 1 && indexPath.row <= 2){
|
}else if (indexPath.section == 1 && indexPath.row <= 2){
|
||||||
|
|
||||||
GIGaUserWeChatViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GIGaUserWeChatViewCell"];
|
GIGaUserWeChatViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GIGaUserWeChatViewCell"];
|
||||||
if(!cell){
|
if(!cell){
|
||||||
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserWeChatViewCell" owner:self options:nil] lastObject];
|
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserWeChatViewCell" owner:self options:nil] lastObject];
|
||||||
|
|
@ -157,14 +157,23 @@
|
||||||
cell = [[GiGaUserJobViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];
|
cell = [[GiGaUserJobViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[cell userSelectjobAction:^() {
|
[cell userSelectjobAction:^() {
|
||||||
self.jobSpread = !self.jobSpread;
|
self.jobSpread = !self.jobSpread;
|
||||||
[tableView reloadSections:[NSIndexSet indexSetWithIndex:3] withRowAnimation:UITableViewRowAnimationNone];
|
[UIView performWithoutAnimation:^{
|
||||||
|
[tableView reloadSections:[NSIndexSet indexSetWithIndex:3] withRowAnimation:UITableViewRowAnimationNone];
|
||||||
|
|
||||||
|
}];
|
||||||
}];
|
}];
|
||||||
[cell setButtnImage:self.jobSpread with:self.jobArr];
|
[cell setButtnImage:self.jobSpread with:self.jobArr];
|
||||||
[cell userSelectjob:^(NSString *title) {
|
[cell userSelectjob:^(NSString *title) {
|
||||||
self.user.occupationCode = title;
|
self.user.occupationCode = title;
|
||||||
[tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:3 inSection:2]] withRowAnimation:UITableViewRowAnimationNone];
|
|
||||||
|
[UIView performWithoutAnimation:^{
|
||||||
|
[tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:3 inSection:2]] withRowAnimation:UITableViewRowAnimationNone];
|
||||||
|
|
||||||
|
}];
|
||||||
|
|
||||||
}];
|
}];
|
||||||
|
|
||||||
return cell;
|
return cell;
|
||||||
|
|
@ -180,7 +189,7 @@
|
||||||
weakify(self);
|
weakify(self);
|
||||||
[LYSDatePickerController customdidSelectDatePicker:^(NSDate *date) {
|
[LYSDatePickerController customdidSelectDatePicker:^(NSDate *date) {
|
||||||
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
|
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
|
||||||
[dateFormat setDateFormat:@"yyyy/MM/dd"];
|
[dateFormat setDateFormat:@"yyyy-MM-dd"];
|
||||||
NSString *currentDate = [dateFormat stringFromDate:date];
|
NSString *currentDate = [dateFormat stringFromDate:date];
|
||||||
GIGaUserCityViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
|
GIGaUserCityViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
|
||||||
weakSelf.user.birthday = currentDate;
|
weakSelf.user.birthday = currentDate;
|
||||||
|
|
@ -507,9 +516,10 @@
|
||||||
if (newurl) {
|
if (newurl) {
|
||||||
user.headImgUrl = newurl;
|
user.headImgUrl = newurl;
|
||||||
}
|
}
|
||||||
|
|
||||||
[[GiGaUserManager shareUser] saveUser:user];
|
[[GiGaUserManager shareUser] saveUser:user];
|
||||||
NC_POST_NAME_OBJECT(kUserAvatorUpdateNoti, nil);
|
NC_POST_NAME_OBJECT(kUserAvatorUpdateNoti, nil);
|
||||||
GIGA_ShowToast(@"👮♀️修改成功")
|
GIGA_ShowToast(@"修改成功")
|
||||||
}else{
|
}else{
|
||||||
GIGA_ShowToast(reullt.message);
|
GIGA_ShowToast(reullt.message);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,23 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#import "GiMaskTimeHistoryVC.h"
|
#import "GiMaskTimeHistoryVC.h"
|
||||||
|
#import "MaskHistoryListViewCell.h"
|
||||||
|
#import "MasHistoryFirstViewCell.h"
|
||||||
|
#import "GiGaBaseAPiRequest.h"
|
||||||
|
#import "MaskHistryRecord.h"
|
||||||
|
#import <MJRefresh/MJRefresh.h>
|
||||||
|
#import "GiGaWebViewController.h"
|
||||||
|
@interface GiMaskTimeHistoryVC ()<UITableViewDelegate,UITableViewDataSource>
|
||||||
|
|
||||||
|
@property(nonatomic,strong) NSMutableArray *dataArr;
|
||||||
|
@property(nonatomic) NSUInteger currentPage;
|
||||||
|
@property(nonatomic,assign) NSInteger totalMinute;
|
||||||
|
@property(nonatomic,assign) NSInteger ranking;
|
||||||
|
@property(nonatomic,assign) NSUInteger totalPage;
|
||||||
|
//@property(nonatomic,strong) MaskHistryRecordlist *record;
|
||||||
|
@property(nonatomic,copy) NSString * guizeUrl;
|
||||||
|
@property(nonatomic) BOOL isFreshing;
|
||||||
|
|
||||||
@interface GiMaskTimeHistoryVC ()
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
@ -16,8 +31,131 @@
|
||||||
|
|
||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
|
self.dataArr = [[NSMutableArray alloc] init];
|
||||||
|
_currentPage = 1;
|
||||||
|
_totalMinute = 0;
|
||||||
|
_ranking = 0;
|
||||||
|
_isFreshing = NO;
|
||||||
[self addNavTitile:@"历史记录"];
|
[self addNavTitile:@"历史记录"];
|
||||||
// Do any additional setup after loading the view.
|
// Do any additional setup after loading the view.
|
||||||
|
[self.view addSubview:self.tableView];
|
||||||
|
self.tableView.delegate = self;
|
||||||
|
self.tableView.dataSource = self;
|
||||||
|
self.tableView.backgroundColor = [UIColor whiteColor];
|
||||||
|
self.tableView.separatorStyle = UITableViewCellSelectionStyleNone;
|
||||||
|
self.tableView.sectionFooterHeight = 0;
|
||||||
|
self.tableView.estimatedSectionFooterHeight= 0;
|
||||||
|
self.tableView.estimatedSectionHeaderHeight = 0;
|
||||||
|
self.tableView.frame = CGRectMake(0,2, KMainW, self.view.bounds.size.height - SAFE_NAV_HEIGHT);
|
||||||
|
self.tableView.estimatedRowHeight = 170;
|
||||||
|
self.tableView.rowHeight = UITableViewAutomaticDimension;
|
||||||
|
|
||||||
|
[self creatRefreshView];
|
||||||
|
[self loadDataWtih:[NSString stringWithFormat:@"%ld",_currentPage] isFresh:YES];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
|
||||||
|
return 2;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||||
|
if(indexPath.section ==0){
|
||||||
|
MasHistoryFirstViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MasHistoryFirstViewCell"];
|
||||||
|
if(!cell){
|
||||||
|
cell = [[[NSBundle mainBundle] loadNibNamed:@"MasHistoryFirstViewCell" owner:self options:nil] lastObject];
|
||||||
|
|
||||||
|
}
|
||||||
|
cell.timeLabe.text = [NSString stringWithFormat:@"%ld",(long)self.totalMinute];
|
||||||
|
|
||||||
|
cell.rankLabe.text = [NSString stringWithFormat:@"全国排行榜第%ld名",(long)self.ranking];
|
||||||
|
[cell.guizeBtn addTarget:self action:@selector(guizeShow) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
return cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
MaskHistoryListViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MaskHistoryListViewCell"];
|
||||||
|
if(!cell){
|
||||||
|
cell = [[[NSBundle mainBundle] loadNibNamed:@"MaskHistoryListViewCell" owner:self options:nil] lastObject];
|
||||||
|
|
||||||
|
}
|
||||||
|
MaskHistryRecord *recod = self.dataArr[indexPath.row];
|
||||||
|
[cell loadCellDataAt:indexPath recod:recod];
|
||||||
|
return cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
|
||||||
|
if (section == 0) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return self.dataArr.count;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
|
||||||
|
{
|
||||||
|
return UITableViewAutomaticDimension;
|
||||||
|
}
|
||||||
|
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
|
||||||
|
if (section == 1) {
|
||||||
|
return 6;
|
||||||
|
}
|
||||||
|
return 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
|
||||||
|
UIView *view = [[UIView alloc] init];
|
||||||
|
view.backgroundColor = GIGARGB(235, 235, 235, 1);
|
||||||
|
return view;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)loadDataWtih:(NSString *)page isFresh:(BOOL)isFresh{
|
||||||
|
self.isFreshing = YES;
|
||||||
|
[self.view makeToastActivity:CSToastPositionCenter];
|
||||||
|
GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:kApiUserHistoryList method:RequestPostMethod parms:@{@"page":page,@"limit":@"10"}];
|
||||||
|
[api requstDataWithResult:^(GiGaAPIResult *result) {
|
||||||
|
[self.view hideToastActivity];
|
||||||
|
self.isFreshing = NO;
|
||||||
|
if (isFresh) {
|
||||||
|
[self.tableView.mj_header endRefreshing];
|
||||||
|
}else{
|
||||||
|
[self.tableView.mj_footer endRefreshing];
|
||||||
|
}
|
||||||
|
if (result.success) {
|
||||||
|
NSDictionary *reDic =result.dic;
|
||||||
|
|
||||||
|
self.ranking = [[reDic valueForKey:@"ranking"] integerValue];
|
||||||
|
self.totalMinute = [[reDic valueForKey:@"totalMinute"] integerValue] ;
|
||||||
|
self.guizeUrl = [reDic valueForKey:@"ruleUrl"];
|
||||||
|
|
||||||
|
|
||||||
|
NSDictionary *pageDic = reDic[@"page"];
|
||||||
|
|
||||||
|
//self.currentPage = [pageDic valueForKey:@"currPage"];
|
||||||
|
|
||||||
|
MaskHistryRecordlist *list = [[MaskHistryRecordlist alloc] initWithDictionary:pageDic error:nil];
|
||||||
|
|
||||||
|
self.totalPage = [pageDic[@"totalPage"] integerValue];
|
||||||
|
NSArray *listA = list.list;
|
||||||
|
if (isFresh) {
|
||||||
|
[self.dataArr removeAllObjects];
|
||||||
|
}
|
||||||
|
for (MaskHistryRecord *recod in listA) {
|
||||||
|
[self.dataArr addObject:recod];
|
||||||
|
}
|
||||||
|
|
||||||
|
[self.tableView reloadData];
|
||||||
|
|
||||||
|
}else if (result.code == 401) {
|
||||||
|
//token失效
|
||||||
|
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
||||||
|
}else{
|
||||||
|
GIGA_ShowToast(result.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)didReceiveMemoryWarning {
|
- (void)didReceiveMemoryWarning {
|
||||||
|
|
@ -25,14 +163,55 @@
|
||||||
// Dispose of any resources that can be recreated.
|
// Dispose of any resources that can be recreated.
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
-(void)creatRefreshView{
|
||||||
#pragma mark - Navigation
|
|
||||||
|
self.tableView.mj_header = [MJRefreshHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
|
||||||
|
self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMore)];
|
||||||
|
|
||||||
// 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.
|
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
-(void)headerRefresh{
|
||||||
|
if (_isFreshing) {
|
||||||
|
[self.tableView.mj_header endRefreshing];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
[self loadDataWtih:@"0" isFresh:YES];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)loadMore{
|
||||||
|
|
||||||
|
if (_isFreshing) {
|
||||||
|
[self.tableView.mj_footer endRefreshing];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_currentPage == _totalPage) {
|
||||||
|
[self.tableView.mj_footer endRefreshingWithNoMoreData];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (_currentPage < _totalPage) {
|
||||||
|
_currentPage ++;
|
||||||
|
[self loadDataWtih:[NSString stringWithFormat:@"%ld",self.currentPage] isFresh:NO];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//规则
|
||||||
|
-(void)guizeShow{
|
||||||
|
|
||||||
|
if (self.guizeUrl) {
|
||||||
|
|
||||||
|
GiGaWebViewController *web = [[GiGaWebViewController alloc] init];
|
||||||
|
web.souceType = WebSourceTypeUrlLink;
|
||||||
|
web.url = self.guizeUrl;
|
||||||
|
[self.navigationController pushViewController:web animated:YES];
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
#import "AppVerionDescriptionVC.h"
|
#import "AppVerionDescriptionVC.h"
|
||||||
#import "GIGaAboutUsVC.h"
|
#import "GIGaAboutUsVC.h"
|
||||||
#import "GiGaFeedBackViewController.h"
|
#import "GiGaFeedBackViewController.h"
|
||||||
|
#import "GiGaWebViewController.h"
|
||||||
@interface GiSysSettingsVC ()
|
@interface GiSysSettingsVC ()
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
@ -78,10 +78,15 @@
|
||||||
GIGaAboutUsVC *usVC= [[GIGaAboutUsVC alloc] init];
|
GIGaAboutUsVC *usVC= [[GIGaAboutUsVC alloc] init];
|
||||||
[self.navigationController pushViewController:usVC animated:YES];
|
[self.navigationController pushViewController:usVC animated:YES];
|
||||||
}else if (indexPath.row == 3){
|
}else if (indexPath.row == 3){
|
||||||
AppVerionDescriptionVC *verVC =[[AppVerionDescriptionVC alloc] init];
|
// AppVerionDescriptionVC *verVC =[[AppVerionDescriptionVC alloc] init];
|
||||||
[self.navigationController pushViewController:verVC animated:YES];
|
// [self.navigationController pushViewController:verVC animated:YES];
|
||||||
}
|
|
||||||
|
|
||||||
|
GiGaWebViewController *webVC = [[GiGaWebViewController alloc] init];
|
||||||
|
webVC.url = @"";
|
||||||
|
webVC.souceType = WebSourceTypeUrlLink;
|
||||||
|
[self.navigationController pushViewController:webVC animated:YES];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -107,11 +112,10 @@
|
||||||
[btn setTitle:@"退出登录" forState:UIControlStateNormal];
|
[btn setTitle:@"退出登录" forState:UIControlStateNormal];
|
||||||
btn.layer.masksToBounds = YES;
|
btn.layer.masksToBounds = YES;
|
||||||
btn.layer.cornerRadius = btn.frame.size.height / 2;
|
btn.layer.cornerRadius = btn.frame.size.height / 2;
|
||||||
btn.backgroundColor = GIGA_MAIN_BGCOLOR;
|
btn.backgroundColor = GIGARGB(181, 14, 14, 1);
|
||||||
[btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
[btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||||
[btn addTarget:self action:@selector(userLogOutAction) forControlEvents:UIControlEventTouchUpInside];
|
[btn addTarget:self action:@selector(userLogOutAction) forControlEvents:UIControlEventTouchUpInside];
|
||||||
[view addSubview:btn];
|
[view addSubview:btn];
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,5 +11,7 @@
|
||||||
@interface GIGaFeedKind : JSONModel
|
@interface GIGaFeedKind : JSONModel
|
||||||
@property (nonatomic,copy) NSString *feed_id;
|
@property (nonatomic,copy) NSString *feed_id;
|
||||||
@property (nonatomic,copy) NSString *remarks;
|
@property (nonatomic,copy) NSString *remarks;
|
||||||
|
@property (nonatomic,copy) NSString *dictLabel;
|
||||||
|
@property (nonatomic,copy) NSString *dictCode;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
//
|
||||||
|
// MaskHistryRecord.h
|
||||||
|
// GIGA
|
||||||
|
//
|
||||||
|
// Created by lianxiang on 2018/9/25.
|
||||||
|
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <JSONModel/JSONModel.h>
|
||||||
|
//@class MaskHistryRecordlist;
|
||||||
|
|
||||||
|
@interface MaskHistryRecord : JSONModel
|
||||||
|
@property(nonatomic,copy) NSString *reocrd_id;
|
||||||
|
@property(nonatomic,copy) NSString *memberId;
|
||||||
|
@property(nonatomic,copy) NSString *skinType;
|
||||||
|
@property(nonatomic,copy) NSString *minute;
|
||||||
|
@property(nonatomic,copy) NSString *beginTime;
|
||||||
|
@property(nonatomic,copy) NSString *endTime;
|
||||||
|
@property(nonatomic,copy) NSString *dayNum;
|
||||||
|
@property(nonatomic,copy) NSString *num;
|
||||||
|
@property(nonatomic,copy) NSString *finishNum;
|
||||||
|
@property(nonatomic,copy) NSString *finishStatus;
|
||||||
|
@property(nonatomic,copy) NSString *useDate;
|
||||||
|
@property(nonatomic,copy) NSString *createTime;
|
||||||
|
@property(nonatomic,copy) NSString *updateTime;
|
||||||
|
@property(nonatomic,copy) NSString *skinTypeName;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@protocol MaskHistryRecord;
|
||||||
|
|
||||||
|
@interface MaskHistryRecordlist:JSONModel
|
||||||
|
@property(nonatomic) NSInteger totalCount;
|
||||||
|
@property(nonatomic) NSInteger pageSize;
|
||||||
|
@property(nonatomic) NSInteger totalPage;
|
||||||
|
@property(nonatomic) NSInteger currPage;
|
||||||
|
@property(nonatomic) NSArray <MaskHistryRecord> *list;
|
||||||
|
@property(nonatomic,copy) NSString *ruleUrl;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
//
|
||||||
|
// MaskHistryRecord.m
|
||||||
|
// GIGA
|
||||||
|
//
|
||||||
|
// Created by lianxiang on 2018/9/25.
|
||||||
|
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MaskHistryRecord.h"
|
||||||
|
|
||||||
|
|
||||||
|
@implementation MaskHistryRecord
|
||||||
|
|
||||||
|
+(JSONKeyMapper *)keyMapper{
|
||||||
|
return [[JSONKeyMapper alloc] initWithModelToJSONDictionary:@{@"reocrd_id":@"id"}];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (BOOL)propertyIsOptional:(NSString *)propertyName{
|
||||||
|
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation MaskHistryRecordlist
|
||||||
|
|
||||||
|
//+(JSONKeyMapper *)keyMapper{
|
||||||
|
// return [[JSONKeyMapper alloc] initWithModelToJSONDictionary:@{@"reocrd_id":@"id"}];
|
||||||
|
//}
|
||||||
|
|
||||||
|
+ (BOOL)propertyIsOptional:(NSString *)propertyName{
|
||||||
|
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -112,7 +112,6 @@
|
||||||
if ([self.imageNames containsObject: name]) {
|
if ([self.imageNames containsObject: name]) {
|
||||||
[self.imageNames removeObject:name];
|
[self.imageNames removeObject:name];
|
||||||
}
|
}
|
||||||
|
|
||||||
[self.imageNames addObject:name];
|
[self.imageNames addObject:name];
|
||||||
|
|
||||||
}];
|
}];
|
||||||
|
|
@ -140,8 +139,7 @@
|
||||||
|
|
||||||
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
|
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
|
||||||
{
|
{
|
||||||
//设置最小的列间距
|
//设置最小的列间
|
||||||
|
|
||||||
return 22.0f;
|
return 22.0f;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -164,9 +162,10 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-(void)addBtnAction:(UIButton*)btn{
|
-(void)addBtnAction:(UIButton*)btn{
|
||||||
|
|
||||||
if (self.pickerBalock) {
|
if (self.pickerBalock){
|
||||||
self.pickerBalock();
|
self.pickerBalock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,13 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#import "GIGaFeedKind.h"
|
||||||
|
|
||||||
@interface GiGaFeedBackKindView : UIViewController
|
@interface GiGaFeedBackKindView : UIViewController
|
||||||
typedef void (^SelectedItemBlock)(NSString *tile);
|
typedef void (^SelectedItemBlock)(GIGaFeedKind *kind);
|
||||||
|
|
||||||
+(GiGaFeedBackKindView *)showAt:(UIViewController *)vc atRow:(NSInteger)row;
|
+(GiGaFeedBackKindView *)showAt:(UIViewController *)vc atRow:(NSInteger)row;
|
||||||
@property(nonatomic,copy)NSString *showStr;
|
@property(nonatomic,strong)GIGaFeedKind *showKind;
|
||||||
@property(nonatomic) NSInteger defultRow;
|
@property(nonatomic) NSInteger defultRow;
|
||||||
@property (nonatomic, copy) SelectedItemBlock selectedItemBlock;
|
@property (nonatomic, copy) SelectedItemBlock selectedItemBlock;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@
|
||||||
[self.pickerView selectRow:self.defultRow inComponent:0 animated:YES];
|
[self.pickerView selectRow:self.defultRow inComponent:0 animated:YES];
|
||||||
GIGaFeedKind *mode = self.pickerDataArr[self.defultRow];
|
GIGaFeedKind *mode = self.pickerDataArr[self.defultRow];
|
||||||
if (mode) {
|
if (mode) {
|
||||||
self.showStr =mode.remarks;
|
self.showKind =mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
@ -123,7 +123,7 @@
|
||||||
label.textAlignment = NSTextAlignmentCenter;
|
label.textAlignment = NSTextAlignmentCenter;
|
||||||
label.textColor = [UIColor blackColor];
|
label.textColor = [UIColor blackColor];
|
||||||
GIGaFeedKind *mode = self.pickerDataArr[row];
|
GIGaFeedKind *mode = self.pickerDataArr[row];
|
||||||
label.text = mode.remarks;
|
label.text = mode.dictLabel;
|
||||||
}
|
}
|
||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
|
|
@ -135,8 +135,8 @@
|
||||||
|
|
||||||
if (self.pickerDataArr.count > 0 ) {
|
if (self.pickerDataArr.count > 0 ) {
|
||||||
GIGaFeedKind *mode = self.pickerDataArr[row];
|
GIGaFeedKind *mode = self.pickerDataArr[row];
|
||||||
self.showStr = mode.remarks;
|
self.showKind = mode;
|
||||||
self.selectedItemBlock(self.showStr);
|
self.selectedItemBlock(mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -145,11 +145,12 @@
|
||||||
-(void)done:(UIButton *)btn{
|
-(void)done:(UIButton *)btn{
|
||||||
|
|
||||||
if (self.selectedItemBlock) {
|
if (self.selectedItemBlock) {
|
||||||
if ([self.showStr isEqualToString:@"未知"]) {
|
if ([self.showKind.dictLabel isEqualToString:@"未知"]) {
|
||||||
[self hide];
|
[self hide];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
self.selectedItemBlock(self.showStr);
|
|
||||||
|
self.selectedItemBlock(self.showKind);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -189,7 +190,9 @@
|
||||||
|
|
||||||
if (self = [super init]) {
|
if (self = [super init]) {
|
||||||
self.modalPresentationStyle = UIModalPresentationOverCurrentContext;
|
self.modalPresentationStyle = UIModalPresentationOverCurrentContext;
|
||||||
self.showStr = @"未知";
|
|
||||||
|
self.showKind = [[GIGaFeedKind alloc] init];
|
||||||
|
self.showKind.dictLabel = @"未知";
|
||||||
|
|
||||||
[self requstData];
|
[self requstData];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
//
|
||||||
|
// MasHistoryFirstViewCell.h
|
||||||
|
// GIGA
|
||||||
|
//
|
||||||
|
// Created by lianxiang on 2018/9/24.
|
||||||
|
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
@interface MasHistoryFirstViewCell : UITableViewCell
|
||||||
|
@property (weak, nonatomic) IBOutlet UIButton *guizeBtn;
|
||||||
|
@property (weak, nonatomic) IBOutlet UILabel *timeLabe;
|
||||||
|
@property (weak, nonatomic) IBOutlet UILabel *rankLabe;
|
||||||
|
@property (weak, nonatomic) IBOutlet UIView *timeView;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
//
|
||||||
|
// MasHistoryFirstViewCell.m
|
||||||
|
// GIGA
|
||||||
|
//
|
||||||
|
// Created by lianxiang on 2018/9/24.
|
||||||
|
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MasHistoryFirstViewCell.h"
|
||||||
|
|
||||||
|
@implementation MasHistoryFirstViewCell
|
||||||
|
|
||||||
|
- (void)awakeFromNib {
|
||||||
|
[super awakeFromNib];
|
||||||
|
|
||||||
|
// Initialization code
|
||||||
|
NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] init];
|
||||||
|
NSTextAttachment *attch = [[NSTextAttachment alloc] init];
|
||||||
|
attch.image = [UIImage imageNamed:@"history_heart"];
|
||||||
|
attch.bounds = CGRectMake(0,-4, 12.9, 12.5);
|
||||||
|
NSAttributedString *imastr=[NSAttributedString attributedStringWithAttachment:attch];
|
||||||
|
[attri appendAttributedString:imastr];
|
||||||
|
|
||||||
|
NSAttributedString *titleStr = [[NSAttributedString alloc] initWithString:@" 清零小规则" attributes:@{NSFontAttributeName:[UIFont fontWithName:@"PingFangSC-Semibold" size:10],NSForegroundColorAttributeName:[UIColor whiteColor]}];
|
||||||
|
|
||||||
|
[attri appendAttributedString:titleStr];
|
||||||
|
[self.guizeBtn setAttributedTitle:attri forState:UIControlStateNormal];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
- (void)layoutSubviews{
|
||||||
|
[super layoutSubviews];
|
||||||
|
|
||||||
|
}
|
||||||
|
- (void)layoutIfNeeded{
|
||||||
|
[super layoutIfNeeded];
|
||||||
|
self.timeView.layer.masksToBounds = NO;
|
||||||
|
self.timeView.layer.cornerRadius = self.timeView.frame.size.height /2;
|
||||||
|
self.timeView.layer.shadowOpacity = 0.3;
|
||||||
|
self.timeView.layer.shadowOffset = CGSizeMake(1, 1);
|
||||||
|
|
||||||
|
self.timeView.layer.shadowColor = [UIColor blackColor].CGColor;
|
||||||
|
|
||||||
|
self.timeView.layer.borderWidth = 5;
|
||||||
|
self.timeView.layer.borderColor = GIGARGB(253, 191,191, 1).CGColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||||
|
[super setSelected:selected animated:animated];
|
||||||
|
|
||||||
|
// Configure the view for the selected state
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -0,0 +1,113 @@
|
||||||
|
<?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">
|
||||||
|
<device id="retina4_7" orientation="portrait">
|
||||||
|
<adaptation id="fullscreen"/>
|
||||||
|
</device>
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="iOS"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||||
|
<capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
|
||||||
|
<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"/>
|
||||||
|
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||||
|
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="MasHistoryFirstViewCell" rowHeight="170" id="KGk-i7-Jjw" customClass="MasHistoryFirstViewCell">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="320" height="170"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="320" height="169.5"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<subviews>
|
||||||
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="f8a-yz-Ecb">
|
||||||
|
<rect key="frame" x="16" y="3" width="81" height="45"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="45" id="5xr-Xm-HtO"/>
|
||||||
|
<constraint firstAttribute="width" constant="81" id="zdf-g5-TQv"/>
|
||||||
|
</constraints>
|
||||||
|
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="10"/>
|
||||||
|
<inset key="titleEdgeInsets" minX="-80" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||||
|
<state key="normal" title="清零小规则" image="history_rule"/>
|
||||||
|
</button>
|
||||||
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kdE-Q9-u1i">
|
||||||
|
<rect key="frame" x="22" y="42" width="57" height="26"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="width" constant="57" id="HVg-ED-OKU"/>
|
||||||
|
<constraint firstAttribute="height" constant="26" id="n41-cc-XrC"/>
|
||||||
|
</constraints>
|
||||||
|
<string key="text">* 请在80小时内
|
||||||
|
再次使用面膜</string>
|
||||||
|
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="8"/>
|
||||||
|
<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="全国总排行第 2 名" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gnX-9k-8vZ">
|
||||||
|
<rect key="frame" x="102" y="139" width="116" 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>
|
||||||
|
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XgR-jp-VUJ">
|
||||||
|
<rect key="frame" x="109" y="11" width="100" height="100"/>
|
||||||
|
<subviews>
|
||||||
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="共敷" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="7" translatesAutoresizingMaskIntoConstraints="NO" id="yat-Uk-2j1">
|
||||||
|
<rect key="frame" x="32" y="12" width="37" height="25.5"/>
|
||||||
|
<fontDescription key="fontDescription" name="PingFangSC-Semibold" family="PingFang SC" pointSize="18"/>
|
||||||
|
<color key="textColor" red="1" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
|
<nil key="highlightedColor"/>
|
||||||
|
</label>
|
||||||
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="min" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aJM-2t-hFP">
|
||||||
|
<rect key="frame" x="38.5" y="64" width="24.5" height="20"/>
|
||||||
|
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
|
||||||
|
<color key="textColor" red="1" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
|
<nil key="highlightedColor"/>
|
||||||
|
</label>
|
||||||
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="180" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fqH-WX-zEA">
|
||||||
|
<rect key="frame" x="22" y="25" width="58" height="50.5"/>
|
||||||
|
<fontDescription key="fontDescription" name="PingFangSC-Semibold" family="PingFang SC" pointSize="36"/>
|
||||||
|
<color key="textColor" red="1" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
|
<nil key="highlightedColor"/>
|
||||||
|
</label>
|
||||||
|
</subviews>
|
||||||
|
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstItem="yat-Uk-2j1" firstAttribute="top" secondItem="XgR-jp-VUJ" secondAttribute="top" constant="12" id="3xZ-MZ-f3I"/>
|
||||||
|
<constraint firstItem="aJM-2t-hFP" firstAttribute="centerX" secondItem="XgR-jp-VUJ" secondAttribute="centerX" id="P2i-aA-ZJF"/>
|
||||||
|
<constraint firstItem="fqH-WX-zEA" firstAttribute="centerX" secondItem="XgR-jp-VUJ" secondAttribute="centerX" constant="1" id="dhW-15-2LC"/>
|
||||||
|
<constraint firstAttribute="width" secondItem="XgR-jp-VUJ" secondAttribute="height" multiplier="1:1" id="fVj-dY-YeA"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="aJM-2t-hFP" secondAttribute="bottom" constant="16" id="pvb-40-kKm"/>
|
||||||
|
<constraint firstItem="yat-Uk-2j1" firstAttribute="centerX" secondItem="XgR-jp-VUJ" secondAttribute="centerX" constant="0.5" id="t5T-IV-EBK"/>
|
||||||
|
<constraint firstItem="fqH-WX-zEA" firstAttribute="centerY" secondItem="XgR-jp-VUJ" secondAttribute="centerY" id="vdQ-y0-8o5"/>
|
||||||
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="88" id="zgI-yU-SUl"/>
|
||||||
|
</constraints>
|
||||||
|
</view>
|
||||||
|
</subviews>
|
||||||
|
<color key="backgroundColor" red="1" green="0.70196078431372544" blue="0.70196078431372544" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstItem="kdE-Q9-u1i" firstAttribute="top" secondItem="f8a-yz-Ecb" secondAttribute="bottom" constant="-6" id="33L-Pm-zjw"/>
|
||||||
|
<constraint firstItem="XgR-jp-VUJ" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="11" id="F2r-eg-vAz"/>
|
||||||
|
<constraint firstAttribute="trailing" secondItem="XgR-jp-VUJ" secondAttribute="trailing" constant="111" id="UwV-Lm-aak"/>
|
||||||
|
<constraint firstItem="f8a-yz-Ecb" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="VMM-iR-qKh"/>
|
||||||
|
<constraint firstItem="gnX-9k-8vZ" firstAttribute="top" secondItem="XgR-jp-VUJ" secondAttribute="bottom" constant="28" id="ZbD-KV-Yoz"/>
|
||||||
|
<constraint firstItem="f8a-yz-Ecb" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="3" id="fed-Wy-3U8"/>
|
||||||
|
<constraint firstItem="XgR-jp-VUJ" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="109" id="mKf-YY-Itt"/>
|
||||||
|
<constraint firstItem="kdE-Q9-u1i" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="22" id="ts5-1h-1Td"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="gnX-9k-8vZ" secondAttribute="bottom" constant="10.5" id="vj7-z2-psS"/>
|
||||||
|
<constraint firstItem="gnX-9k-8vZ" firstAttribute="centerX" secondItem="H2p-sc-9uM" secondAttribute="centerX" id="yyH-1k-nnl"/>
|
||||||
|
</constraints>
|
||||||
|
</tableViewCellContentView>
|
||||||
|
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||||
|
<connections>
|
||||||
|
<outlet property="guizeBtn" destination="f8a-yz-Ecb" id="SD6-Nh-Jyz"/>
|
||||||
|
<outlet property="rankLabe" destination="gnX-9k-8vZ" id="t9F-Tk-4eP"/>
|
||||||
|
<outlet property="timeLabe" destination="fqH-WX-zEA" id="mMl-Mr-UNW"/>
|
||||||
|
<outlet property="timeView" destination="XgR-jp-VUJ" id="4GT-I5-bsa"/>
|
||||||
|
</connections>
|
||||||
|
<point key="canvasLocation" x="-16" y="21"/>
|
||||||
|
</tableViewCell>
|
||||||
|
</objects>
|
||||||
|
<resources>
|
||||||
|
<image name="history_rule" width="81" height="22"/>
|
||||||
|
</resources>
|
||||||
|
</document>
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
//
|
||||||
|
// MaskHistoryListViewCell.h
|
||||||
|
// GIGA
|
||||||
|
//
|
||||||
|
// Created by lianxiang on 2018/9/24.
|
||||||
|
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#import "MaskHistryRecord.h"
|
||||||
|
|
||||||
|
@interface MaskHistoryListViewCell : UITableViewCell
|
||||||
|
@property (weak, nonatomic) IBOutlet UIButton *skinBtn;
|
||||||
|
@property (weak, nonatomic) IBOutlet UIButton *timeBtn;
|
||||||
|
@property (weak, nonatomic) IBOutlet UILabel *timeLabe;
|
||||||
|
@property (weak, nonatomic) IBOutlet UILabel *timesLabe;
|
||||||
|
-(void)loadCellDataAt:(NSIndexPath *)indepath recod:(MaskHistryRecord*)model;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
//
|
||||||
|
// MaskHistoryListViewCell.m
|
||||||
|
// GIGA
|
||||||
|
//
|
||||||
|
// Created by lianxiang on 2018/9/24.
|
||||||
|
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MaskHistoryListViewCell.h"
|
||||||
|
|
||||||
|
@implementation MaskHistoryListViewCell
|
||||||
|
|
||||||
|
- (void)awakeFromNib {
|
||||||
|
|
||||||
|
[super awakeFromNib];
|
||||||
|
// Initialization code
|
||||||
|
self.timeBtn.layer.masksToBounds = YES;
|
||||||
|
self.timeBtn.layer.cornerRadius = 4;
|
||||||
|
self.skinBtn.layer.masksToBounds = YES;
|
||||||
|
self.skinBtn.layer.cornerRadius = 4;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)loadCellDataAt:(NSIndexPath *)indepath recod:(MaskHistryRecord*)model
|
||||||
|
{
|
||||||
|
self.timesLabe.text = [NSString stringWithFormat:@"第%@天敷面膜",model.dayNum];
|
||||||
|
self.timeLabe.text = model.createTime;
|
||||||
|
if (![model.skinTypeName isKindOfClass:[NSNull class]] && model.skinTypeName) {
|
||||||
|
NSAttributedString *atrtskin = [GiGaHelper stringWithText:model.skinTypeName textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTMEDIUM(10) leterSpace:0];
|
||||||
|
[self.skinBtn setAttributedTitle:atrtskin forState:UIControlStateNormal];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (![model.minute isKindOfClass:[NSNull class]] && model.minute) {
|
||||||
|
NSAttributedString *atrtskin = [GiGaHelper stringWithText:[NSString stringWithFormat:@"倒计时%@分钟",model.minute] textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTMEDIUM(10) leterSpace:0];
|
||||||
|
[self.timeBtn setAttributedTitle:atrtskin forState:UIControlStateNormal];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||||
|
[super setSelected:selected animated:animated];
|
||||||
|
|
||||||
|
// Configure the view for the selected state
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -0,0 +1,90 @@
|
||||||
|
<?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">
|
||||||
|
<device id="retina4_7" orientation="portrait">
|
||||||
|
<adaptation id="fullscreen"/>
|
||||||
|
</device>
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="iOS"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||||
|
<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"/>
|
||||||
|
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||||
|
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" id="KGk-i7-Jjw" customClass="MaskHistoryListViewCell">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="320" height="90"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
|
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="320" height="89.5"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<subviews>
|
||||||
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第1天敷面膜" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1Mm-qt-QLb">
|
||||||
|
<rect key="frame" x="16" y="10" width="65" height="17"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="17" id="NtX-Gc-7DK"/>
|
||||||
|
</constraints>
|
||||||
|
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="12"/>
|
||||||
|
<color key="textColor" red="0.36078431372549019" green="0.36078431372549019" blue="0.36078431372549019" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
|
<nil key="highlightedColor"/>
|
||||||
|
</label>
|
||||||
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018-08-28 13:25:54" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2o1-kY-jHA">
|
||||||
|
<rect key="frame" x="16" y="35" width="111" height="14"/>
|
||||||
|
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="10"/>
|
||||||
|
<color key="textColor" red="0.58431372549019611" green="0.58431372549019611" blue="0.58431372549019611" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
|
<nil key="highlightedColor"/>
|
||||||
|
</label>
|
||||||
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="TIW-fP-uXf">
|
||||||
|
<rect key="frame" x="16" y="57" width="80" height="22"/>
|
||||||
|
<color key="backgroundColor" red="1" green="0.70196078429999997" blue="0.70196078429999997" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="22" id="0YO-kY-Taa"/>
|
||||||
|
<constraint firstAttribute="width" constant="80" id="mIe-rt-3fF"/>
|
||||||
|
</constraints>
|
||||||
|
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="10"/>
|
||||||
|
<state key="normal" title="油性皮肤"/>
|
||||||
|
</button>
|
||||||
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xUV-cj-Gt5">
|
||||||
|
<rect key="frame" x="104" y="57" width="80" height="22"/>
|
||||||
|
<color key="backgroundColor" red="0.51372549019607838" green="0.039215686274509803" blue="0.039215686274509803" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="22" id="RmH-dv-yZm"/>
|
||||||
|
<constraint firstAttribute="width" constant="80" id="jvK-Kd-xnz"/>
|
||||||
|
</constraints>
|
||||||
|
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="10"/>
|
||||||
|
<state key="normal" title="倒计时17分钟"/>
|
||||||
|
</button>
|
||||||
|
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yqe-qC-fXL">
|
||||||
|
<rect key="frame" x="0.0" y="89" width="320" height="1"/>
|
||||||
|
<color key="backgroundColor" red="0.92156862745098034" green="0.92156862745098034" blue="0.92156862745098034" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="1" id="mA6-fk-aTf"/>
|
||||||
|
</constraints>
|
||||||
|
</view>
|
||||||
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstItem="TIW-fP-uXf" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="6Vu-gO-3O6"/>
|
||||||
|
<constraint firstItem="yqe-qC-fXL" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="HBX-nh-PB3"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="yqe-qC-fXL" secondAttribute="bottom" constant="-0.5" id="PGB-TX-GMK"/>
|
||||||
|
<constraint firstItem="xUV-cj-Gt5" firstAttribute="centerY" secondItem="TIW-fP-uXf" secondAttribute="centerY" id="PNM-wS-Fbg"/>
|
||||||
|
<constraint firstItem="2o1-kY-jHA" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="QHa-BT-Kdi"/>
|
||||||
|
<constraint firstItem="1Mm-qt-QLb" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="Taa-On-Jut"/>
|
||||||
|
<constraint firstItem="xUV-cj-Gt5" firstAttribute="leading" secondItem="TIW-fP-uXf" secondAttribute="trailing" constant="8" id="gai-Tc-IfZ"/>
|
||||||
|
<constraint firstItem="1Mm-qt-QLb" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="giX-Bb-4ad"/>
|
||||||
|
<constraint firstAttribute="trailing" secondItem="yqe-qC-fXL" secondAttribute="trailing" id="goy-Cj-fyR"/>
|
||||||
|
<constraint firstItem="yqe-qC-fXL" firstAttribute="top" secondItem="TIW-fP-uXf" secondAttribute="bottom" constant="10" id="kyx-fN-eLe"/>
|
||||||
|
<constraint firstItem="TIW-fP-uXf" firstAttribute="top" secondItem="2o1-kY-jHA" secondAttribute="bottom" constant="8" id="xpc-On-9Xs"/>
|
||||||
|
<constraint firstItem="2o1-kY-jHA" firstAttribute="top" secondItem="1Mm-qt-QLb" secondAttribute="bottom" constant="8" id="yij-7s-itY"/>
|
||||||
|
</constraints>
|
||||||
|
</tableViewCellContentView>
|
||||||
|
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||||
|
<connections>
|
||||||
|
<outlet property="skinBtn" destination="TIW-fP-uXf" id="54G-fF-tNQ"/>
|
||||||
|
<outlet property="timeBtn" destination="xUV-cj-Gt5" id="Wt0-LN-jz0"/>
|
||||||
|
<outlet property="timeLabe" destination="2o1-kY-jHA" id="GLQ-Cw-isR"/>
|
||||||
|
<outlet property="timesLabe" destination="1Mm-qt-QLb" id="10I-Ke-pHj"/>
|
||||||
|
</connections>
|
||||||
|
<point key="canvasLocation" x="-50" y="-57"/>
|
||||||
|
</tableViewCell>
|
||||||
|
</objects>
|
||||||
|
</document>
|
||||||
|
|
@ -9,6 +9,8 @@
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
@interface GIGaUserChangeMobleCell : UITableViewCell
|
@interface GIGaUserChangeMobleCell : UITableViewCell
|
||||||
|
|
||||||
|
|
||||||
@property (weak, nonatomic) IBOutlet UIButton *codeSendBtn;
|
@property (weak, nonatomic) IBOutlet UIButton *codeSendBtn;
|
||||||
@property (weak, nonatomic) IBOutlet UIButton *oldBtn;
|
@property (weak, nonatomic) IBOutlet UIButton *oldBtn;
|
||||||
@property (weak, nonatomic) IBOutlet UIButton *xinPhoneBtn;
|
@property (weak, nonatomic) IBOutlet UIButton *xinPhoneBtn;
|
||||||
|
|
@ -16,4 +18,6 @@
|
||||||
@property (weak, nonatomic) IBOutlet UITextField *numberTexFiled;
|
@property (weak, nonatomic) IBOutlet UITextField *numberTexFiled;
|
||||||
@property (weak, nonatomic) IBOutlet UITextField *codeTexFiled;
|
@property (weak, nonatomic) IBOutlet UITextField *codeTexFiled;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#import "GIGaUserChangeMobleCell.h"
|
#import "GIGaUserChangeMobleCell.h"
|
||||||
|
#import "NSTimer+Convenience.h"
|
||||||
|
|
||||||
@implementation GIGaUserChangeMobleCell
|
@implementation GIGaUserChangeMobleCell
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@
|
||||||
</constraints>
|
</constraints>
|
||||||
<color key="textColor" red="0.73333333333333328" green="0.73333333333333328" blue="0.73333333333333328" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="textColor" red="0.73333333333333328" green="0.73333333333333328" blue="0.73333333333333328" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
|
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
|
||||||
<textInputTraits key="textInputTraits"/>
|
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
|
||||||
</textField>
|
</textField>
|
||||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Xj0-4q-Lcf">
|
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Xj0-4q-Lcf">
|
||||||
<rect key="frame" x="25" y="137" width="271" height="1"/>
|
<rect key="frame" x="25" y="137" width="271" height="1"/>
|
||||||
|
|
@ -91,7 +91,7 @@
|
||||||
<constraint firstAttribute="height" constant="30" id="8iy-aa-Gc9"/>
|
<constraint firstAttribute="height" constant="30" id="8iy-aa-Gc9"/>
|
||||||
<constraint firstAttribute="width" constant="59" id="eTQ-av-rBv"/>
|
<constraint firstAttribute="width" constant="59" id="eTQ-av-rBv"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="10"/>
|
<fontDescription key="fontDescription" name="PingFangSC-Semibold" family="PingFang SC" pointSize="10"/>
|
||||||
<state key="normal" title="发送验证码"/>
|
<state key="normal" title="发送验证码"/>
|
||||||
</button>
|
</button>
|
||||||
</subviews>
|
</subviews>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue