ExperienceCentreViewController.m 26 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
//
//  ExperienceCentreViewController.m
//  Lighting
//
//  Created by 曹云霄 on 16/6/1.
//  Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//

#import "ExperienceCentreViewController.h"
#import "SceneViewController.h"
11 12
#import "sceneScreeningCollectionViewCell.h"
#import "ProductScreeningTableViewCell.h"
勾芒's avatar
勾芒 committed
13 14
#import "GoodsImageView.h"
#import "ShareGoodsViewController.h"
曹云霄's avatar
曹云霄 committed
15
#import "DeviceDirectionManager.h"
曹云霄's avatar
曹云霄 committed
16 17
#import "HelpController.h"
#import "ShoppingBagViewController.h"
18

勾芒's avatar
勾芒 committed
19 20 21 22 23

#define LEFTWIDTH 100
#define RIGHTWIDTH 200
#define TOPWIDTH 300

曹云霄's avatar
曹云霄 committed
24
@interface ExperienceCentreViewController ()<AddImagesDelegate,UICollectionViewDelegate,UICollectionViewDataSource,UITableViewDelegate,UITableViewDataSource,UIGestureRecognizerDelegate,SharePicturedelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate>
25

勾芒's avatar
勾芒 committed
26

27 28 29 30 31

@end

@implementation ExperienceCentreViewController

32 33 34 35 36 37 38 39


- (NSMutableArray *)sceneDatasArray
{
    if (!_sceneDatasArray) {
        _sceneDatasArray = [NSMutableArray array];
    }
    return _sceneDatasArray;
40 41 42
}


43 44 45 46 47 48 49
- (NSMutableArray *)productDatasArray
{
    if (!_productDatasArray) {
        _productDatasArray = [NSMutableArray array];
    }
    return _productDatasArray;
}
50 51


勾芒's avatar
勾芒 committed
52 53 54 55 56 57 58 59
- (NSMutableArray *)shareGoodsArray
{
    if (!_shareGoodsArray) {
        _shareGoodsArray = [NSMutableArray array];
    }
    return _shareGoodsArray;
}

60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
- (NSMutableArray *)sceneTempArray
{
    if (!_sceneTempArray) {
        _sceneTempArray = [NSMutableArray array];
    }
    return _sceneTempArray;
}

- (NSMutableArray *)productTempArray
{
    if (!_productTempArray) {
        _productTempArray = [NSMutableArray array];
    }
    return _productTempArray;
}

76 77 78 79 80 81 82
- (NSMutableArray *)lampArray
{
    if (!_lampArray) {
        _lampArray = [NSMutableArray array];
    }
    return _lampArray;
}
83

84 85 86 87 88
- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self uiConfigAction];
}
89 90


91 92 93 94 95 96 97 98 99 100 101 102
#pragma mark -UI
- (void)uiConfigAction
{
    //场景
    self.sceneLayout.itemSize = CGSizeMake(133, 100);
    self.sceneLayout.minimumLineSpacing = 10;
    self.sceneLayout.sectionInset = UIEdgeInsetsMake(0, 10, 0, 10);
    self.sceneScrollview.delegate = self;
    self.sceneScrollview.dataSource = self;
    //产品
    self.productScrollview.dataSource = self;
    self.productScrollview.delegate = self;
103 104 105 106
    if (self.boolValue) {
        SceneListModel *model = [self.sceneDatasArray firstObject];
        [self.sceneImageView sd_setImageWithURL:[NSURL URLWithString:model.pricure] placeholderImage:REPLACEIMAGE];
    }
107 108 109 110 111 112 113
}

#pragma mark -UICollectionViewDataSource场景
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return self.sceneDatasArray.count;
}
114

115 116 117
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    sceneScreeningCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"sceneScreeningCollectionViewCell" forIndexPath:indexPath];
勾芒's avatar
勾芒 committed
118 119
     SceneListModel *model = [self.sceneDatasArray objectAtIndex_opple:indexPath.item];
    [cell.selectedScrenImageView sd_setImageWithURL:[NSURL URLWithString:model.pricure] placeholderImage:REPLACEIMAGE];
