public class APIConfig {
/**
* 测试环境,开发环境,staging环境所用的值
*/
public static final String DEV_APP_ID = "100001";
public static final String DEV_APP_KEY = "f23bcf2ac8d3";
public static final String DEV_APP_SECRET = "f1e6612206a1428a822f215e83bf8c4e";
/**
* 线上环境所用的值
*/
public static final String RELEASE_APP_ID = "100001";
public static final String RELEASE_APP_KEY = "1d94532d85a1";
public static final String RELEASE_APP_SECRET = "1b397defcc2d4a9298ae05bc8a636d05";
/**
* 开发环境 与build.Gradle里对应.
*/
private static final byte ENV_DEVELOP = 0x00;
/**
* 测试环境
*/
private static final byte ENV_DEBUG = 0x01;
/**
* 查重微服务接口
* 适用于采集人信息上传,获取查重异步任务结果,查重错误反馈
*/
/**
* 正式环境
*/
private static final byte ENV_RELEASE = 0x02;
/**
* 开发接口
*/
private static final String BASE_COMMENT_DEV_URL = "https:xxxxxx";
/**
* 测试接口 https://api-beehive-test.zzcrowd.com.cn/collect/
*/
private static final String BASE_COMMENT_TEST_URL = "https:xxxxxx";
/**
* staging接口
*/
private static final String BASE_COMMENT_STAGING_URL = "https:xxxxxx";
/**
* 线上接口
*/
private static final String BASE_COMMENT_PROD_URL = "https:xxxxxx";
/**
* 开发接口
*/
private static final String BASE_BEEEYE_DEV_URL = "https:xxxxxx";
/**
* 测试接口
*/
private static final String BASE_BEEEYE_TEST_URL = "https:xxxxxx";
/**
* staging接口
*/
private static final String BASE_BEEEYE_STAGING_URL = "https:xxxxxx";
/**
* 线上接口
*/
private static final String BASE_BEEEYE_PROD_URL = "https:xxxxxx";
//单例模式
private static APIConfig instance = null;
private String API_COMMENT;
private String API_BEEEYE_COMMENT;
private String APP_ID;
private String APP_KEY;
private String APP_SECRET;
private APIConfig() {
switch (BuildConfig.API_ENV) {
case ENV_DEVELOP:
setParams(BASE_COMMENT_DEV_URL);
setBeeEyeParams(BASE_BEEEYE_DEV_URL);
setAPPConfig(DEV_APP_ID, DEV_APP_KEY, DEV_APP_SECRET);
break;
case ENV_DEBUG:
setParams(BASE_COMMENT_TEST_URL);
setBeeEyeParams(BASE_BEEEYE_TEST_URL);
setAPPConfig(DEV_APP_ID, DEV_APP_KEY, DEV_APP_SECRET);
break;
case ENV_RELEASE:
setParams(BASE_COMMENT_PROD_URL);
setBeeEyeParams(BASE_BEEEYE_PROD_URL);
setAPPConfig(RELEASE_APP_ID, RELEASE_APP_KEY, RELEASE_APP_SECRET);
break;
}
}
public static APIConfig getInstance() {
if (instance == null) {
instance = new APIConfig();
}
return instance;
}
/**
* 是否是正式环境
*
* @return
*/
public static boolean isReleaseBuild() {
return BuildConfig.API_ENV == ENV_RELEASE;
}
private void setParams(String conmment) {
API_COMMENT = conmment;
}
private void setAPPConfig(String AppID, String AppKey, String AppSecret) {
APP_ID = AppID;
APP_KEY = AppKey;
APP_SECRET = AppSecret;
}
private void setBeeEyeParams(String params) {
API_BEEEYE_COMMENT = params;
}
public String getBaseCommentUrl() {
return API_COMMENT;
}
public String getBeeEyeCommentUrl() {
return API_BEEEYE_COMMENT;
}
public String getAppID() {
return APP_ID;
}
public String getAppKey() {
return APP_KEY;
}
public String getAppSecret() {
return APP_SECRET;
}
}
APP的gradle配置里
buildTypes {
develop {
minifyEnabled false
buildConfigField "byte", "API_ENV", "0x00"
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
buildConfigField "byte", "API_ENV", "0x01"
useProguard true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
buildConfigField "byte", "API_ENV", "0x02"
shrinkResources false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
sourceSets.main {
jniLibs.srcDir 'libs'
jni.srcDirs = []
}
}