add
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user