// // AppDelegate+Deeplink.m // iCemarose // // Created by Sanchew on 2017/6/29. // Copyright © 2017年 kollway. All rights reserved. // #import "AppDelegate+Deeplink.h" #import <JLRoutes/JLRoutes.h> #import "AppDelegate.h" #import "KWMNewProductVC.h" #import "KWMSelectedGoodsVC.h" #import "KWMBlogDetailVC.h" #import "KWMNewProductVC.h" @implementation AppDelegate (Deeplink) - (void)registerRouter { JLRoutes *routes = [JLRoutes routesForScheme:@"cemarose"]; [routes addRoute:@"/collections/:handle/*" handler:^BOOL(NSDictionary<NSString *,id> * _Nonnull parameters) { NSArray *tags = parameters[JLRouteWildcardComponentsKey]; tags = tags.count > 0 ? [tags[0] componentsSeparatedByString:@"+"] : nil; // NSArray *tags = [parameters[JLRouteWildcardComponentsKey] componentsSeparatedByString:@"+"]; NSLog(@"trace tags %@",[tags componentsJoinedByString:@","]); // NSArray *brands = @[@"amelie-wang",@"babywalker",@"beau-loves",@"billieblush",@"billybandit",@"bonpoint",@"burberry",@"caramel",@"chloe",@"collegien",@"dolce-gabbana",@"emile-et-ida",@"fendi",@"gucci",@"hucklebones",@"il-gufo",@"indikidual",@"karl-lagerfeld-kids",@"kenzo",@"lanvin",@"little-marc-jacobs",@"loud-apparel",@"louis-louise",@"louise-misha",@"marie-chantal",@"marni",@"mini-melissa",@"mini-rodini",@"mischka-aoki",@"moncler",@"moschino",@"msgm",@"nailmatic",@"nana-huchy",@"noukies",@"oeuf",@"patachou",@"paul-smith",@"pepe",@"sons-daughters-eyewear",@"stella-mccartney-kids",@"story-loris",@"tartine-et-chocolat",@"the-animals-observatory",@"tiny-cottons",@"veja",@"young-versace",@"zadig-voltaire"]; KWMSelectedGoodsVC * selectedGoodsVC = (KWMSelectedGoodsVC *)[KWMBaseVC findControllerBy:[KWMSelectedGoodsVC kwmTag] fromStoryboard:@"New"]; selectedGoodsVC.handle = parameters[@"handle"]; selectedGoodsVC.ctags = tags; selectedGoodsVC.title = parameters[@"title"]; [[AppDelegate mainViewController].selectedViewController pushViewController:selectedGoodsVC animated:YES]; return YES; }]; [routes addRoute:@"/products/:id" handler:^BOOL(NSDictionary<NSString *,id> * _Nonnull parameters) { NSLog(@"product id %@",parameters[@"id"]); KWMNewProductVC *vc = [KWMNewProductVC getNewInstance]; // KWMNewProductVC *productDetailVC = [KWMNewProductVC getNewInstance]; // productDetailVC.product = brandCell.leftProduct; vc.handle = parameters[@"id"]; // NSLog(@"%@",[AppDelegate mainViewController].selectedViewController); [[AppDelegate mainViewController].selectedViewController pushViewController:vc animated:YES]; return YES; }]; [routes addRoute:@"/blogs/:blog/:handle" handler:^BOOL(NSDictionary<NSString *,id> * _Nonnull parameters) { KWMBlogDetailVC *blogDetailVC = (KWMBlogDetailVC *)[KWMBlogDetailVC findControllerBy:@"KWMBlogDetailVC" fromStoryboard:@"Home"]; blogDetailVC.handle = parameters[@"handle"]; blogDetailVC.type = KWMContentTypeBlog;; blogDetailVC.title = parameters[@"title"]; [[AppDelegate mainViewController].selectedViewController pushViewController:blogDetailVC animated:YES]; return YES; }]; [routes addRoute:@"/pages/:handle" handler:^BOOL(NSDictionary<NSString *,id> * _Nonnull parameters) { KWMBlogDetailVC *blogDetailVC = (KWMBlogDetailVC *)[KWMBlogDetailVC findControllerBy:@"KWMBlogDetailVC" fromStoryboard:@"Home"]; blogDetailVC.handle = parameters[@"handle"]; blogDetailVC.type = KWMContentTypePage; blogDetailVC.title = parameters[@"title"]; [[AppDelegate mainViewController].selectedViewController pushViewController:blogDetailVC animated:YES]; return YES; }]; } - (BOOL)handleURL:(NSURL *)url { return [JLRoutes routeURL:url]; } @end