120 121 122
    cell.selectedScrenImageView.tag = indexPath.item+100;
    cell.selectedScrenImageView.userInteractionEnabled = YES;
    [cell.selectedScrenImageView addGestureRecognizer:[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressRemove:)]];
勾芒's avatar
勾芒 committed
123 124
    cell.selectedScrenImageView.layer.masksToBounds = YES;
    cell.selectedScrenImageView.layer.cornerRadius = kCornerRadius;
勾芒's avatar
勾芒 committed
125
    if (model.isSelectedSate) {
勾芒's avatar
勾芒 committed
126 127 128 129 130 131
        cell.selectedScrenImageView.layer.borderWidth = 2.0f;
        cell.selectedScrenImageView.layer.borderColor = kMainBlueColor.CGColor;
    }else
    {
        cell.selectedScrenImageView.layer.borderWidth = 0;
    }
132 133
    return cell;
}
134

135 136
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
勾芒's avatar
勾芒 committed
137 138
    for (SceneListModel *model in self.sceneDatasArray) {
        model.isSelectedSate = NO;
勾芒's avatar
勾芒 committed
139
    }
勾芒's avatar
勾芒 committed
140 141 142
   SceneListModel *model = [self.sceneDatasArray objectAtIndex_opple:indexPath.item];
    model.isSelectedSate = YES;
    [self.sceneImageView sd_setImageWithURL:[NSURL URLWithString:model.pricure] placeholderImage:REPLACEIMAGE];
勾芒's avatar
勾芒 committed
143
    [self.sceneScrollview reloadData];
144
}
145 146 147



148 149 150 151 152
#pragma mark -UITableViewDataSource商品
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.productDatasArray.count;
}
153

154 155 156 157 158
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    ProductScreeningTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ProductScreeningTableViewCell" forIndexPath:indexPath];
    cell.backgroundColor = [UIColor clearColor];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
勾芒's avatar
勾芒 committed
159
    TOGoodsEntityModel *model = [self.productDatasArray objectAtIndex_opple:indexPath.row];
勾芒's avatar
勾芒 committed
160 161 162 163 164 165 166
    if (model.isSelectedState) {
        cell.selectedGoodsImageView.layer.borderWidth = 2.0f;
        cell.selectedGoodsImageView.layer.borderColor = kMainBlueColor.CGColor;
    }else
    {
        cell.selectedGoodsImageView.layer.borderWidth = 0;
    }
勾芒's avatar
勾芒 committed
167
    NSArray *imags = [model.pictures componentsSeparatedByString:@","];
168
    [cell.selectedGoodsImageView sd_setImageWithURL:[NSURL URLWithString:[imags firstObject]]];
169 170 171
    cell.selectedGoodsImageView.userInteractionEnabled = YES;
    cell.selectedGoodsImageView.tag = indexPath.row + 100;
    [cell.selectedGoodsImageView addGestureRecognizer:[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(productLongPressRemove:)]];
172 173
    return cell;
}
174 175


176 177 178 179
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 100;
}
180

勾芒's avatar
勾芒 committed
181 182
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
183
    __weak typeof(self) weakSelf = self;
勾芒's avatar
勾芒 committed
184
    ProductScreeningTableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
勾芒's avatar
勾芒 committed
185
    TOGoodsEntityModel *model = [self.productDatasArray objectAtIndex_opple:indexPath.row];
勾芒's avatar
勾芒 committed
186 187
    CGRect cellRect = [cell convertRect:cell.bounds toView:self.view];
    GoodsImageView *imageView = [[GoodsImageView alloc]initWithFrame:cellRect];
勾芒's avatar
勾芒 committed
188
    imageView.model = model;
189
    [imageView setDelectedBlock:^(TOGoodsEntityModel *delectedModel,GoodsImageView *deleteImageView) {
曹云霄's avatar
曹云霄 committed
190
        //删除先判断数量
191
        for (TOGoodsEntityModel *newModel in weakSelf.shareGoodsArray) {
曹云霄's avatar
曹云霄 committed
192 193
            if ([newModel.fid isEqualToString:delectedModel.fid]) {
                if (newModel.goodsNumber <= 1) {
194 195
                    [weakSelf.shareGoodsArray removeObject:delectedModel];
                    [weakSelf.lampArray removeObject:deleteImageView];
曹云霄's avatar
曹云霄 committed
196 197 198 199 200 201 202
                }else
                {
                    newModel.goodsNumber --;
                }
                break;
            }
        }
勾芒's avatar
勾芒 committed
203
    }];
