BBAJSBindingGlobalBaseExports.h 2.28 KB
//
//  BBAJSBindingGlobalBaseExports.h
//  SWAN
//
//  Created by baidu on 2018/8/2.
//  Copyright © 2018 baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
@import JavaScriptCore;
@class BBAJSConsole;

/**
 *  全局对象暴露接口
 */
@protocol BBAJSBindingGlobalBaseExports <JSExport>
/**
 * @brief 获取UA
 *
 */
@property (nonatomic, strong, readonly) NSString *userAgent;
/**
 * @brief 控制台对象
 *
 */
@property (nonatomic, strong, readonly) BBAJSConsole *console;


/**
 * @brief 当前所处的域,包括 'main', 'openData', 'worker'
 *
 */
@property (nonatomic, strong, readonly) NSString *domain;

/**
 * @brief 动态加载指定路径的JS文件
 *
 * @param message 日志内容
 */
- (void)log:(NSString *)message;

/**
 * @brief 动态加载指定路径
 *
 * @param path 文件路径,主域路径的内容
 */
- (void)include:(NSString *)path;

/**
 * @brief setTimeout
 *
 * @param callback JS 回调函数
 * @param delay 时间间隔
 */
JSExportAs(setTimeout,
           - (int)setTimeout:(JSValue *)callback withDelay:(NSNumber *)delay
           );

/**
 * @brief setInterval
 *
 * @param callback JS 回调函数
 * @param delay 时间间隔
 * @return timeId
 */
JSExportAs(setInterval,
           - (int)setInterval:(JSValue *)callback withDelay:(NSNumber *)delay
           );

/**
 * @brief clearTimeout
 *
 * @param timerId timerId
 */
JSExportAs(clearTimeout,
           - (void)clearTimeout:(NSNumber *)timerId
           );

/**
 * @brief clearInterval
 *
 * @param timerId timeId
 */
JSExportAs(clearInterval,
           - (void)clearInterval:(NSNumber *)timerId
           );
/**
 * @brief requestAnimationFrame
 *
 * @param callback JS 回调函数
 * @return requestId
 */
- (JSValue *)requestAnimationFrame:(JSValue *)callback;

/**
 * @brief cancelAnimationFrame
 *
 * @param requestId requestId
 */
- (void)cancelAnimationFrame:(NSNumber *)requestId;

/**
 * @brief 可以修改渲染帧率。默认渲染帧率为 60 帧每秒。修改后,requestAnimationFrame 的回调频率会发生改变。
 *
 * @param fps fps
 */
- (void)setPreferredFramesPerSecond:(NSNumber *)fps;

/**
 * @brief 获取当前时间以微秒为单位的时间戳
 *
 */
- (double)performanceNow;

/**
 * @brief 获取小游戏的envVariables
 *
 */
- (NSString *)getEnvVariables;

@end