CNLiveEnvironmentManager.h 7.94 KB
//
//  CNLiveEnvironmentManager.h
//  XWTest
//
//  Created by CNLive-zxw on 2019/7/13.
//  Copyright © 2019 CNLive. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

typedef NS_ENUM(NSInteger, CNLiveEnvironmentType) {
    CNLiveDebugInHouse          = 0,     //测试企业环境
    CNLiveProductionInHouse     = 1,     //正式企业环境
    CNLiveDebugAppStore         = 2,     //测试商店环境
    CNLiveProductionAppStore    = 3,     //正式商店环境
    CNLiveTestFlight            = 4     //TestFlight环境
};

typedef NS_ENUM(NSInteger, CNLiveAppType) {
    CNLiveAppTypeUser           = 0,     //用户端
    CNLiveAppTypeBLive          = 1,     //企业端直播
    CNLiveAppTypeBusiness       = 2,     //商家版
    CNLiveAppTypeMetaCode       = 3      //元码
};

@interface CNLiveEnvironmentManager : NSObject
@property (nonatomic, assign, readonly) CNLiveAppType appType; //app类型

@property (nonatomic, assign, readonly) CNLiveEnvironmentType environmentType; // 详细环境
@property (nonatomic, assign, readonly) BOOL isTestEnvironment; // 是否是测试环境

/// 是否是新版首页
@property (nonatomic, assign, readonly) BOOL isNewHomePage;

@property (nonatomic, copy, readonly) NSString *kAppDownloadUrl;// 下载地址
@property (nonatomic, copy, readonly) NSString *kWjjH5_Host;
@property (nonatomic, copy, readonly) NSString *kWjjH5;

@property (nonatomic, copy, readonly) NSString *kAPI_Host;
@property (nonatomic, copy, readonly) NSString *kAPI_Contact;
@property (nonatomic, copy, readonly) NSString *kAPI_Refund;
@property (nonatomic, copy, readonly) NSString *kAPI_Report;
@property (nonatomic, copy, readonly) NSString *kAPI_OpenApi2;
@property (nonatomic, copy, readonly) NSString *kAPI_Classify;
@property (nonatomic, copy, readonly) NSString *kAPI_Managemall;
@property (nonatomic, copy, readonly) NSString *kAPI_Manageshop;
@property (nonatomic, copy, readonly) NSString *kAPI_LtyAdmin;
@property (nonatomic, copy, readonly) NSString *kAPI_Pay;
@property (nonatomic, copy, readonly) NSString *kAPI_OB;

///社区域名
@property (nonatomic, copy, readonly) NSString *kAPI_Community;

@property (nonatomic, copy, readonly) NSString *environmentDesc; // 环境描述
@property (nonatomic, copy, readonly) NSString *bundleId; // BundleId

@property (nonatomic, copy, readonly) NSString *appId; // AppID
@property (nonatomic, copy, readonly) NSString *appKey; // AppKey
@property (nonatomic, copy, readonly) NSString *appSecret; // AppSecret
@property (nonatomic, copy, readonly)NSString *appDESKey;//DESKey

@property (nonatomic, copy, readonly) NSString *displayName; // 展示名字/App名字

@property (nonatomic, assign, readonly) NSInteger kIM_Cer_BusiId; // IM
@property (nonatomic, copy, readonly) NSString *kTIM_GetTokenUrl; // IM请求token

@property (nonatomic, copy, readonly) NSString *kGDApiKey; // 高德地图Key

@property (nonatomic, copy, readonly) NSString *kBDAppId; // 百度身份证识别
@property (nonatomic, copy, readonly) NSString *kBDAppKey; // AppKey
@property (nonatomic, copy, readonly) NSString *kBDSecret; // AppSecret

@property (nonatomic, copy, readonly) NSString *kBDMapAK; // 百度地图
@property (nonatomic, copy, readonly) NSString *kBDMapMCODE; // 百度地图
@property (nonatomic, assign, readonly) NSInteger kBDMapServiceID; // 百度地图

@property (nonatomic, copy, readonly) NSString *kTingYunAppKey; //tingyun

@property (nonatomic, copy, readonly) NSString *kBucketName; //七牛上传
@property (nonatomic, copy, readonly) NSString *kPhotoUrl; //七牛上传
@property (nonatomic, assign, readonly) NSInteger kMultipleCategory; //七牛上传
@property (nonatomic, assign, readonly) NSInteger kWitnessMultipleCategory; //七牛上传