勾芒's avatar
勾芒 committed
204 205 206
    imageView.userInteractionEnabled = YES;
    [UIView animateWithDuration:0.5 animations:^{
        
勾芒's avatar
勾芒 committed
207
        imageView.frame = CGRectMake((ScreenWidth-266)/2, (ScreenHeight-200)/2, 266, 200);
勾芒's avatar
勾芒 committed
208
    }];
209
    for (TOGoodsEntityModel *model in weakSelf.productDatasArray) {
勾芒's avatar
勾芒 committed
210 211 212
        model.isSelectedState = NO;
    }
    model.isSelectedState = YES;
曹云霄's avatar
曹云霄 committed
213 214 215 216 217 218 219 220 221 222 223 224
    
    //判断选中的商品是否已经存在
    if ([self.shareGoodsArray containsObject:model]) {
        for (TOGoodsEntityModel *newModel in self.shareGoodsArray) {
            if ([newModel.fid isEqualToString:model.fid]) {
                newModel.goodsNumber ++;
                break;
            }
        }
    }else
    {
       [self.shareGoodsArray addObject:model];
225
        [self.lampArray addObject:imageView];
曹云霄's avatar
曹云霄 committed
226
    }
勾芒's avatar
勾芒 committed
227 228
    NSArray *imags = [model.pictures componentsSeparatedByString:@","];
    [imageView sd_setImageWithURL:[NSURL URLWithString:[imags firstObject]] placeholderImage:REPLACEIMAGE];
229
    imageView.showImageViewAddress = [imags firstObject];
勾芒's avatar
勾芒 committed
230
    [self.sceneBackView addSubview:imageView];
勾芒's avatar
勾芒 committed
231
    [self.productScrollview reloadData];
勾芒's avatar
勾芒 committed
232
}
233 234 235 236 237


#pragma mark -返回
- (IBAction)ReturnButtonClickAction:(UIButton *)sender {
    
曹云霄's avatar
曹云霄 committed
238 239
    SHARED_APPDELEGATE.sceneArray = nil;
    SHARED_APPDELEGATE.productArray = nil;
240 241 242 243 244 245
    [self dismissViewControllerAnimated:YES completion:nil];
}


#pragma mark -购物袋
- (IBAction)ShoppingBagButtonClickAction:(UIButton *)sender {
勾芒's avatar
勾芒 committed
246
    
曹云霄's avatar
曹云霄 committed
247 248 249 250 251 252 253 254 255 256
    sender.selected = YES;
    ShoppingBagViewController *shoppingBag = [[self getStoryboardWithName] instantiateViewControllerWithIdentifier:@"shoppingbagController"];
    [shoppingBag setDismissBlock:^{
        sender.selected = NO;
    }];
    shoppingBag.modalPresentationStyle = UIModalPresentationOverFullScreen;
    UIPopoverPresentationController *pop = shoppingBag.popoverPresentationController;
    pop.sourceView = shoppingBag.view;
    shoppingBag.datasArray = self.shareGoodsArray;
    [self presentViewController:shoppingBag animated:YES completion:nil];
257 258 259 260
}

