BBASMDefine.h 7.62 KB
//
//  BBASMDefine.h
//  SWAN
//
//  Created by baidu on 06/12/2017.
//  Copyright © 2017 baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <BBAFoundation/BBAFoundation.h>

#ifndef BBASMDefine_h
#define BBASMDefine_h

#define kBBASMDispatcherUserInfoAPPIDKey       @"appID"
#define kBBASMDispatcherUserInfoRefererKey     @"Referer"
#define kBBASMDispatcherUserInfoUAKey          @"User-Agent"
#define kBBASMDispatcherUserInfoSourceKey      BBASM_LOWERCASE_STR
#define BBASMC_DispatcherBBASMCoreVersionKey   BBASM_UNCONFUSED_STR_METHOD(@"c3dhbkNvcmVWZXJzaW9u") //bbasmCoreVersion
#define kBBASMAPIQueueUserLoginName            @"userLogin"
#define kBBASMAPIQueueUpdate                   @"updateRequest"
#define kBBASMAPIQueueUserAuthorizeAlertName   @"userAuthorizeAlert"
#define kBBASMAPIQueueUserModifyAuthorize      @"modifyAuthorize"
#define kBBASMAPIQueueUserAuthorizeRequest     @"authorizeRequest"
#define kBBASMAPIQueueUpdateRequest            @"updateRequestQueue"
#define BBASMC_DispatcherUserInfoGameKey      BBASM_UNCONFUSED_STR_METHOD(@"c3dhbl9nYW1l") //swan_game
#define kBBASMWebViewScriptHandlerBridgeName   @"bridge"
/// webview组件老通信桥名,用于兼容,后续版本删除
#define kBBASMWebViewScriptHandlerOldBridgeName   @"BBAMNPJSBridgeWebViewComponent"
/// 同步端能力调起字符串前缀
#define kBBASMSyncClientAbilityPrefix @"BdboxApp:"

#ifdef DEBUG
#define BBASMEnableUnitTest() \
    ([[[[NSProcessInfo processInfo] environment] objectForKey:@"enableBBAMNPUnitTest"] integerValue] == 1)
#else
#define BBASMEnableUnitTest() \
    (NO)
#endif /* DEBUG */

// iPhone6P及以下低端机性能优化,WebView Cache数为0,其他为1
#define BBA_MNP_CACHE_LIMIT ([[UIDevice currentDevice] bba_platformType] <= UIDevice6PLUSiPhone ? 0 : 1)

#endif /* BBASMDefine_h */

typedef void(^fetchCoreCallBack)(NSDictionary *loadData);

typedef NS_ENUM(NSInteger, BBASMCorePreloadScene) {
    BBASMCorePreloadSceneAppLaunch = 0,      // 手百冷启
    BBASMCorePreloadSceneMNPLaunch = 1,      // 小程序自预加载
    BBASMCorePreloadScenePreMNPLaunch = 2,   // 上一小程序预加载
    BBASMCorePreloadScenePersonalCenter = 3, // 个人中心预加载
    BBASMCorePreloadSceneHomePageMNP = 4,    // 首页二楼
    BBASMCorePreloadSceneScheme = 5,         // 预加载端能力
    BBASMCorePreloadSceneCoreUpdate = 6,     // core更新后重新预加载
    BBASMCorePreloadSceneMNPPrefetch = 7,    // prefetch自预加载
    BBASMCorePreloadScenePreMNPPrefetch = 8, // 上一个prefetch触发预加载

} ;

typedef NS_ENUM(NSInteger, BBASMSilentUpdateScene) {
    BBASMSilentUpdateSceneHomePageMNP = 4,    // 首页二楼
    BBASMSilentUpdateScenePersonalCenter = 5, // 个人中心预加载
    BBASMSilentUpdateSceneInBackground = 6,   // 手百进入后台更新
} ;

typedef NS_ENUM(NSInteger, BBASMAppPreDownloadScene) {
    BBASMAppPreDownloadSceneDefault         = 0,    // 默认
    BBASMAppPreDownloadSceneFeed            = 1,    // feed & 落地页
    BBASMAppPreDownloadSceneWebAPI          = 2,    // 端能力
    BBASMAppPreDownloadSceneUpdateAPI       = 3,    // 云控update接口
    BBASMAppUpdateSceneHomePage             = 4,    // 首页二楼 - 触发更新
    BBASMAppUpdateScenePersonalCenter       = 5,    // 个人中心 - 触发更新
    BBASMAppUpdateSceneInBackground         = 6,    // 手百进入后台 - 触发更新
    BBASMAppPreDownloadSceneSplash          = 7,    // 闪屏
    BBASMAppPreDownloadSceneHomePage        = 8,    // 首页二楼
    BBASMAppPreDownloadScenePersonalCenter  = 9,    // 个人中心
    BBASMAppPreDownloadSceneSMAPI           = 10,   // 小&&程&&序API
    BBASMAppPrefetchSceneSMAPI              = 11,   // 小&&程&&序预取
    BBASMAppUpdateSceneAfterSMRender        = 12,   // 进小&&程&&序后5s
    BBASMAppPreDownloadSceneDiscover        = 13    // 手百发现频道
};

