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 */; };
|
||||
83BFAE78213CDE91004EF801 /* GiGaSettingsViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83BFAE76213CDE91004EF801 /* GiGaSettingsViewCell.xib */; };
|
||||
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 */; };
|
||||
83E40B2F21218BA0008149C4 /* GiGaUserViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83E40B2E21218BA0008149C4 /* GiGaUserViewController.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
|
@ -632,6 +639,18 @@
|
|||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
|
|
@ -997,6 +1016,10 @@
|
|||
8345C13521414D3B00051717 /* NSString+Unicode.m */,
|
||||
83773FC021479FED0014EE4C /* UIColor+HexColor.h */,
|
||||
83773FC121479FED0014EE4C /* UIColor+HexColor.m */,
|
||||
83C78A172159D74D0083DDD9 /* UIImage+LogoQrCode.h */,
|
||||
83C78A182159D74D0083DDD9 /* UIImage+LogoQrCode.m */,
|
||||
83C78A1A2159DD920083DDD9 /* UIImage+ShotImage.h */,
|
||||
83C78A1B2159DD920083DDD9 /* UIImage+ShotImage.m */,
|
||||
);
|
||||
path = Category;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -1075,6 +1098,8 @@
|
|||
8342FD852150FD5200D141F4 /* VersionModel.m */,
|
||||
83A1DDB021574807006DE881 /* GIGaFeedKind.h */,
|
||||
83A1DDB121574807006DE881 /* GIGaFeedKind.m */,
|
||||
83D3832B215A2CF5009E8669 /* MaskHistryRecord.h */,
|
||||
83D3832C215A2CF5009E8669 /* MaskHistryRecord.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -1082,6 +1107,7 @@
|
|||
8361B42A212180A100238FEB /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
83C78A0B215872740083DDD9 /* HistoryView */,
|
||||
8382DFA3215622C600BBA5A5 /* FeedViews */,
|
||||
8342FD7E2150F94F00D141F4 /* AppVerionDescCells */,
|
||||
838762CF214B9CAA0039D241 /* userInfoView */,
|
||||
|
|
@ -1600,6 +1626,19 @@
|
|||
path = NYSliderPopover;
|
||||
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 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -1764,6 +1803,7 @@
|
|||
83BFAE6D213CD0E3004EF801 /* GiGaMineInfoViewCell.xib in Resources */,
|
||||
8382DFA82156247F00BBA5A5 /* GiGaFeedLeiIingViewCell.xib in Resources */,
|
||||
8376B82E2154A35100AB79F8 /* MaskTimeTimeViewCell.xib in Resources */,
|
||||
83C78A10215872F80083DDD9 /* MasHistoryFirstViewCell.xib in Resources */,
|
||||
8361B3D6212155C300238FEB /* LaunchScreen.storyboard in Resources */,
|
||||
838762E3214B9F580039D241 /* GiGaUserSexViewCell.xib in Resources */,
|
||||
838388DA2130046D00D14C53 /* emojizone.mp4 in Resources */,
|
||||
|
|
@ -1803,6 +1843,7 @@
|
|||
8382DFB221562B0A00BBA5A5 /* GIGaFeedQQViewCell.xib in Resources */,
|
||||
8338F6B12142182200B4780B /* MaskTime.png in Resources */,
|
||||
83346ACF212BD7830054D597 /* GiGaWebViewController.xib in Resources */,
|
||||
83C78A15215873170083DDD9 /* MaskHistoryListViewCell.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -1961,6 +2002,7 @@
|
|||
83835BA0212E43BD001480F2 /* GiGaMasssagesVC.m in Sources */,
|
||||
8357ADCD2123C091000816F2 /* GiGaNetManager.m in Sources */,
|
||||
838388D4212FB7D700D14C53 /* JXTAlertView.m in Sources */,
|
||||
83D3832D215A2CF5009E8669 /* MaskHistryRecord.m in Sources */,
|
||||
83901178214E20B2004CA790 /* LYSDatePickerItem.m in Sources */,
|
||||
8342FD8A2151095100D141F4 /* AppVersionLogoCell.m in Sources */,
|
||||
8384F0EB21533542002C19F0 /* MaskResultMinViewCell.m in Sources */,
|
||||
|
|
@ -1969,6 +2011,7 @@
|
|||
8382DFEE21564A1F00BBA5A5 /* SJPhotoPickerManager.m in Sources */,
|
||||
83A1DDB221574807006DE881 /* GIGaFeedKind.m in Sources */,
|
||||
83901172214E20B2004CA790 /* LYSDatePickerTypeDayAndTimeDelegate.m in Sources */,
|
||||
83C78A1C2159DD920083DDD9 /* UIImage+ShotImage.m in Sources */,
|
||||
835060A9212D38EE007E6220 /* GiGaStartAdView.m in Sources */,
|
||||
83928FFA2134D8F60077D2E8 /* GiGaFlyingCommitInputView.m in Sources */,
|
||||
8390116D214E20B2004CA790 /* LYSDateBaseViewController.m in Sources */,
|
||||
|
|
@ -1986,6 +2029,7 @@
|
|||
83773FBF214791E10014EE4C /* GIGaQuestionSlider.m in Sources */,
|
||||
83901179214E20B2004CA790 /* LYSDatePickerTypeBase.m in Sources */,
|
||||
835060A2212D1225007E6220 /* GiGaMeViewController.m in Sources */,
|
||||
83C78A192159D74D0083DDD9 /* UIImage+LogoQrCode.m in Sources */,
|
||||
8361B3CB212155C200238FEB /* AppDelegate.m in Sources */,
|
||||
8382DFB92156389200BBA5A5 /* GIGaFeedImagsCollectionCell.m in Sources */,
|
||||
8351474621521CC500B25A88 /* GiGaChangePhoneNumberVC.m in Sources */,
|
||||
|
|
@ -2021,6 +2065,7 @@
|
|||
833DE8E52150169F009D4329 /* JYAddressPicker.m in Sources */,
|
||||
834127212152AEFB001DDB36 /* GIGaMaskTimeUseRecordVC.m in Sources */,
|
||||
83901171214E20B2004CA790 /* LYSDatePickerLabel.m in Sources */,
|
||||
83C78A14215873170083DDD9 /* MaskHistoryListViewCell.m in Sources */,
|
||||
838762E2214B9F580039D241 /* GiGaUserSexViewCell.m in Sources */,
|
||||
8382DFAC215626CE00BBA5A5 /* GiGaFeedContentViewCell.m in Sources */,
|
||||
839290052134F4240077D2E8 /* LXDanMuTrackView.m in Sources */,
|
||||
|
|
@ -2049,6 +2094,7 @@
|
|||
83BFAE70213CDB29004EF801 /* GiMaskTimeHistoryVC.m in Sources */,
|
||||
8382DFEA21564A1F00BBA5A5 /* SJPhotoAlbumsController.m in Sources */,
|
||||
83A22718212ABDFF00B3E75C /* GiGaBlockButton.m in Sources */,
|
||||
83C78A0F215872F80083DDD9 /* MasHistoryFirstViewCell.m in Sources */,
|
||||
8382DFED21564A1F00BBA5A5 /* SJPhotoPickerNavController.m in Sources */,
|
||||
83928FFE2134F37D0077D2E8 /* GiGaSocketRocketUtility.m in Sources */,
|
||||
83A2270C212A97ED00B3E75C /* MaskViewBootomWaringView.m in Sources */,
|
||||
|
|
|
|||
|
|
@ -42,6 +42,11 @@
|
|||
|
||||
//微信
|
||||
[WXApi registerApp:WXin_APPID];
|
||||
|
||||
[WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) {
|
||||
NSLog(@"%@",log);
|
||||
|
||||
}];
|
||||
//bugly
|
||||
[Bugly startWithAppId:nil];
|
||||
//友盟统计
|
||||
|
|
@ -62,7 +67,7 @@
|
|||
|
||||
//WXApiDelegate
|
||||
- (void)onReq:(BaseReq *)req{
|
||||
|
||||
|
||||
}
|
||||
|
||||
- (void)onResp:(BaseResp *)resp{
|
||||
|
|
|
|||
|
|
@ -44,6 +44,9 @@
|
|||
|
||||
[[GiGaUserManager shareUser] synsisUserInfo:nil userErrorMsgBlock:^(NSDictionary *errorCodemsg) {
|
||||
if ([errorCodemsg[@"code"] integerValue] == 401) {
|
||||
|
||||
[[GiGaUserManager shareUser] loginOut];
|
||||
NC_POST_NAME_OBJECT(kUserLogOutNotify, nil);
|
||||
//token失效
|
||||
[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" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "bg_moreandmore_red@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"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" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "img_camera@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,17 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "img_holder@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"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;
|
||||
|
||||
+(NSString*)dictionaryToJson:(NSDictionary *)dic;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -281,4 +281,17 @@
|
|||
}
|
||||
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
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ typedef void (^responseBlock)(NSDictionary *responseDict, NSDictionary *response
|
|||
success:(void (^)(id response))success
|
||||
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;
|
||||
|
||||
//上传图片 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
|
||||
{
|
||||
//NSString *jsonStr = [GiGaHelper dictionaryToJson:param];
|
||||
|
||||
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
|
||||
NSURL *baseUrl = [NSURL URLWithString:[GiGaServerConfig getMainUrl]];
|
||||
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:@"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) {
|
||||
|
||||
} downloadProgress:^(NSProgress * _Nonnull downloadProgress) {
|
||||
|
||||
} completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
|
||||
|
||||
if (completionHandler) {
|
||||
completionHandler(response,responseObject,error);
|
||||
}
|
||||
NSDictionary *responseDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
|
||||
|
||||
if (completionHandler) {
|
||||
completionHandler(response,responseDic,error);
|
||||
}
|
||||
}];
|
||||
|
||||
[task resume];
|
||||
|
||||
}
|
||||
|
||||
//上传1张
|
||||
+(void)uploadImage:(NSString *)url
|
||||
imgData:(NSData *)imgData
|
||||
|
|
|
|||
|
|
@ -32,4 +32,6 @@
|
|||
success:(void (^)(id response))success
|
||||
failure:(void (^)(NSError *err))failure;
|
||||
|
||||
//+(void)shareMessageToWX:()
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -24,4 +24,5 @@
|
|||
+(UIImage *)getUserFeedbackImag:(NSString *)imageName;
|
||||
+(void)delectAllfeedimages;
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "GiGaUser.h"
|
||||
#import "MaskTestResult.h"
|
||||
|
||||
|
||||
typedef void (^userDataresponseBlock)(GiGaUser *user);
|
||||
|
|
@ -16,6 +17,7 @@ typedef void (^userErrorMsgBlock)(NSDictionary *errorCodemsg);
|
|||
@interface GiGaUserManager : NSObject
|
||||
|
||||
@property(nonatomic,strong) GiGaUser *user;
|
||||
@property(nonatomic,strong) MaskTestResult *testReult;
|
||||
|
||||
+(instancetype)shareUser;
|
||||
- (void)saveUser:(GiGaUser *)user;
|
||||
|
|
@ -29,4 +31,8 @@ typedef void (^userErrorMsgBlock)(NSDictionary *errorCodemsg);
|
|||
|
||||
-(void)synsisUserInfo:(userDataresponseBlock)block userErrorMsgBlock:(userErrorMsgBlock)errorCodeMsg;
|
||||
|
||||
//保存肤质测试记录
|
||||
//-(void)saveLatestUserTestRecord:(MaskTestResult *)maskTestResult;
|
||||
//-(MaskTestResult *)latestMaskTestResult;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ const static NSInteger GIGADB_USER_VER = 0;//当前数据库版本号
|
|||
@property (nonatomic,strong) NSMutableArray *userArr;
|
||||
@property (nonatomic,copy) NSString *userTabId;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@implementation GiGaUserManager
|
||||
|
|
@ -140,4 +141,12 @@ const static NSInteger GIGADB_USER_VER = 0;//当前数据库版本号
|
|||
|
||||
}
|
||||
|
||||
//保留
|
||||
#pragma mark 最新一次测试记录
|
||||
-(void)saveLatestUserTestRecord:(MaskTestResult *)maskTestResult{
|
||||
[_store createTableWithName:@"gigaLastestSkinTest"];
|
||||
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -17,8 +17,10 @@
|
|||
#define kApiOccuption @"sys/sysdict/v1/maskoccupation"
|
||||
//修改用户信息
|
||||
#define kFixUserInfo @"user/v1/editinfo"
|
||||
//头像上传 上传多张反馈
|
||||
#define kUploadAvator @"sys/oss/v1/upload"
|
||||
|
||||
//头像上传
|
||||
#define kUploadAvator @"user/v1/editheadimg"
|
||||
//意见反馈 单张
|
||||
#define kUploadFeed @"sys/oss/v1/upload"
|
||||
|
||||
//版本说明
|
||||
|
|
@ -34,12 +36,20 @@
|
|||
//找回密码发送验证码
|
||||
#define kApiChangePassSendCode @"msg/sms/v1/retrievesendcode"
|
||||
//异步验证手机验证码
|
||||
#define kApiVersifyPhoneCode @"v1/user/v1/validateSmsCode"
|
||||
#define kApiVersifyPhoneCode @"user/v1/validateSmsCode"
|
||||
|
||||
//获取意见反馈类型 (设置意见反馈)
|
||||
#define kApiGetFeedList @"sys/sysdict/v1/maskproposaltype"
|
||||
//意见建议
|
||||
#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 */
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
#import <JSONModel/JSONModel.h>
|
||||
#import <UMCommon/UMCommon.h>
|
||||
#import <UMAnalytics/MobClick.h>
|
||||
#import "WXApiObject.h"
|
||||
|
||||
#endif
|
||||
#import "GiGaUserDefault.h"
|
||||
|
|
|
|||
|
|
@ -21,14 +21,14 @@
|
|||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<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"/>
|
||||
</webView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<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 firstAttribute="trailing" secondItem="sjU-k1-sKC" secondAttribute="trailing" id="Ray-xd-2vY"/>
|
||||
</constraints>
|
||||
|
|
|
|||
|
|
@ -61,12 +61,15 @@
|
|||
|
||||
-(void)mycuntomSwitchAction:(id)sender{
|
||||
|
||||
|
||||
|
||||
LXCustomSwith *nkswitch = (LXCustomSwith *)sender;
|
||||
if (nkswitch.isOn)
|
||||
NSLog(@"switchPressed ON");
|
||||
else
|
||||
[[LXDanMuManager shareInstance] destory];
|
||||
[self destorySocket];
|
||||
NC_POST_NAME_OBJECT(@"UserCloseChatRoomAction", nil);
|
||||
[self dismissViewControllerAnimated:YES completion:nil];
|
||||
NSLog(@"switchPressed OFF");
|
||||
}
|
||||
|
|
@ -74,6 +77,7 @@
|
|||
-(void)viewWillAppear:(BOOL)animated{
|
||||
[super viewWillAppear:animated];
|
||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(maskTimeEnd), kUserNoti_MASKEND, nil);
|
||||
|
||||
[IQKeyboardManager sharedManager].enable = NO;
|
||||
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,12 +51,32 @@
|
|||
@property(nonatomic,strong) UIImageView *swipeGaurdimagView;
|
||||
@property(nonatomic,strong) UIButton *startMaskButton;
|
||||
@property(nonatomic,strong) UIButton *startTestButton;
|
||||
//开启弹幕按钮
|
||||
@property(nonatomic,strong) UIButton *openDanmuButton;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@implementation GiGaMaskTaskViewController
|
||||
|
||||
#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{
|
||||
if (!_maskImageView) {
|
||||
|
|
@ -174,7 +194,7 @@
|
|||
[super viewWillAppear:animated];
|
||||
//取消导航对内容下移影响
|
||||
[self.navigationController.navigationBar setTranslucent:YES];
|
||||
|
||||
self.openDanmuButton.hidden = NO;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -184,11 +204,19 @@
|
|||
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
|
||||
}
|
||||
|
||||
BOOL showAppGaurd = [GiGaUserDefault isShowedAppGaurd];
|
||||
if (showAppGaurd == NO) {
|
||||
[self showAPPappGaurdView];
|
||||
// 暂不用 app引导页
|
||||
|
||||
// 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{
|
||||
|
|
@ -318,7 +346,7 @@
|
|||
-(void)initUI{
|
||||
|
||||
self.view.backgroundColor = GIGA_MAIN_BGCOLOR;
|
||||
|
||||
[self.view addSubview:self.openDanmuButton];
|
||||
[self.view addSubview:self.faceView];
|
||||
[self.view addSubview:self.maskImageView];
|
||||
[self.view addSubview:self.hairImageView];
|
||||
|
|
@ -479,6 +507,7 @@
|
|||
-(void)maskTimeEnd{
|
||||
|
||||
NC_POST_NAME_OBJECT(kUserNoti_MASKEND, nil);
|
||||
|
||||
//面膜时间结束时设置 全局变量 不再发送本地通知 提醒
|
||||
AppDelegate *delegate =(AppDelegate *) [[UIApplication sharedApplication] delegate];
|
||||
delegate.isMasking = NO;
|
||||
|
|
@ -502,8 +531,7 @@
|
|||
// resultVC.model = model;
|
||||
// [self.navigationController pushViewController:resultVC animated:YES];
|
||||
|
||||
//[self showAlertGoShareMaskTime];
|
||||
|
||||
// [self showAlertGoShareMaskTime];
|
||||
|
||||
GiGaQuestionVC *questionVC = [[GiGaQuestionVC alloc] init];
|
||||
[self.navigationController pushViewController:questionVC animated:YES];
|
||||
|
|
@ -511,13 +539,19 @@
|
|||
}
|
||||
|
||||
-(void)addNotify{
|
||||
|
||||
//引导页
|
||||
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(pushToAppAdDetailView),APP_PUSHTO_DETAILVIEW, 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(userAvatorUpDate), kUserAvatorUpdateNoti, nil) ;
|
||||
|
||||
//用户关闭弹幕聊天
|
||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(userCloseChatRoomAction), @"UserCloseChatRoomAction", nil);
|
||||
|
||||
|
||||
}
|
||||
|
||||
#pragma mark 广告详情
|
||||
|
|
@ -527,9 +561,11 @@
|
|||
[self.navigationController pushViewController:detailVC animated:YES];
|
||||
}
|
||||
|
||||
#pragma mark 新手引导消失
|
||||
#pragma mark 新手引导蒙版消失
|
||||
-(void)guardViewDissmiss{
|
||||
|
||||
[self showWaringView];
|
||||
|
||||
}
|
||||
|
||||
#pragma mark app引导页消失
|
||||
|
|
@ -549,6 +585,8 @@
|
|||
NC_REMOVE_NAME(self, kUserAvatorUpdateNoti, nil);
|
||||
NC_REMOVE_NAME(self, kUserLogOutNotify, nil);
|
||||
NC_REMOVE_NAME(self, kUserLoginSuccessNoti, nil);
|
||||
NC_REMOVE_NAME(self, @"UserCloseChatRoomAction", nil);
|
||||
|
||||
}
|
||||
|
||||
#pragma mark 新手引导
|
||||
|
|
@ -623,16 +661,20 @@
|
|||
-(void)leftBtnAction{
|
||||
|
||||
BOOL isUserLogin = [GiGaUserDefault isUserLogin];
|
||||
|
||||
if (isUserLogin) {
|
||||
|
||||
GiGaMasssagesVC *masageVC= [[GiGaMasssagesVC alloc] init];
|
||||
[self.navigationController pushViewController:masageVC animated:YES];
|
||||
|
||||
}else{
|
||||
|
||||
GiGaUserLoginVC *userlogInVC= [[GiGaUserLoginVC alloc] init];
|
||||
GiGaBaseNavViewController *baseNav = [[GiGaBaseNavViewController alloc] initWithRootViewController:userlogInVC];
|
||||
[self presentViewController:baseNav animated:YES completion:nil];
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#pragma mark 个人中心 action
|
||||
|
|
@ -718,5 +760,14 @@
|
|||
}];
|
||||
}
|
||||
|
||||
#pragma mark - 开启弹幕按钮事件
|
||||
-(void)openDanmuButtonAction{
|
||||
self.openDanmuButton.hidden = YES;
|
||||
[self createInputView];
|
||||
}
|
||||
//通知用户挂断弹幕
|
||||
-(void)userCloseChatRoomAction{
|
||||
self.openDanmuButton.hidden = NO;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -13,6 +13,12 @@
|
|||
#import "MaskTimeShareActionSheet.h"
|
||||
#import "GIGaUserFileHelper.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>
|
||||
@property(nonatomic,strong) UITableView *tab;
|
||||
@property(nonatomic,strong) UIImageView *backimageview ;
|
||||
|
|
@ -27,35 +33,41 @@
|
|||
[super viewDidLoad];
|
||||
|
||||
_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];
|
||||
|
||||
|
||||
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
backBtn.frame = CGRectMake(20,44, 40, 40);
|
||||
[backBtn setImage:[UIImage imageNamed:@"btn_moment_back"] forState:UIControlStateNormal];
|
||||
|
||||
[backBtn addTarget:self action:@selector(backBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
[self.view addSubview:backBtn];
|
||||
[self.view insertSubview:backimageview atIndex:0];
|
||||
|
||||
|
||||
[self creatBtns];
|
||||
|
||||
}
|
||||
|
||||
-(void)creatTabUI{
|
||||
self.automaticallyAdjustsScrollViewInsets = NO;
|
||||
self.tab = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
|
||||
self.tab.separatorStyle = UITableViewCellSelectionStyleNone;
|
||||
self.tab.delegate = self;
|
||||
self.tab.dataSource = self;
|
||||
self.tab.backgroundColor = [UIColor clearColor];
|
||||
[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{
|
||||
|
|
@ -146,10 +158,9 @@
|
|||
|
||||
}
|
||||
|
||||
//更换背景
|
||||
-(void)changeAction{
|
||||
|
||||
|
||||
|
||||
MaskTimeShareActionSheet * sheet = [[MaskTimeShareActionSheet alloc] initWithFrame:CGRectMake(0, 0, KMainW, KMainH)];
|
||||
[sheet show:^(NSUInteger index) {
|
||||
switch (index) {
|
||||
|
|
@ -186,6 +197,7 @@
|
|||
[self.view addSubview:sheet];
|
||||
|
||||
}
|
||||
|
||||
#pragma mark 相册
|
||||
-(void)photosAlbum{
|
||||
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; imagePickerController.delegate = self; imagePickerController.allowsEditing = YES;
|
||||
|
|
@ -217,6 +229,7 @@
|
|||
|
||||
}
|
||||
|
||||
//拍照
|
||||
-(void)takePhoto{
|
||||
|
||||
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; imagePickerController.delegate = self; imagePickerController.allowsEditing = YES;
|
||||
|
|
@ -263,9 +276,9 @@
|
|||
UIImage*img=[info objectForKey:UIImagePickerControllerEditedImage];
|
||||
UIImage *small = [GIGaUserFileHelper zipScaleWithImage:img];
|
||||
[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{
|
||||
|
|
@ -273,7 +286,48 @@
|
|||
}
|
||||
|
||||
-(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
|
||||
|
|
|
|||
|
|
@ -248,7 +248,7 @@
|
|||
-(void)loadRequestQuestions{
|
||||
|
||||
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];
|
||||
|
||||
[request requstDataWithResult:^(GiGaAPIResult *result) {
|
||||
|
|
@ -359,42 +359,15 @@
|
|||
|
||||
-(void)submitAnswer{
|
||||
|
||||
NSDictionary *params = @{@"singleChoiceList":self.answerArray};
|
||||
[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);
|
||||
|
||||
|
||||
}];
|
||||
[self userTestEnd];
|
||||
}
|
||||
|
||||
-(void)userTestEnd:(MaskTestResult*)model{
|
||||
-(void)userTestEnd{
|
||||
|
||||
BOOL isUserLogin = [GiGaUserDefault isUserLogin];
|
||||
if (isUserLogin) {
|
||||
//展示结果
|
||||
// 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 = model;
|
||||
[self.navigationController pushViewController:resultVC animated:YES];
|
||||
|
||||
[self getTestResult];
|
||||
|
||||
}else{
|
||||
[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{
|
||||
|
||||
_page -- ;
|
||||
|
|
|
|||
|
|
@ -12,4 +12,5 @@
|
|||
@interface MaskTestResultVC : GiGaBaseViewController
|
||||
@property (nonatomic,strong) MaskTestResult *model;
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -10,9 +10,12 @@
|
|||
#import "MaskResultMinViewCell.h"
|
||||
#import "MaskResultPercentCell.h"
|
||||
#import "MaskResultShareViewCell.h"
|
||||
|
||||
#import "GIGaUserFileHelper.h"
|
||||
#import "UIImage+ShotImage.h"
|
||||
#import "GiGaBaseAPiRequest.h"
|
||||
#import "GiGaFileNanager.h"
|
||||
|
||||
#import <WXApi.h>
|
||||
#import "MaskTestResult.h"
|
||||
|
||||
@interface MaskTestResultVC ()
|
||||
|
||||
|
|
@ -22,9 +25,9 @@
|
|||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[self addNavTitile:@"测试结果"];
|
||||
// Do any additional setup after loading the view.
|
||||
|
||||
[self.view addSubview:self.tableView];
|
||||
self.tableView.delegate = self;
|
||||
self.tableView.dataSource = self;
|
||||
|
|
@ -39,6 +42,32 @@
|
|||
[self.tableView registerClass:[MaskResultMinViewCell class] forCellReuseIdentifier:@"MaskResultMinViewCell"];
|
||||
[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{
|
||||
|
|
@ -76,7 +105,7 @@
|
|||
cell = [[MaskResultShareViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];;
|
||||
}
|
||||
[cell.shareBtn addTarget:self action:@selector(shareBtnAciton) forControlEvents:UIControlEventTouchUpInside];
|
||||
[cell kidTitle:self.model.mask];
|
||||
[cell kidTitle:self.model];
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
|
@ -101,41 +130,53 @@
|
|||
}
|
||||
|
||||
-(void)shareBtnAciton{
|
||||
|
||||
UIImage *image = [self saveLongImage:self.tableView];
|
||||
// SHareTestImageVC *imagevc = [[SHareTestImageVC alloc] init];
|
||||
// imagevc.image = image;
|
||||
//[self.navigationController pushViewController:imagevc animated:YES];
|
||||
|
||||
if (![WXApi isWXAppInstalled]) {
|
||||
GIGA_ShowToast(@"未安装微信");
|
||||
return;
|
||||
}
|
||||
|
||||
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 {
|
||||
[super didReceiveMemoryWarning];
|
||||
|
|
|
|||
|
|
@ -16,6 +16,11 @@
|
|||
@property(nonatomic,copy) NSString *minute;
|
||||
@property(nonatomic,copy) NSString *oiliness;
|
||||
@property(nonatomic,copy) NSString *oilinessPercent;
|
||||
|
||||
//保湿0无1有
|
||||
@property(nonatomic) int moisture;
|
||||
//美白0无1有
|
||||
@property(nonatomic) int whitening;
|
||||
//提拉紧致0无1有
|
||||
@property(nonatomic) int liftingTightening;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -8,14 +8,19 @@
|
|||
|
||||
#import "GIGaQuestionSlider.h"
|
||||
#import "UIColor+HexColor.h"
|
||||
#define thumbBound_x 10
|
||||
#define thumbBound_y 20
|
||||
|
||||
@interface GIGaQuestionSlider()
|
||||
|
||||
{
|
||||
CGRect _lastBounds;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation GIGaQuestionSlider
|
||||
|
||||
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame type:(GIGaQuestionSliderType)type
|
||||
{
|
||||
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
|
||||
|
|
|
|||
|
|
@ -9,6 +9,11 @@
|
|||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface MaskResultCandView : UIView
|
||||
@property(nonatomic,strong) UIImageView *shuiImageView;
|
||||
@property(nonatomic,strong) UIImageView *meibaiImageView;
|
||||
@property(nonatomic,strong) UIImageView *tilaImageView;
|
||||
@property(nonatomic,strong) NSArray *imagesArr;
|
||||
- (instancetype)initWith:(NSArray *)images;
|
||||
-(void)updateImages:(NSArray *)images;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -24,7 +24,17 @@
|
|||
-(void)creatSubs{
|
||||
|
||||
for (NSInteger i=0; i<self.imagesArr.count; i ++) {
|
||||
|
||||
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.image = [UIImage imageNamed:self.imagesArr[i]];
|
||||
image.layer.shadowColor = [UIColor blackColor].CGColor;
|
||||
|
|
@ -50,4 +60,19 @@
|
|||
|
||||
//[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
|
||||
|
|
|
|||
|
|
@ -91,9 +91,11 @@
|
|||
|
||||
}];
|
||||
|
||||
[self bringSubviewToFront:jianyiLabel];
|
||||
[self bringSubviewToFront:timeLabel];
|
||||
|
||||
}
|
||||
|
||||
|
||||
- (void)layoutSubviews{
|
||||
[super layoutSubviews];
|
||||
[self drawViewInView:self.colorView backColor:GIGA_MAIN_BGCOLOR];
|
||||
|
|
@ -122,11 +124,15 @@
|
|||
}
|
||||
|
||||
-(void)loadMineWith:(NSString *)minute{
|
||||
|
||||
if ([minute isKindOfClass:[NSNull class]]) {
|
||||
minute = @"17";
|
||||
}
|
||||
NSString *time = [NSString stringWithFormat:@"%@分钟",minute];
|
||||
self.timeLabel.text = time;
|
||||
|
||||
}
|
||||
|
||||
|
||||
-(void)laoutSettings{
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,10 +7,13 @@
|
|||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "MaskTestResult.h"
|
||||
#import "MaskResultCandView.h"
|
||||
@interface MaskResultShareViewCell : UITableViewCell
|
||||
@property (nonatomic,strong) UIButton *shareBtn;
|
||||
-(void)kidTitle:(NSString *)title;
|
||||
@property (nonatomic,strong) MaskResultCandView *imagsBackView;
|
||||
|
||||
-(void)kidTitle:(MaskTestResult *)model;
|
||||
@property (nonatomic,strong) UILabel *candLabe;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,9 @@
|
|||
}];
|
||||
//小图标
|
||||
NSArray * imagesArr = @[@"result_water",@"result_moon",@"result_push"];
|
||||
|
||||
MaskResultCandView *imagsBackView = [[MaskResultCandView alloc] initWith:imagesArr];
|
||||
self.imagsBackView = imagsBackView;
|
||||
[self addSubview:imagsBackView];
|
||||
|
||||
[imagsBackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
|
|
@ -114,11 +116,19 @@
|
|||
|
||||
}
|
||||
|
||||
-(void)kidTitle:(NSString *)title{
|
||||
if (!title || [title isEqualToString:@""] || [title isKindOfClass:[NSNull class]]) {
|
||||
title = @"全效型";
|
||||
-(void)kidTitle:(MaskTestResult *)model{
|
||||
if (!model.mask || [model.mask isEqualToString:@""] || [model.mask isKindOfClass:[NSNull class]]) {
|
||||
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{
|
||||
|
|
|
|||
|
|
@ -8,6 +8,14 @@
|
|||
|
||||
#import "NYSliderPopover.h"
|
||||
#import "NYPopover.h"
|
||||
#define thumbBound_x 10
|
||||
#define thumbBound_y 20
|
||||
|
||||
@interface NYSliderPopover()
|
||||
{
|
||||
CGRect _lastBounds;
|
||||
}
|
||||
@end
|
||||
|
||||
@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
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ static const CGFloat kInputViewH = 44.f;
|
|||
}
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
//
|
||||
|
||||
#import "MaskShareBoootomViewCell.h"
|
||||
#import "ZXingWrapper.h"
|
||||
|
||||
//#import "ZXingWrapper.h"
|
||||
#import "UIImage+LogoQrCode.h"
|
||||
|
||||
@implementation MaskShareBoootomViewCell
|
||||
|
||||
|
|
@ -16,7 +16,9 @@
|
|||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
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;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<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>
|
||||
<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"/>
|
||||
|
|
@ -64,7 +64,10 @@
|
|||
</constraints>
|
||||
</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">
|
||||
<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"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
|
|
@ -76,7 +79,7 @@
|
|||
<nil key="highlightedColor"/>
|
||||
</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">
|
||||
<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"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<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="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 firstAttribute="bottom" secondItem="uqu-At-cU5" secondAttribute="bottom" constant="31" id="F3V-4E-z1P"/>
|
||||
<constraint firstItem="O00-AN-ESn" firstAttribute="top" secondItem="ns1-dj-ePW" secondAttribute="bottom" constant="4" id="VBQ-rU-lZq"/>
|
||||
<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="5" id="VBQ-rU-lZq"/>
|
||||
<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="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 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="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"/>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@
|
|||
|
||||
#import "GIGaChangePassVC.h"
|
||||
#import "GiGaBaseAPiRequest.h"
|
||||
#import "GiGaNetManager.h"
|
||||
#import "GiGaServerConfig.h"
|
||||
#import "GiGaAPIResult.h"
|
||||
|
||||
@interface GIGaChangePassVC ()
|
||||
|
||||
|
|
@ -79,22 +82,23 @@
|
|||
@"newPassword":self.xinPassFiled.text,
|
||||
@"newPasswordConfirm":self.reNewPassFiled.text
|
||||
};
|
||||
GiGaBaseAPiRequest *requst = [GiGaBaseAPiRequest initWithRequestPath:kPAiUSerEditpwd method:RequestPostMethod parms:params];
|
||||
[requst requstDataWithResult:^(GiGaAPIResult *result) {
|
||||
NSString *url = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],kPAiUSerEditpwd];
|
||||
[GiGaNetManager userbodyRequest:url params:params completionHandler:^(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error) {
|
||||
GiGaAPIResult *reult = [[GiGaAPIResult alloc] initWithDictionary:resDic];
|
||||
[self.view hideToastActivity];
|
||||
btn.userInteractionEnabled = YES;
|
||||
if (result.success) {
|
||||
GIGA_WIndowTost(result.message);
|
||||
if (reult.success) {
|
||||
GIGA_WIndowTost(reult.message);
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
|
||||
}else{
|
||||
if (result.code == 401) {
|
||||
//token失效
|
||||
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
||||
}
|
||||
GIGA_WIndowTost(result.message);
|
||||
if (reult.code == 401) {
|
||||
//token失效
|
||||
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
||||
}
|
||||
GIGA_WIndowTost(reult.message);
|
||||
}
|
||||
}];
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
#import "GiGaChangePhoneNumberVC.h"
|
||||
#import "GIGaUserChangeMobleCell.h"
|
||||
#import "GiGaBaseAPiRequest.h"
|
||||
|
||||
#import "NSTimer+Convenience.h"
|
||||
//typedef NS_ENUM(NSInteger,PohoneCodeType)
|
||||
//{
|
||||
// PohoneCodeTypeOld = 0,//原手机号
|
||||
|
|
@ -23,6 +23,9 @@
|
|||
@property(nonatomic) BOOL nextSteep;
|
||||
@property(nonatomic,copy) NSString *oldCode;
|
||||
@property(nonatomic,copy) NSString *xinCode;
|
||||
@property(nonatomic,strong) NSTimer*timer;
|
||||
@property(nonatomic) NSInteger time;
|
||||
@property(nonatomic,strong) UIButton *codeBtn;
|
||||
@end
|
||||
|
||||
@implementation GiGaChangePhoneNumberVC
|
||||
|
|
@ -31,6 +34,7 @@
|
|||
[super viewDidLoad];
|
||||
[self addNavTitile:@"修改手机号"];
|
||||
_nextSteep = NO;
|
||||
_time = 60;
|
||||
// Do any additional setup after loading the view from its nib.
|
||||
[self.view addSubview:self.tableView];
|
||||
self.tableView.delegate = self;
|
||||
|
|
@ -63,8 +67,11 @@
|
|||
|
||||
}
|
||||
[cell.codeSendBtn addTarget:self action:@selector(sendCodeBtnAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
self.codeBtn = cell.codeSendBtn;
|
||||
if (_nextSteep) {
|
||||
cell.numberTexFiled.userInteractionEnabled = YES;
|
||||
cell.numberTexFiled.text = @"";
|
||||
cell.numberTexFiled.placeholder = @"请输入新手机号";
|
||||
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];
|
||||
|
|
@ -78,6 +85,10 @@
|
|||
|
||||
}else{
|
||||
|
||||
GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser];
|
||||
if (user.mobileMask) {
|
||||
cell.numberTexFiled.text = user.mobileMask;
|
||||
}
|
||||
cell.numberTexFiled.userInteractionEnabled = NO;
|
||||
|
||||
}
|
||||
|
|
@ -117,6 +128,7 @@
|
|||
NSAttributedString *attrititle = [GiGaHelper stringWithText:@"完成" textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTBOLD(16) leterSpace:0];
|
||||
[nextBtn setAttributedTitle:attrititle forState:UIControlStateNormal];
|
||||
}
|
||||
|
||||
[view addSubview:nextBtn];
|
||||
|
||||
UILabel *tishiLab = [[UILabel alloc] init];
|
||||
|
|
@ -212,6 +224,8 @@
|
|||
|
||||
#pragma mark - 发送验证码
|
||||
-(void)sendCodeBtnAction:(UIButton *)btn{
|
||||
|
||||
|
||||
|
||||
if (_nextSteep) {
|
||||
GIGaUserChangeMobleCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
|
||||
|
|
@ -219,7 +233,9 @@
|
|||
GIGA_ShowToast(@"请输新手机号");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
btn.userInteractionEnabled = NO;
|
||||
[self startTimer:btn];
|
||||
self.xinCode = cell.codeTexFiled.text;
|
||||
[self sendCodeWith:cell.numberTexFiled.text];
|
||||
|
||||
|
|
@ -230,11 +246,32 @@
|
|||
GILog(@"手机号为空");
|
||||
return;
|
||||
}
|
||||
|
||||
btn.userInteractionEnabled = NO;
|
||||
[self startTimer:btn];
|
||||
[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{
|
||||
NSString *utl = nil;
|
||||
if (_nextSteep) {
|
||||
|
|
@ -244,14 +281,27 @@
|
|||
}
|
||||
GiGaBaseAPiRequest *api = [GiGaBaseAPiRequest initWithRequestPath:utl method:RequestPostMethod parms:@{@"mobile":phone}];
|
||||
[api requstDataWithResult:^(GiGaAPIResult *result) {
|
||||
|
||||
if (result.success) {
|
||||
GIGA_ShowToast(@"已发送");
|
||||
}else{
|
||||
[self codeBtnStateNormal];
|
||||
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 - 验证手机验证码
|
||||
-(void)verifyPhoneCode:(NSString *)phonenumber code:(NSString *)code btn:(UIButton *)btn
|
||||
{
|
||||
|
|
@ -261,7 +311,9 @@
|
|||
[api requstDataWithResult:^(GiGaAPIResult *result) {
|
||||
|
||||
if (result.success) {
|
||||
|
||||
if (self.nextSteep) {
|
||||
|
||||
//验证码通过 完成
|
||||
[self finishBtn:btn wtihNewPhone:phonenumber];
|
||||
|
||||
|
|
@ -270,6 +322,7 @@
|
|||
[self.view hideToastActivity];
|
||||
self.nextSteep = YES;
|
||||
self.oldCode = code;
|
||||
[self codeBtnStateNormal];
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
|
|
@ -281,7 +334,10 @@
|
|||
}];
|
||||
}
|
||||
|
||||
|
||||
-(void)dealloc{
|
||||
[self.timer invalidate];
|
||||
self.timer = nil;
|
||||
}
|
||||
- (void)didReceiveMemoryWarning {
|
||||
[super didReceiveMemoryWarning];
|
||||
// Dispose of any resources that can be recreated.
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@
|
|||
|
||||
@interface GiGaFeedBackViewController ()
|
||||
@property(nonatomic,strong) NSMutableArray *imagesUrl;
|
||||
@property(nonatomic,copy) NSString *kinCode;
|
||||
@property(nonatomic,strong) UIButton *tijiaoBtn;
|
||||
|
||||
@end
|
||||
|
||||
|
|
@ -29,6 +31,7 @@
|
|||
[super viewDidLoad];
|
||||
[self addNavTitile:@"意见反馈"];
|
||||
_imagesUrl = [NSMutableArray new];
|
||||
self.kinCode = @"1";
|
||||
[self.view addSubview:self.tableView];
|
||||
self.tableView.delegate = self;
|
||||
self.tableView.dataSource = self;
|
||||
|
|
@ -50,9 +53,10 @@
|
|||
btn.frame = CGRectMake((self.view.frame.size.width - 245) /2 , 20, 245,40);
|
||||
btn.backgroundColor = [UIColor whiteColor];
|
||||
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];
|
||||
[footer addSubview:btn];
|
||||
self.tijiaoBtn = btn;
|
||||
self.tableView.tableFooterView = footer;
|
||||
|
||||
|
||||
|
|
@ -93,13 +97,12 @@
|
|||
__weak typeof(cell) weakCell = cell;
|
||||
cell.pickerBalock = ^{
|
||||
[[SJPhotoPicker shareSJPhotoPicker] showPhotoPickerToController:self pickedAssets:^(NSArray<PHAsset *> *assets) {
|
||||
// 添加按钮6张以上被遮挡可不写
|
||||
// if ((weakCell.images.count + assets.count) > 6) {
|
||||
// GIGA_ShowToast(@"最多六张");
|
||||
// return ;
|
||||
// }
|
||||
|
||||
if ((weakCell.images.count + assets.count) > 6) {
|
||||
GIGA_ShowToast(@"最多六张");
|
||||
return ;
|
||||
}
|
||||
[weakCell.images addObjectsFromArray:assets];
|
||||
//weakSelf.images = [NSMutableArray arrayWithArray:assets];
|
||||
[weakCell.collectionView reloadData];
|
||||
|
||||
}];
|
||||
|
|
@ -115,9 +118,11 @@
|
|||
if (indexPath.section == 0) {
|
||||
|
||||
GiGaFeedBackKindView *piker = [GiGaFeedBackKindView showAt:self atRow:0];
|
||||
piker.selectedItemBlock = ^(NSString *tile) {
|
||||
GiGaFeedLeiIingViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
|
||||
cell.kidLabel.text = tile;
|
||||
|
||||
piker.selectedItemBlock = ^(GIGaFeedKind *kind) {
|
||||
GiGaFeedLeiIingViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
|
||||
cell.kidLabel.text = kind.dictLabel;
|
||||
self.kinCode = kind.dictCode;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -166,7 +171,7 @@
|
|||
|
||||
#pragma mark 提交
|
||||
|
||||
-(void)tijiaoAction{
|
||||
-(void)tijiaoAction:(UIButton *)btn{
|
||||
|
||||
|
||||
|
||||
|
|
@ -190,19 +195,27 @@
|
|||
NSDictionary *dic =nil;
|
||||
NSString *qqcom = qqcell.QTextFiled.text;
|
||||
if (!qqcom) {
|
||||
dic = @{@"type":kindcell.kidLabel.text,@"content":contencell.contentFiled.text};
|
||||
}else{
|
||||
dic = @{@"type":kindcell.kidLabel.text,@"content":contencell.contentFiled.text,@"contact":qqcom
|
||||
};
|
||||
qqcom = @"contact";
|
||||
}
|
||||
|
||||
[self.imagesUrl removeAllObjects];
|
||||
[self uploadImags:dic];
|
||||
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];
|
||||
}
|
||||
|
||||
}
|
||||
//先上传图片获取到 imageurls 再 提交内容信息
|
||||
|
||||
}
|
||||
|
||||
//先上传图片获取到 imageurls 再 提交内容信息
|
||||
-(void)uploadImags:(NSDictionary *)params{
|
||||
[self.imagesUrl removeAllObjects];
|
||||
|
||||
GIGaFeedPhontosViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:3]];
|
||||
NSArray *names =cell.imageNames;
|
||||
|
|
@ -233,15 +246,14 @@
|
|||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 单张上传
|
||||
|
||||
-(void)uploadImage:(NSData *)imageData name:(NSString *)name info:(NSDictionary *)info totalCount:(NSInteger)count{
|
||||
[self.view makeToastActivity:CSToastPositionCenter];
|
||||
self.tijiaoBtn.userInteractionEnabled = NO;
|
||||
NSString *url = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],kUploadFeed];
|
||||
[GiGaNetManager uploadImage:url imgData:imageData parms:@{@"file":@"file"} responseBlock:^(NSDictionary *responseDict, NSDictionary *responseHeaderFields, NSError *error) {
|
||||
[self.view hideToastActivity];
|
||||
|
|
@ -251,7 +263,8 @@
|
|||
|
||||
NSString *url = responseDict[@"url"];
|
||||
if (url) {
|
||||
[self.imagesUrl addObject:url];
|
||||
NSDictionary *dic = [NSDictionary dictionaryWithObject:url forKey:@"imgUrl"];
|
||||
[self.imagesUrl addObject:dic];
|
||||
NSLog(@"上船图片%@成功",name);
|
||||
NSLog(@"当前获取图片数组:%@",self.imagesUrl);
|
||||
if (self.imagesUrl.count == count) {
|
||||
|
|
@ -260,25 +273,29 @@
|
|||
}
|
||||
|
||||
}else if (result.code == 401){
|
||||
self.tijiaoBtn.userInteractionEnabled = YES;
|
||||
GIGA_WIndowTost(@"登录超时,请重新登录");
|
||||
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
||||
|
||||
}else{
|
||||
GIGA_ShowToast(result.message);
|
||||
self.tijiaoBtn.userInteractionEnabled = YES;
|
||||
}
|
||||
|
||||
}];
|
||||
}
|
||||
//body 传参数
|
||||
|
||||
//body 传参数
|
||||
-(void)uploadFeedinfo:(NSDictionary*)params imgUrlList:(NSArray *)urlArr{
|
||||
|
||||
NSMutableDictionary *finallyparam = [NSMutableDictionary dictionaryWithDictionary:params];
|
||||
[finallyparam setObject:urlArr forKey:@"imgUrlList"];
|
||||
|
||||
NSLog(@"finallyparam%@",finallyparam);
|
||||
[self.view makeToastActivity:CSToastPositionCenter];
|
||||
NSString *url = [NSString stringWithFormat:@"%@%@",[GiGaServerConfig getMainUrl],kAPiUpLoadFeeeds];
|
||||
[GiGaNetManager userbodyRequest:url params:finallyparam completionHandler:^(NSURLResponse *response, NSDictionary *resDic, NSError * _Nullable error) {
|
||||
self.tijiaoBtn.userInteractionEnabled = YES;
|
||||
[self.view hideToastActivity];
|
||||
if (error) {
|
||||
GILog(@"err:%@",error.localizedDescription);
|
||||
|
|
@ -289,7 +306,10 @@
|
|||
GiGaAPIResult *result = [[GiGaAPIResult alloc] initWithDictionary:resDic];
|
||||
|
||||
if (result.success) {
|
||||
GIGA_ShowToast(@"🙏感谢提出宝贵意见!🙏");
|
||||
|
||||
GIGA_WIndowTost(@"感谢提出宝贵意见!");
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
|
||||
}else if (result.code == 401){
|
||||
GIGA_WIndowTost(@"登录超时,请重新登录");
|
||||
[GiGaBaseAPiRequest userTokenTimeOutGologinFromVC:self];
|
||||
|
|
@ -326,6 +346,7 @@
|
|||
// }
|
||||
// }];
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
[super didReceiveMemoryWarning];
|
||||
// Dispose of any resources that can be recreated.
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
#import "UIImageView+WebCache.h"
|
||||
#import "GiGaUserInfoVC.h"
|
||||
#import "GIGaMaskTimeUseRecordVC.h"
|
||||
#import "MaskTestResultVC.h"
|
||||
|
||||
@interface GiGaMeViewController ()
|
||||
@property (nonatomic,strong) GiGaUser *user;
|
||||
|
|
@ -152,9 +153,11 @@
|
|||
[self.navigationController pushViewController:historyVC animated:YES];
|
||||
|
||||
}else if (indexPath.section == 1 && indexPath.row == 1){
|
||||
//使用记录
|
||||
GIGaMaskTimeUseRecordVC *historyVC= [[GIGaMaskTimeUseRecordVC alloc] init];
|
||||
[self.navigationController pushViewController:historyVC animated:YES];
|
||||
//历史测试
|
||||
// GIGaMaskTimeUseRecordVC *historyVC= [[GIGaMaskTimeUseRecordVC alloc] init];
|
||||
// [self.navigationController pushViewController:historyVC animated:YES];
|
||||
MaskTestResultVC *reult = [[MaskTestResultVC alloc] init];
|
||||
[self.navigationController pushViewController:reult animated:YES];
|
||||
|
||||
}else{
|
||||
//系统设置
|
||||
|
|
|
|||
|
|
@ -113,12 +113,12 @@
|
|||
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserIDViewCell" owner:self options:nil] lastObject];
|
||||
|
||||
}
|
||||
|
||||
[cell loadCellData:indexPath user: self.user];
|
||||
|
||||
return cell;
|
||||
|
||||
}else if (indexPath.section == 1 && indexPath.row <= 2){
|
||||
|
||||
GIGaUserWeChatViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GIGaUserWeChatViewCell"];
|
||||
if(!cell){
|
||||
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserWeChatViewCell" owner:self options:nil] lastObject];
|
||||
|
|
@ -157,14 +157,23 @@
|
|||
cell = [[GiGaUserJobViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];
|
||||
}
|
||||
|
||||
|
||||
[cell userSelectjobAction:^() {
|
||||
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 userSelectjob:^(NSString *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;
|
||||
|
|
@ -180,7 +189,7 @@
|
|||
weakify(self);
|
||||
[LYSDatePickerController customdidSelectDatePicker:^(NSDate *date) {
|
||||
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
|
||||
[dateFormat setDateFormat:@"yyyy/MM/dd"];
|
||||
[dateFormat setDateFormat:@"yyyy-MM-dd"];
|
||||
NSString *currentDate = [dateFormat stringFromDate:date];
|
||||
GIGaUserCityViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
|
||||
weakSelf.user.birthday = currentDate;
|
||||
|
|
@ -507,9 +516,10 @@
|
|||
if (newurl) {
|
||||
user.headImgUrl = newurl;
|
||||
}
|
||||
|
||||
[[GiGaUserManager shareUser] saveUser:user];
|
||||
NC_POST_NAME_OBJECT(kUserAvatorUpdateNoti, nil);
|
||||
GIGA_ShowToast(@"👮♀️修改成功")
|
||||
GIGA_ShowToast(@"修改成功")
|
||||
}else{
|
||||
GIGA_ShowToast(reullt.message);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,23 @@
|
|||
//
|
||||
|
||||
#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
|
||||
|
||||
|
|
@ -16,8 +31,131 @@
|
|||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.dataArr = [[NSMutableArray alloc] init];
|
||||
_currentPage = 1;
|
||||
_totalMinute = 0;
|
||||
_ranking = 0;
|
||||
_isFreshing = NO;
|
||||
[self addNavTitile:@"历史记录"];
|
||||
// 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 {
|
||||
|
|
@ -25,14 +163,55 @@
|
|||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
|
||||
/*
|
||||
#pragma mark - Navigation
|
||||
|
||||
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
||||
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
||||
// Get the new view controller using [segue destinationViewController].
|
||||
// Pass the selected object to the new view controller.
|
||||
-(void)creatRefreshView{
|
||||
|
||||
self.tableView.mj_header = [MJRefreshHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
|
||||
self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMore)];
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
-(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
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
#import "AppVerionDescriptionVC.h"
|
||||
#import "GIGaAboutUsVC.h"
|
||||
#import "GiGaFeedBackViewController.h"
|
||||
|
||||
#import "GiGaWebViewController.h"
|
||||
@interface GiSysSettingsVC ()
|
||||
|
||||
@end
|
||||
|
|
@ -78,11 +78,16 @@
|
|||
GIGaAboutUsVC *usVC= [[GIGaAboutUsVC alloc] init];
|
||||
[self.navigationController pushViewController:usVC animated:YES];
|
||||
}else if (indexPath.row == 3){
|
||||
AppVerionDescriptionVC *verVC =[[AppVerionDescriptionVC alloc] init];
|
||||
[self.navigationController pushViewController:verVC animated:YES];
|
||||
// AppVerionDescriptionVC *verVC =[[AppVerionDescriptionVC alloc] init];
|
||||
// [self.navigationController pushViewController:verVC animated:YES];
|
||||
|
||||
GiGaWebViewController *webVC = [[GiGaWebViewController alloc] init];
|
||||
webVC.url = @"";
|
||||
webVC.souceType = WebSourceTypeUrlLink;
|
||||
[self.navigationController pushViewController:webVC animated:YES];
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
|
|
@ -107,11 +112,10 @@
|
|||
[btn setTitle:@"退出登录" forState:UIControlStateNormal];
|
||||
btn.layer.masksToBounds = YES;
|
||||
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 addTarget:self action:@selector(userLogOutAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
[view addSubview:btn];
|
||||
|
||||
return view;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,5 +11,7 @@
|
|||
@interface GIGaFeedKind : JSONModel
|
||||
@property (nonatomic,copy) NSString *feed_id;
|
||||
@property (nonatomic,copy) NSString *remarks;
|
||||
@property (nonatomic,copy) NSString *dictLabel;
|
||||
@property (nonatomic,copy) NSString *dictCode;
|
||||
|
||||
@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]) {
|
||||
[self.imageNames removeObject:name];
|
||||
}
|
||||
|
||||
[self.imageNames addObject:name];
|
||||
|
||||
}];
|
||||
|
|
@ -140,8 +139,7 @@
|
|||
|
||||
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
|
||||
{
|
||||
//设置最小的列间距
|
||||
|
||||
//设置最小的列间
|
||||
return 22.0f;
|
||||
|
||||
}
|
||||
|
|
@ -164,12 +162,13 @@
|
|||
|
||||
}
|
||||
|
||||
|
||||
-(void)addBtnAction:(UIButton*)btn{
|
||||
|
||||
if (self.pickerBalock) {
|
||||
if (self.pickerBalock){
|
||||
self.pickerBalock();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
- (void)photoPikerComplete:(GiGaPhotoPickerBlock)pikerComplete{
|
||||
|
|
|
|||
|
|
@ -7,12 +7,13 @@
|
|||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "GIGaFeedKind.h"
|
||||
|
||||
@interface GiGaFeedBackKindView : UIViewController
|
||||
typedef void (^SelectedItemBlock)(NSString *tile);
|
||||
typedef void (^SelectedItemBlock)(GIGaFeedKind *kind);
|
||||
|
||||
+(GiGaFeedBackKindView *)showAt:(UIViewController *)vc atRow:(NSInteger)row;
|
||||
@property(nonatomic,copy)NSString *showStr;
|
||||
@property(nonatomic,strong)GIGaFeedKind *showKind;
|
||||
@property(nonatomic) NSInteger defultRow;
|
||||
@property (nonatomic, copy) SelectedItemBlock selectedItemBlock;
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
[self.pickerView selectRow:self.defultRow inComponent:0 animated:YES];
|
||||
GIGaFeedKind *mode = self.pickerDataArr[self.defultRow];
|
||||
if (mode) {
|
||||
self.showStr =mode.remarks;
|
||||
self.showKind =mode;
|
||||
}
|
||||
|
||||
}else{
|
||||
|
|
@ -123,7 +123,7 @@
|
|||
label.textAlignment = NSTextAlignmentCenter;
|
||||
label.textColor = [UIColor blackColor];
|
||||
GIGaFeedKind *mode = self.pickerDataArr[row];
|
||||
label.text = mode.remarks;
|
||||
label.text = mode.dictLabel;
|
||||
}
|
||||
return label;
|
||||
}
|
||||
|
|
@ -135,8 +135,8 @@
|
|||
|
||||
if (self.pickerDataArr.count > 0 ) {
|
||||
GIGaFeedKind *mode = self.pickerDataArr[row];
|
||||
self.showStr = mode.remarks;
|
||||
self.selectedItemBlock(self.showStr);
|
||||
self.showKind = mode;
|
||||
self.selectedItemBlock(mode);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -145,11 +145,12 @@
|
|||
-(void)done:(UIButton *)btn{
|
||||
|
||||
if (self.selectedItemBlock) {
|
||||
if ([self.showStr isEqualToString:@"未知"]) {
|
||||
if ([self.showKind.dictLabel isEqualToString:@"未知"]) {
|
||||
[self hide];
|
||||
return;
|
||||
}
|
||||
self.selectedItemBlock(self.showStr);
|
||||
|
||||
self.selectedItemBlock(self.showKind);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -189,8 +190,10 @@
|
|||
|
||||
if (self = [super init]) {
|
||||
self.modalPresentationStyle = UIModalPresentationOverCurrentContext;
|
||||
self.showStr = @"未知";
|
||||
|
||||
|
||||
self.showKind = [[GIGaFeedKind alloc] init];
|
||||
self.showKind.dictLabel = @"未知";
|
||||
|
||||
[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>
|
||||
|
||||
@interface GIGaUserChangeMobleCell : UITableViewCell
|
||||
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIButton *codeSendBtn;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *oldBtn;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *xinPhoneBtn;
|
||||
|
|
@ -16,4 +18,6 @@
|
|||
@property (weak, nonatomic) IBOutlet UITextField *numberTexFiled;
|
||||
@property (weak, nonatomic) IBOutlet UITextField *codeTexFiled;
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
//
|
||||
|
||||
#import "GIGaUserChangeMobleCell.h"
|
||||
#import "NSTimer+Convenience.h"
|
||||
|
||||
@implementation GIGaUserChangeMobleCell
|
||||
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@
|
|||
</constraints>
|
||||
<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"/>
|
||||
<textInputTraits key="textInputTraits"/>
|
||||
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
|
||||
</textField>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Xj0-4q-Lcf">
|
||||
<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="width" constant="59" id="eTQ-av-rBv"/>
|
||||
</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="发送验证码"/>
|
||||
</button>
|
||||
</subviews>
|
||||
|
|
|
|||
Loading…
Reference in New Issue