#pragma mark -分享
- (IBAction)ShareButtonClickAction:(UIButton *)sender {
勾芒's avatar
勾芒 committed
261
    
262 263 264 265
    if (!self.shareGoodsArray.count) {
        [self ErrorMBProgressView:@"没有选择需要分享的商品"];
        return;
    }
曹云霄's avatar
曹云霄 committed
266
    UIImageWriteToSavedPhotosAlbum([self capture], self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
勾芒's avatar
勾芒 committed
267
    ShareGoodsViewController *shareController = [[ShareGoodsViewController alloc]init];
勾芒's avatar
勾芒 committed
268 269 270 271 272 273 274 275
    //商品id拼接
    NSMutableString *goodsID = [[NSMutableString alloc]init];
    for (TOGoodsEntityModel *model in self.shareGoodsArray) {
        [goodsID appendFormat:@"%@,",model.fid];
    }
    shareController.goodsIds = goodsID;
    shareController.shareImage = [self capture];
    shareController.delegate = self;
勾芒's avatar
勾芒 committed
276 277 278 279 280 281 282
    shareController.preferredContentSize = CGSizeMake(290, 120);
    shareController.modalPresentationStyle = UIModalPresentationPopover;
    UIPopoverPresentationController *popover = shareController.popoverPresentationController;
    popover.permittedArrowDirections = UIPopoverArrowDirectionLeft;
    popover.sourceView = shareController.view;
    popover.sourceRect =  CGRectMake(sender.mj_x, sender.mj_y-30, sender.mj_w, sender.mj_h);
    [self presentViewController:shareController animated:YES completion:nil];
曹云霄's avatar
曹云霄 committed
283 284 285 286 287 288 289 290 291 292 293 294 295
    

}

#pragma mark -保存图片到相册
- (void)image: (UIImage *) image didFinishSavingWithError: (NSError *) error contextInfo: (void *) contextInfo
{
    if (error != NULL) {
        [self ErrorMBProgressView:@"保存相册失败"];
    }else
    {
        [self SuccessMBProgressView:@"保存相册成功"];
    }
296 297 298 299
}

#pragma mark -拍照
- (IBAction)TakingPhotoButtonClickAction:(UIButton *)sender {
曹云霄's avatar
曹云霄 committed
300
    
曹云霄's avatar
曹云霄 committed
301
    sender.selected = YES;
曹云霄's avatar
曹云霄 committed
302 303 304 305 306 307 308 309 310 311 312 313 314 315
    UIAlertController *alertView = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleAlert];
    UIImagePickerController *PcCamera = [[UIImagePickerController alloc]init];
    PcCamera.delegate = self;
    [DeviceDirectionManager instance].isHorizontal=YES;
    [alertView addAction:[UIAlertAction actionWithTitle:@"拍照" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        //拍照
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
            [PcCamera setSourceType:UIImagePickerControllerSourceTypeCamera];
            PcCamera.allowsEditing = YES;
            [self presentViewController:PcCamera animated:YES completion:nil];
        }
        else
        {
            [self ErrorMBProgressView:@"相机无法使用"];
曹云霄's avatar
曹云霄 committed
316
            sender.selected = NO;
曹云霄's avatar
曹云霄 committed
317 318 319 320 321 322 323 324 325 326 327 328
        }
    }]];
    [alertView addAction:[UIAlertAction actionWithTitle:@"从相册选择" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        //从相册中选择
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
            [PcCamera setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
            PcCamera.allowsEditing = YES;
            [self presentViewController:PcCamera animated:YES completion:nil];
        }
        else
        {
            [self ErrorMBProgressView:@"相册无法打开"];
曹云霄's avatar
曹云霄 committed
329
            sender.selected = NO;
曹云霄's avatar
曹云霄 committed
330 331 332
        }
    }]];
    [alertView addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
曹云霄's avatar
曹云霄 committed
333
        self.takingPicturesButton.selected = NO;
曹云霄's avatar
曹云霄 committed
334 335 336 337
        [alertView dismissViewControllerAnimated:YES completion:nil];
    }]];
    [self presentViewController:alertView animated:YES completion:nil];
}
勾芒's avatar
勾芒 committed
338

曹云霄's avatar
曹云霄 committed
339 340 341 342
#pragma mark -拍照、从相册选择
#pragma -mark -UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info
{
曹云霄's avatar
曹云霄 committed
343
    [DeviceDirectionManager instance].isHorizontal = NO;
曹云霄's avatar
曹云霄 committed
344 345 346
    [self dismissViewControllerAnimated:YES completion:nil];
    UIImage *Headimage = [info objectForKey:UIImagePickerControllerOriginalImage];
    self.sceneImageView.image = Headimage;
曹云霄's avatar
曹云霄 committed
347
    self.takingPicturesButton.selected = NO;
勾芒's avatar
勾芒 committed
348
}
勾芒's avatar
勾芒 committed
349

