NJCS-项目接入

NJCS的接入主要有四个部分:
1:设置异常监听
2:设置JS脚本所在目录(如果不设置将会从Bundle内读取)
3:注入特殊数据类型解析(主要使用于JS在使用原有Native数据时)
4:添加所需扩展(如:网络请求扩展、日志上报扩展、弹窗系统扩展、数据库操作扩展)
接入示例:

[NJCS setExceptionHandler:^(NSDictionary *exceptions) {
#if DEBUG
    NSString *exceptionDesc = [NSString stringWithFormat:@"JSException:name:%@\n message:%@\n script:%@\n line: %@ column: %@\n stack: %@\n", exceptions[@"name"], exceptions[@"message"], exceptions[@"script"], exceptions[@"line"], exceptions[@"column"], exceptions[@"stack"]];
            NSLog(@"%@", exceptionDesc);
#endif
    NSException *exception = [NSException exceptionWithName:[NSString stringWithFormat:@"%@", exceptions[@"name"]] reason:[NSString stringWithFormat:@"%@", exceptions[@"message"]] userInfo:exceptions];
    [Bugly reportException:exception];
}];
NSString *njcsFilesRootURL = @"";
NSInteger njcsVersion = [CommonRemoteFilesManager targetVersion];
if (njcsVersion && njcsVersion > 0) {
    njcsFilesRootURL = [CommonRemoteFilesManager targeFilesPath:[NSString stringWithFormat:@"%ld", njcsVersion]];
}
[NJCS sync:njcsFilesRootURL];
[NJCS registerModelAdapterForType:[JobAuthModelItemAdapter class] type:@"JobAuthModelItemAdapter"];
[NJCS addHttpInterface:[[CommonHTTPTool alloc] init]];

1、[NJCS setExceptionHandler:^(NSDictionary *exceptions) {};设置异常监听,要放在初始化之前,否则初始化时产生的异常就无法监听。
异常大多数需要上报的字段:
exceptions[@”name”]:异常名称
exceptions[@”message”]:异常信息
exceptions[@”script”]:产生异常的脚本
exceptions[@”line”]:异常脚本所在行数
exceptions[@”column”]:异常脚本所在列数
exceptions[@”stack”]:异常调用堆栈
2、[NJCS sync:njcsFilesRootURL]; 设置JS文件所在目录,该目录找不到文件时会从Bundle内读取
3、[NJCS registerModelAdapterForType:[JobAuthModelItemAda;注入某种数据类型解析
4、[NJCS addHttpInterface:[[CommonHTTPTool alloc] init]];添加网络请求扩展,不同的项目可能会有不同的网络请求库,NJCS只是提供了网络请求所需接口,项目在使用时只需按照要求实现接口并在添加进去即可,关于网络请求接口后续扩展部分会有详细介绍。

热评文章