typedef NS_ENUM(NSInteger, BBASMAppCleanScene) {
    BBASMAppCleanSceneDefault             = 0,    // 默认
    BBASMAppCleanSceneDeleteHistory       = 4,    // 删除历史
    BBASMAppCleanSceneReloadError         = 5,    // 包加载失败
    BBASMAppCleanSceneDeleteAllHistory    = 8,    // 删除全部历史
    BBASMAppCleanSceneCleanCache          = 9,    // 清除缓存
    BBASMAppCleanSceneBackgroundHis       = 10,   // 手百切后台处理历史
    BBASMAppCleanSceneBackgroundNotHis    = 11,   // 手百切后台处理非历史
    BBASMAppCleanSceneDownloadMainDiskNotEnough = 12, // 下载主包空间不足时清除(磁盘)缓存触发
    BBASMAppCleanSceneDiskLevelChange     = 13,   // 手百磁盘等级变化,空间不足时触发包自动清理
    BBASMAppCleanSceneDiskLevelChangeGame = 14    // 手百磁盘等级变化,空间不足时game触发包自动清理
};

typedef NS_ENUM(NSInteger, BBASMAppInstallScene) {
    BBASMAppInstallSceneDefault                     = 0,    // 未知来源
    BBASMAppInstallSceneLaunchSync                  = 1,    // 启动时同步
    BBASMAppInstallSceneLaunchAsync                 = 3,    // 启动时异步更新
    BBASMAppInstallSceneSilentUpdate                = 4,    // 静默更新
    BBASMAppInstallScenePredownloadAPI              = 5,    // 预下载-端能力
    BBASMAppInstallScenePredownloadFeed             = 6,    // 预下载-Feed
    BBASMAppInstallScenePredownloadOther            = 7,    // 预下载-其他
    BBASMAppInstallSceneUpdateAPI                   = 8,    // 云控update接口
    BBASMAppInstallSceneHomePageUpdate              = 9,    // 首页二楼 - 触发更新
    BBASMAppInstallScenePersonalCenterUpdate        = 10,   // 个人中心 - 触发更新
    BBASMAppInstallSceneBackgroundUpdate            = 11,   // 手百进入后台 - 触发更新
    BBASMAppInstallSceneSplash                      = 12,   // 闪屏
    BBASMAppInstallScenePreDownloadHomePage         = 13,   // 首页二楼
    BBASMAppInstallScenePreDownloadPersonalCenter   = 14,   // 个人中心
    BBASMAppInstallSceneSMAPI                       = 15,   // 小&&程&&序API
    BBASMAppInstallScenePrefetchSMAPI               = 16,   // 小&&程&&序预取
    BBASMAppInstallSceneAfterSMRenderUpdate         = 17,   // 进小&&程&&序后5s - 触发更新
    BBASMAppInstallSceneDiscover                    = 18    // 手百发现频道
};

typedef NS_ENUM(NSUInteger, BBASMLoginStatus) {
    BBASMLoginStatusShow        = 1,   // 展现
    BBASMLoginStatusCompletion  = 2,   // 完成回调
    BBASMLoginStatusCheckFail   = 3,   // 鉴权失败回调(12.9以前未判断鉴权触发登录的情况下是鉴权失败还是登录失败)
};

typedef NS_ENUM(NSUInteger, BBASMLoginScene) {
    BBASMLoginSceneNone                 = 0,   // 缺省值
    BBASMLoginSceneLogin                = 1,   // login接口
    BBASMLoginScenePhoneNumber          = 2,   // getPhoneNumber接口
    BBASMLoginSceneUserInfo             = 3,   // getUserInfo接口
    BBASMLoginSceneChooseAddress        = 4,   // 获取用户收货地址接口
    BBASMLoginSceneChooseInvoiceTitle   = 5,   // 获取用户发票抬头接口
    BBASMLoginSceneRealNameInfo         = 6,   // baidu.getRealNameInfo接口
    BBASMLoginSceneGetPhoneContacts     = 7,   // getPhoneContacts接口
    BBASMLoginScenePolymerPayment       = 8,   // 聚合收银台接口
    BBASMLoginSceneBDWalletPayment      = 9,   // 百度钱包直连支付接口 android单端使用,iOS暂不使用此场景值
    BBASMLoginSceneNavigateToBookshelf  = 10,  // 跳转书架接口
    // 12.9评价功能删除
    // BBASMLoginSceneOpenEvaluate         = 11,  // xcx评价入口
    BBASMLoginSceneGetFormId            = 12,   // 获取表单FormId
    BBASMLoginSceneThirdPayment         = 13   // 新直连支付
};