勾芒's avatar
勾芒 committed
350 351 352 353 354 355 356 357 358 359 360 361 362
#pragma mark -截屏
- (UIImage *)capture
{
    // 创建一个context
    UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 0.0);
    //把当前的全部画面导入到栈顶context中并进行渲染
    [self.sceneBackView.layer renderInContext:UIGraphicsGetCurrentContext()];
    // 从当前context中创建一个新图片
    UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
    // 使当前的context出堆栈
    UIGraphicsEndImageContext();
    return img;
}
勾芒's avatar
勾芒 committed
363

曹云霄's avatar
曹云霄 committed
364

365 366
#pragma mark -全屏
- (IBAction)AmplificationButtonClickAction:(UIButton *)sender {
勾芒's avatar
勾芒 committed
367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401
    
    if (!sender.selected) {
        
        [UIView animateWithDuration:0.75 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
            
            self.returnButton.frame = CGRectMake(self.returnButton.mj_x-LEFTWIDTH, self.returnButton.mj_y, self.returnButton.mj_w, self.returnButton.mj_h);
            self.shoppingbagButton.frame = CGRectMake(self.shoppingbagButton.mj_x-LEFTWIDTH, self.shoppingbagButton.mj_y, self.shoppingbagButton.mj_w, self.shoppingbagButton.mj_h);
            self.shareButton.frame = CGRectMake(self.shareButton.mj_x-LEFTWIDTH, self.shareButton.mj_y, self.shareButton.mj_w, self.shareButton.mj_h);
            self.takingPicturesButton.frame = CGRectMake(self.takingPicturesButton.mj_x-LEFTWIDTH, self.takingPicturesButton.mj_y, self.takingPicturesButton.mj_w, self.takingPicturesButton.mj_h);
            self.helpButton.frame = CGRectMake(self.helpButton.mj_x-LEFTWIDTH, self.helpButton.mj_y, self.helpButton.mj_w, self.helpButton.mj_h);
            self.sceneSelectedButton.frame = CGRectMake(self.sceneSelectedButton.mj_x, self.sceneSelectedButton.mj_y+RIGHTWIDTH, self.sceneSelectedButton.mj_w, self.sceneSelectedButton.mj_h);
            self.sceneScrollview.frame = CGRectMake(self.sceneScrollview.mj_x, self.sceneScrollview.mj_y+RIGHTWIDTH, self.sceneScrollview.mj_w, self.sceneScrollview.mj_h);
            self.productSelectedButton.frame = CGRectMake(self.productSelectedButton.mj_x+RIGHTWIDTH, self.productSelectedButton.mj_y, self.productSelectedButton.mj_w, self.productSelectedButton.mj_h);
            self.productScrollview.frame = CGRectMake(self.productScrollview.mj_x+RIGHTWIDTH, self.productScrollview.mj_y, self.productScrollview.mj_w, self.productScrollview.mj_h);
             self.amplificationButton.frame = CGRectMake(self.amplificationButton.mj_x, self.amplificationButton.mj_y-(RIGHTWIDTH+LEFTWIDTH), self.amplificationButton.mj_w, self.amplificationButton.mj_h);
            
        } completion:nil];
    }else
    {
        [UIView animateWithDuration:0.75 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
            
            self.returnButton.frame = CGRectMake(self.returnButton.mj_x+LEFTWIDTH, self.returnButton.mj_y, self.returnButton.mj_w, self.returnButton.mj_h);
            self.shoppingbagButton.frame = CGRectMake(self.shoppingbagButton.mj_x+LEFTWIDTH, self.shoppingbagButton.mj_y, self.shoppingbagButton.mj_w, self.shoppingbagButton.mj_h);
            self.shareButton.frame = CGRectMake(self.shareButton.mj_x+LEFTWIDTH, self.shareButton.mj_y, self.shareButton.mj_w, self.shareButton.mj_h);
            self.takingPicturesButton.frame = CGRectMake(self.takingPicturesButton.mj_x+LEFTWIDTH, self.takingPicturesButton.mj_y, self.takingPicturesButton.mj_w, self.takingPicturesButton.mj_h);
            self.helpButton.frame = CGRectMake(self.helpButton.mj_x+LEFTWIDTH, self.helpButton.mj_y, self.helpButton.mj_w, self.helpButton.mj_h);
            self.sceneSelectedButton.frame = CGRectMake(self.sceneSelectedButton.mj_x, self.sceneSelectedButton.mj_y-RIGHTWIDTH, self.sceneSelectedButton.mj_w, self.sceneSelectedButton.mj_h);
            self.sceneScrollview.frame = CGRectMake(self.sceneScrollview.mj_x, self.sceneScrollview.mj_y-RIGHTWIDTH, self.sceneScrollview.mj_w, self.sceneScrollview.mj_h);
            self.productSelectedButton.frame = CGRectMake(self.productSelectedButton.mj_x-RIGHTWIDTH, self.productSelectedButton.mj_y, self.productSelectedButton.mj_w, self.productSelectedButton.mj_h);
            self.productScrollview.frame = CGRectMake(self.productScrollview.mj_x-RIGHTWIDTH, self.productScrollview.mj_y, self.productScrollview.mj_w, self.productScrollview.mj_h);
            self.amplificationButton.frame = CGRectMake(self.amplificationButton.mj_x, self.amplificationButton.mj_y+(RIGHTWIDTH+LEFTWIDTH), self.amplificationButton.mj_w, self.amplificationButton.mj_h);
            
        } completion:nil];
    }
    sender.selected = !sender.selected;
