YHNative.h 1.64 KB
//
//  YHNative.h
//  YohoExplorerDemo
//
//  Created by gaoqiang xu on 4/7/15.
//  Copyright (c) 2015 gaoqiang xu. All rights reserved.
//

// 本地机能 - 摄像头
extern NSString * const YHNative_Camera;
// 本地机能 - 位置服务
extern NSString * const YHNative_LBS;
// 本地机能 - 媒体播放
extern NSString * const YHNative_Media;
// 本地机能 - 设备信息
extern NSString * const YHNative_Device;
// 本地机能 - 传感器
extern NSString * const YHNative_Motion;
// 本地机能 - 文件系统
extern NSString * const YHNative_FS;
// 本地机能 - H5页面的图片展示到Native
extern NSString * const YHNative_ClickToShowImage;
// 本地技能 - H5页面向webview发送自定义消息
extern NSString * const YHNative_Messenger;

#pragma mark -

/**
 *  成功回调
 *
 *  @param info         回调数据
 *  @param keepCallback 是否持续回调。需要持续刷新回调数据时YES,否则NO
 *  @param nativeInfo   传给native的参数
 */
typedef void(^onSuccess)(NSDictionary *info, BOOL keepCallback, NSDictionary *nativeInfo);
typedef void(^onFailure)(NSString *message);

/**
 *  本地机能基础类
 */
@interface YHNative : NSObject

@property (copy, nonatomic) NSDictionary *originalParams;
@property (strong, nonatomic) NSDictionary *options;
@property (copy, nonatomic) onSuccess successCallBack;
@property (copy, nonatomic) onFailure failureCallBack;

+ (Class)resolveActionName:(NSString *)name;

- (void)workWithMethod:(SEL)method options:(NSDictionary *)options success:(onSuccess)success failure:(onFailure)failure;

#pragma mark - Override Methods
- (NSArray *)availableFunctions;
- (NSString *)actionName;

@end