//
|
// LCDSceneRouterManager.h
|
// LCDSDK
|
//
|
// Created by iCuiCui on 2020/10/26.
|
// Copyright © 2020 bytedance. All rights reserved.
|
//
|
|
#import <Foundation/Foundation.h>
|
#import <UIKit/UIKit.h>
|
#import "LCDFeedDetailPageConfig.h"
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
typedef NS_ENUM(NSUInteger, LCDSceneRouteCompletionState) {
|
LCDSceneRouteCompletionState_dataValidateError = -2, // 跳转失败:数据校验失败缺失必要参数
|
LCDSceneRouteCompletionState_dataParseError = -1, // 跳转失败:数据解析失败
|
LCDSceneRouteCompletionState_success = 0 // 跳转成功
|
};
|
|
@interface LCDSceneRouteTransition : NSObject
|
|
@property (nonatomic) void(^completion)(LCDSceneRouteCompletionState state, NSString *msg);
|
|
@end
|
|
@interface LCDSceneRouterManager : NSObject
|
|
+ (instancetype)shareInstance;
|
|
/*! @abstract push跳转专用 ( 跳转进图文/视频详情页)
|
@param groupID 当前推荐内容的文章页ID
|
@param categoryName 频道名
|
@param rootVC 跳转依赖的根控制器
|
*/
|
- (void)pushToPageDetailWithGroupID:(long long)groupID
|
categoryName:(NSString *)categoryName
|
rootViewController:(UIViewController *)rootVC
|
configBuilder:(void(^ _Nullable)(LCDFeedDetailPageConfig *config))configBuilder;
|
|
/*! @abstract 原生信息流/点赞评论专用 (跳转进图文/视频详情页/沉浸式小视频)
|
@param groupID 当前推荐内容的文章页ID
|
@param categoryName 频道名
|
@param dataExtra 跳转所需的数据
|
@param rootVC 跳转依赖的根控制器
|
*/
|
- (void)pushToPageDetailWithGroupID:(long long)groupID
|
categoryName:(NSString *)categoryName
|
dataExtra:(NSString * _Nullable)dataExtra
|
rootViewController:(UIViewController *)rootVC
|
configBuilder:(void(^ _Nullable)(LCDFeedDetailPageConfig *config))configBuilder;
|
/// @param newsFromGid 通过某个banner进入
|
- (void)pushToPageDetailWithGroupID:(long long)groupID
|
categoryName:(NSString *)categoryName
|
dataExtra:(NSString * _Nullable)dataExtra
|
newsFromGid:(long long)gid
|
rootViewController:(UIViewController *)rootVC
|
configBuilder:(void(^ _Nullable)(LCDFeedDetailPageConfig *config))configBuilder;
|
|
|
/*! @abstract 图文api跳转专用 ( 跳转进图文/视频详情页/沉浸式小视频)
|
@param awakeData 图文api接口下发的awake_data数据
|
@param rootVC 跳转依赖的根控制器
|
@param configBuilder 详情页配置
|
@param transitionBuilder 跳转回调
|
*/
|
- (void)pushToPageDetailWithAwakeData:(NSString *)awakeData
|
rootViewController:(UIViewController *)rootVC
|
configBuilder:(void(^ _Nullable)(LCDFeedDetailPageConfig *config))configBuilder
|
transitionBuilder:(void(^ _Nullable)(LCDSceneRouteTransition *config))transitionBuilder;
|
|
@end
|
|
NS_ASSUME_NONNULL_END
|