402 403 404 405
}

#pragma mark -帮助
- (IBAction)HelpButtonClickAction:(UIButton *)sender {
曹云霄's avatar
曹云霄 committed
406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426
    
    sender.selected = YES;
    HelpController *helpView = [[HelpController alloc]init];
    helpView.backButtonPoint = self.returnButton.mj_origin;
    helpView.shoppingbagPoint = self.shoppingbagButton.mj_origin;
    helpView.sharePoint = self.shareButton.mj_origin;
    helpView.photoPoint = self.takingPicturesButton.mj_origin;
    helpView.fullScreenPoint = self.amplificationButton.mj_origin;
    helpView.helpPoint = self.helpButton.mj_origin;
    helpView.scenePoint = self.sceneSelectedButton.center;
    helpView.productPoint = self.productSelectedButton.center;
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(dismissAction:)];
    [helpView.view addGestureRecognizer:tap];
    [self.view addSubview:helpView.view];
}

#pragma mark -销毁
- (void)dismissAction:(UITapGestureRecognizer *)tap
{
    self.helpButton.selected = NO;
    [tap.view removeFromSuperview];
427 428 429 430 431 432 433
}


/**************************功能区**************************/
#pragma mark -场景筛选
- (IBAction)SceneSelectedButtonClickAction:(UIButton *)sender {
    
曹云霄's avatar
曹云霄 committed
434
    sender.selected = YES;
勾芒's avatar
勾芒 committed
435
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"SCENE"];
436
    SceneViewController *sceneVC = [[self getStoryboardWithName] instantiateViewControllerWithIdentifier:@"SceneController"];
曹云霄's avatar
曹云霄 committed
437 438 439
    [sceneVC setDismissBlock:^{
        sender.selected = NO;
    }];
勾芒's avatar
勾芒 committed
440
    sceneVC.view.backgroundColor = [UIColor clearColor];
曹云霄's avatar
曹云霄 committed
441
    sceneVC.titleLabe.text = @"选择场景";
勾芒's avatar
勾芒 committed
442 443 444 445
    sceneVC.searchBackView.hidden = YES;
    sceneVC.materialButton.hidden = YES;
    sceneVC.priceButton.hidden = YES;
    sceneVC.typeButton.hidden = YES;
446 447
    sceneVC.delegate = self;
    sceneVC.endAnimationPoint = self.sceneSelectedButton.center;
448 449 450 451 452 453 454 455
    sceneVC.modalPresentationStyle = UIModalPresentationOverFullScreen;
    UIPopoverPresentationController *pop = sceneVC.popoverPresentationController;
    pop.sourceView = sceneVC.view;
    [self presentViewController:sceneVC animated:YES completion:nil];
}