/*微信相关参数*/
@property (nonatomic, copy, readonly) NSString *kWeiChatAppId_Share;
@property (nonatomic, copy, readonly) NSString *kWeiChatAppSecret_Share;

/*腾讯相关参数*/
@property (nonatomic, copy, readonly) NSString *kQQShareAppId_Share;
@property (nonatomic, copy, readonly) NSString *kQQShareAppSecret_Share;

/*新浪相关参数*/
@property (nonatomic, copy, readonly) NSString *kWeiBoShareAppId_Share;
@property (nonatomic, copy, readonly) NSString *kWeiBoShareAppSecret_Share;
@property (nonatomic, copy, readonly) NSString *kWeiBoShareAppKey_Share;

/*ShareSDK相关参数*/
@property (nonatomic, copy, readonly) NSString *kShareSDKAppId_Share;
@property (nonatomic, copy, readonly) NSString *kShareSDKAppSecret_Share;

//Share
@property (nonatomic, copy, readonly) NSString *kWjjShare_Iden;

// IMSDK相关的配置
@property (nonatomic, copy, readonly) NSString *kWXAccount;
@property (nonatomic, copy, readonly) NSString *kSdkAppId;
@property (nonatomic, copy, readonly) NSString *kSdkAccountType;

// 友盟AppKey
@property (nonatomic, copy, readonly) NSString *kUMengAppKey;

// 支付宝支付Schems
@property (nonatomic, copy, readonly) NSString *kNetAddUrlSchems;

// 银联支付Schems
@property (nonatomic, copy, readonly) NSString *kNetAddUnionPaySchems;

@property (nonatomic, copy, readonly) NSString *kWjjApplePayAVProductIdBase;

// 物媒识别
@property (nonatomic, copy, readonly) NSString *kScanGoodsAppId;
@property (nonatomic, copy, readonly) NSString *kScanGoodsAppSecret;
@property (nonatomic, copy, readonly) NSString *kScanGoodsActivityId;
@property (nonatomic, copy, readonly) NSString *kScanGoodsUrl;

/**
 * @abstract      单例初始化
 */
+ (instancetype)manager;

/**
 * @abstract      初始化配置
 * @param         appType  app类型
 * @param         environmentType  环境
 * @warning       必传参数
 * 在默认DEBUG环境下为测试商店版,建议使用如下方法初始化.
 * 在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 方法中调用
 */
+ (void)setAppType:(CNLiveAppType)appType environmentType:(CNLiveEnvironmentType)environmentType;

/**
 * @abstract      初始化用户端配置
 * @param         environmentType  环境
 * @warning       必传参数
 * 在默认DEBUG环境下为测试商店版,建议使用如下方法初始化.
 * 在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 方法中调用
 */
+ (void)setEnvironment:(CNLiveEnvironmentType)environmentType;

/**
 * @abstract      初始化用户端配置
 * @param         environmentType  环境
 * @param         isNewHomePage    是否是新版首页
 * @warning       必传参数
 * 在默认DEBUG环境下为测试商店版,建议使用如下方法初始化.
 * 在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 方法中调用
 */
+ (void)setEnvironment:(CNLiveEnvironmentType)environmentType isNewHomePage:(BOOL)isNewHomePage;

/**
 * @abstract      初始化元码配置
 * @param         environmentType  环境
 * @warning       必传参数
 * 在默认DEBUG环境下为测试商店版,建议使用如下方法初始化.
 * 在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 方法中调用
 */
+ (void)setMetaCodeEnvironment:(CNLiveEnvironmentType)environmentType;


/**
 * @abstract      初始化企业端直播配置
 * @param         environmentType  环境
 * @warning       必传参数
 * 在默认DEBUG环境下为测试商店版,建议使用如下方法初始化.
 * 在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 方法中调用
 */
+ (void)setBLiveEnvironment:(CNLiveEnvironmentType)environmentType;

/**
 * @abstract      初始化商家版环境配置
 * @param         environmentType  环境
 * @warning       必传参数
 * 在默认DEBUG环境下为测试商店版,建议使用如下方法初始化.
 * 在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 方法中调用
 */
+ (void)setBusinessEnvironment:(CNLiveEnvironmentType)environmentType;

@end

NS_ASSUME_NONNULL_END