#pragma mark -产品筛选
- (IBAction)ProductSelectedButtonClickAction:(UIButton *)sender {
勾芒's avatar
勾芒 committed
456
    
曹云霄's avatar
曹云霄 committed
457
    sender.selected = YES;
勾芒's avatar
勾芒 committed
458 459
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"SCENE"];
    SceneViewController *sceneVC = [[self getStoryboardWithName] instantiateViewControllerWithIdentifier:@"SceneController"];
曹云霄's avatar
曹云霄 committed
460 461 462
    [sceneVC setDismissBlock:^{
        sender.selected = NO;
    }];
勾芒's avatar
勾芒 committed
463
    sceneVC.view.backgroundColor = [UIColor clearColor];
曹云霄's avatar
曹云霄 committed
464
    sceneVC.titleLabe.text = @"选择商品";
勾芒's avatar
勾芒 committed
465 466 467 468
    sceneVC.searchBackView.hidden = NO;
    sceneVC.materialButton.hidden = NO;
    sceneVC.priceButton.hidden = NO;
    sceneVC.typeButton.hidden = NO;
469 470
    sceneVC.delegate = self;
    sceneVC.endAnimationPoint = self.productSelectedButton.center;
勾芒's avatar
勾芒 committed
471 472 473 474
    sceneVC.modalPresentationStyle = UIModalPresentationOverFullScreen;
    UIPopoverPresentationController *pop = sceneVC.popoverPresentationController;
    pop.sourceView = sceneVC.view;
    [self presentViewController:sceneVC animated:YES completion:nil];
475 476 477 478
}



479
#pragma mark -AddImagesDelegate选中图片
勾芒's avatar
勾芒 committed
480
- (void)SelectedImageswithModel:(JSONModel *)model withisScene:(BOOL)isScene returnResponse:(void (^)(BOOL))isThere
481 482
{
    if (isScene) {
勾芒's avatar
勾芒 committed
483
        //场景
曹云霄's avatar
曹云霄 committed
484
        SceneListModel *sceneModel = [(SceneListModel *)model copy];
485 486 487
        for (int i=0; i<self.sceneDatasArray.count; i++) {
            SceneListModel * model = [self.sceneDatasArray objectAtIndex_opple:i];
            if ([model.fid isEqualToString:sceneModel.fid]) {
勾芒's avatar
勾芒 committed
488
                isThere(YES);
489 490
                [self.sceneDatasArray removeObject:model];
                [self.sceneScrollview deleteItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:i inSection:0]]];
勾芒's avatar
勾芒 committed
491 492
                return;
            }
493
        }
勾芒's avatar
勾芒 committed
494
        isThere(NO);
495
        [self.sceneTempArray addObject:sceneModel];
496 497 498
        
    }else
    {
勾芒's avatar
勾芒 committed
499
        //产品
曹云霄's avatar
曹云霄 committed
500
        TOGoodsEntityModel *goodsModel = [(TOGoodsEntityModel *)model copy];
501 502 503
        for (int i=0; i<self.productDatasArray.count; i++) {
            TOGoodsEntityModel *model = [self.productDatasArray objectAtIndex_opple:i];
            if ([model.fid isEqualToString:goodsModel.fid]) {
勾芒's avatar
勾芒 committed
504
                isThere(YES);
505 506
                [self.productDatasArray removeObject:model];
                [self.productScrollview deleteRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:i inSection:0]] withRowAnimation:UITableViewRowAnimationFade];
勾芒's avatar
勾芒 committed
507 508
                return;
            }
509
        }
勾芒's avatar
勾芒 committed
510
        isThere(NO);
511
        [self.productTempArray addObject:goodsModel];
512 513 514 515 516 517 518 519
    }
}

#pragma mark -刷新
- (void)RefreshSceneAndProduct:(BOOL)isScene
{
    if (isScene) {
        
520 521 522 523 524 525
        SceneListModel *model = [self.sceneTempArray firstObject];
        model.isSelectedSate = NO;
        [self.sceneDatasArray addObject:model];
        SHARED_APPDELEGATE.sceneArray = self.sceneDatasArray;
        [self.sceneTempArray removeObjectAtIndex:0];
        [self.sceneScrollview insertItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:self.sceneDatasArray.count-1 inSection:0]]];
526 527 528 529
        [self.sceneScrollview selectItemAtIndexPath:[NSIndexPath indexPathForRow:self.sceneDatasArray.count-1 inSection:0] animated:YES scrollPosition:UICollectionViewScrollPositionRight];
        
    }else
    {
530 531 532 533 534 535
        TOGoodsEntityModel *goodsModel = [self.productTempArray firstObject];
        goodsModel.isSelectedState = NO;
        [self.productDatasArray addObject:goodsModel];
        SHARED_APPDELEGATE.productArray = self.productDatasArray;
        [self.productTempArray removeObjectAtIndex:0];
        [self.productScrollview insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:self.productDatasArray.count-1 inSection:0]] withRowAnimation:UITableViewRowAnimationFade];
536 537 538 539
        [self.productScrollview scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:self.productDatasArray.count-1 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:YES];
    }
}

540 541 542 543 544 545 546 547 548 549 550 551
#pragma mark -场景长按删除
- (void)longPressRemove:(UILongPressGestureRecognizer *)longPress
{
    if (longPress.state == UIGestureRecognizerStateBegan) {
        NSInteger index = longPress.view.tag-100;
        [self.sceneDatasArray removeObjectAtIndex:index];
        [self.sceneScrollview deleteItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            [self.sceneScrollview reloadData];
        });
    }
}
552

553 554 555 556 557 558 559 560 561 562 563 564
#pragma mark -产品长按删除
- (void)productLongPressRemove:(UILongPressGestureRecognizer *)longPress
{
    if (longPress.state == UIGestureRecognizerStateBegan) {
        NSInteger index = longPress.view.tag-100;
        [self.productDatasArray removeObjectAtIndex:index];
        [self.productScrollview deleteRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:index inSection:0]] withRowAnimation:UITableViewRowAnimationFade];
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            [self.productScrollview reloadData];
        });
    }
}
勾芒's avatar
勾芒 committed
565

勾芒's avatar
勾芒 committed
566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595
#pragma mark ---SharePicturedelegate
#pragma mark -上传图片进度
- (void)UploadImageProgress:(double)progress
{
    dispatch_async(dispatch_get_main_queue(), ^{
        
        [self ShowProgressView:progress];
    });
}

#pragma mark -上传图片完成
- (void)UploadImageSuccess
{
    dispatch_async(dispatch_get_main_queue(), ^{
        
        self.TCHud.labelText = @"上传完成";
        [self RemoveMBProgressHUDLoding];
    });
}

#pragma mark -上传图片失败
- (void)UploadImageFailue
{
    dispatch_async(dispatch_get_main_queue(), ^{
        
        self.TCHud.labelText = @"上传失败";
        [self RemoveMBProgressHUDLoding];
    });
}

曹云霄's avatar
曹云霄 committed
596 597 598 599 600 601
#pragma mark -分享失败
- (void)CodeNotEqualZero:(NSString *)message
{
    [self ErrorMBProgressView:message];
}

602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619
#pragma mark -切换灯图片
- (IBAction)changeLampImageClickAction:(UIButton *)sender {

    //满足多组灯同时切换
    for (GoodsImageView *imageView in self.lampArray) {
        for (TOGoodsEntityModel *model in self.shareGoodsArray) {
            NSArray *images = [model.pictures componentsSeparatedByString:@","];
            if (![images containsObject:imageView.showImageViewAddress])continue;
            NSInteger index = [images indexOfObject:imageView.showImageViewAddress];
            if (index < images.count-1) {
                [imageView sd_setImageWithURL:[NSURL URLWithString:[images objectAtIndex:index+=1]]];
                imageView.showImageViewAddress = [images objectAtIndex:index];
            } else {
                [imageView sd_setImageWithURL:[NSURL URLWithString:[images firstObject]]];
                imageView.showImageViewAddress = [images firstObject];
            }
        }
    }
曹云霄's avatar
曹云霄 committed
620
    sender.selected = !sender.selected;
621 622 623 624
}


@end