Commit 812ba198 authored by shiyl's avatar shiyl

新增运行环境切换功能

parent 3ab5f347
......@@ -18,15 +18,6 @@ android {
targetSdkVersion build_versions.targetSdkVersion
versionCode rootProject.ext.android.versionCode
versionName rootProject.ext.android.versionName
buildConfigField("boolean", "IS_ENCRYPT_DEBUG_KEY", rootProject.ext.android.isEncryptDebugKey)
buildConfigField("boolean", "IS_UPGRADE_ONLINE", rootProject.ext.android.isUpgradeOnline)
buildConfigField("String", "SERVICE_VERSION", rootProject.ext.android.serviceVersion)
buildConfigField("boolean", "IS_ENCRYPT", rootProject.ext.android.isEncrypt)
buildConfigField("boolean", "IS_UMENG_RELEASE", rootProject.ext.android.isUmengRelease)
buildConfigField("boolean", "IS_ENCRYPT_DEBUG_KEY", rootProject.ext.android.isEncryptDebugKey)
buildConfigField("boolean", "IS_UPGRADE_ONLINE", rootProject.ext.android.isUpgradeOnline)
buildConfigField("int", "TOWER_API_ENV", rootProject.ext.android.TowerApiEnv)
buildConfigField("int", "XINSIGHT_ENV", rootProject.ext.android.XInsightEnv)
manifestPlaceholders = [qqappid: "101923771"]
......@@ -37,8 +28,6 @@ android {
buildTypes {
debug {
buildConfigField "boolean", "ENV_DEBUG", "true"
buildConfigField("String", "API_URL", rootProject.ext.buildParams.debug.API_URL)
buildConfigField("String", "PROVIDER_NAME", '\"' + rootProject.ext.android.applicationId + ".debug.fileprovider" + '\"')
manifestPlaceholders = [
app_name : "商家版测试",
......@@ -47,8 +36,6 @@ android {
]
}
release {
buildConfigField "boolean", "ENV_DEBUG", "false"
buildConfigField("String", "API_URL", rootProject.ext.buildParams.release.API_URL)
buildConfigField("String", "PROVIDER_NAME", '\"' + rootProject.ext.android.applicationId + ".fileprovider" + '\"')
manifestPlaceholders = [
app_name : "生活圈商家版",
......
......@@ -4,12 +4,15 @@ import com.yidian.bcommon.BuildConfig
/**
* 应用的配置信息
* 应用的配置信息(常量配置)
*/
class AppConfig {
companion object {
// 是否开启加密
const val IS_ENCRYPT = BuildConfig.IS_ENCRYPT
// 域名
const val DEV_DOMAIN = "http://bp-dev.go2yd.com"
const val TEST_DOMAIN = "http://bp-test.go2yd.com"
const val PROD_DOMAIN = "https://bp.go2yd.com"
// 业务线
const val appIdMerchantB = "merchant-b"
......@@ -18,9 +21,6 @@ class AppConfig {
// 客户端版本号
const val cv = BuildConfig.VERSION_NAME
// 服务端版本号
const val version = BuildConfig.SERVICE_VERSION
// 分发
const val distribution = "official"
......@@ -35,7 +35,6 @@ class AppConfig {
// TowerPro 通用配置模块
const val TowerApiEnvTest = 0 // 测试环境
const val TowerApiEnvPro = 2 // 外网-正式环境
const val TowerApiEnv = BuildConfig.TOWER_API_ENV
const val TowerApiOS = "2" // 0:ios 1:安卓 2:全部
const val TowerApiKeyTagMerchantB = "function-config"
const val TowerApiKeyTagMerchantC = "function-config-c"
......
package com.yidian.bcommon.constant
/**
* 运行配置,提供切换运行环境的能力(变量配置)
*/
object RunConfig {
enum class RunEnvironment {
DEV,// 开发环境
TEST,// 测试环境
PROD// 生产环境
}
// 以下配置默认为开发环境,切记以下变量只能在此类中进行赋值,其他均为适用方
var API_URL = AppConfig.DEV_DOMAIN // 服务域名
var IS_ENCRYPT: Boolean = false // true : 开启加密
var IS_ENCRYPT_DEBUG_KEY = true // false: 使用正式加密key
var IS_UMENG_RELEASE = false // true : 友盟生产
var IS_UPGRADE_ONLINE = false // true : 版本升级生产配置
var SERVICE_VERSION = "000100" // 后台版本,上线前需要和服务端确认并更新
var TOWER_API_ENV = 0 // Tower Api环境 0:测试环境 1:内网-正式环境 2:外网-正式环境 3:内网外网-正式环境
var XINSIGHT_ENV = 0 // 慧眼SDK环境 0:开发环境 1:测试环境 2:预生产环境 3:生产环境
/**
* 切换环境
*/
fun switchEnvironment(runEnvironment: RunEnvironment) {
when (runEnvironment) {
RunEnvironment.DEV -> {
API_URL = AppConfig.DEV_DOMAIN
IS_ENCRYPT = false
IS_ENCRYPT_DEBUG_KEY = true
IS_UMENG_RELEASE = false
IS_UPGRADE_ONLINE = false
TOWER_API_ENV = 0
XINSIGHT_ENV = 0
}
RunEnvironment.TEST -> {
API_URL = AppConfig.TEST_DOMAIN
IS_ENCRYPT = true
IS_ENCRYPT_DEBUG_KEY = true
IS_UMENG_RELEASE = false
IS_UPGRADE_ONLINE = false
TOWER_API_ENV = 0
XINSIGHT_ENV = 1
}
RunEnvironment.PROD -> {
API_URL = AppConfig.PROD_DOMAIN
IS_ENCRYPT = true
IS_ENCRYPT_DEBUG_KEY = false
IS_UMENG_RELEASE = true
IS_UPGRADE_ONLINE = true
TOWER_API_ENV = 2
XINSIGHT_ENV = 3
}
}
}
/**
* 判断当前环境
*/
fun currentEnvironment(): RunEnvironment {
return when (API_URL) {
AppConfig.DEV_DOMAIN -> RunEnvironment.DEV
AppConfig.TEST_DOMAIN -> RunEnvironment.TEST
AppConfig.PROD_DOMAIN -> RunEnvironment.PROD
else -> RunEnvironment.DEV
}
}
}
......@@ -5,6 +5,7 @@ import android.view.View
import android.widget.TextView
import androidx.annotation.ColorRes
import androidx.core.content.ContextCompat
import java.util.*
/**
* 按钮点击防抖
......@@ -22,6 +23,28 @@ fun View?.clickAntiShake(intervalMillis: Long = 300, listener: (View) -> Unit) {
}
}
/**
* 指定时间内连续点击触发相应操作
*/
fun View?.continuousClick(minimumClicks: Int = 6, listener: (View) -> Unit) {
var time: Long = 0 //上次点击时间
var count = 1 //当前点击次数
this?.setOnClickListener {
val timeNew = Date().time
if ((timeNew - time) < 2000) { //连续点击间隔
count += 1
} else {
count = 1
}
time = timeNew
if (count >= minimumClicks) { //点击次数
listener.invoke(it) //触发后五连点之后需要做的事情
}
}
}
fun View.hide() {
this.visibility = View.GONE
}
......
......@@ -4,6 +4,7 @@ import com.google.gson.reflect.TypeToken
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.BuildConfig
import com.yidian.bcommon.app.YdBaseApplication
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.http.bean.CommitFeedbackBean
import com.yidian.bcommon.http.bean.GetCommonConfigBean
import com.yidian.bcommon.http.bean.GetKSYunObjectIdBean
......@@ -23,7 +24,7 @@ object CommonDataSource {
// Tower-Api 域名
private val domainTowerApi by lazy {
if (BuildConfig.TOWER_API_ENV == AppConfig.TowerApiEnvTest) {
if (RunConfig.TOWER_API_ENV == AppConfig.TowerApiEnvTest) {
CommonService.SCHEME_HTTP + CommonService.DOMAIN_TOWER_API_TEST
} else {
CommonService.SCHEME_HTTPS + CommonService.DOMAIN_TOWER_API_PRO
......
......@@ -4,6 +4,7 @@ import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.yidian.bcommon.app.YdBaseApplication
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.sdk.BCommonManager
import com.yidian.bcommon.utils.NetWorkUtils
import com.yidian.yac.ftdevicefinger.core.FtDeviceFingerManager
......@@ -19,7 +20,7 @@ class HttpParamsUtils {
val paramsMap = hashMapOf(
"appid" to BCommonManager.getAppId(),
"cv" to AppConfig.cv,
"version" to AppConfig.version,
"version" to RunConfig.SERVICE_VERSION,
"distribution" to AppConfig.distribution,
"net" to NetWorkUtils.getNetWorkType(YdBaseApplication.context),
"platform" to AppConfig.platform,
......@@ -31,7 +32,7 @@ class HttpParamsUtils {
}
fun getPrivateParamsMap(paramsMap: HashMap<String, String?>, timeStamp: Long): HashMap<String, String?> {
return if (AppConfig.IS_ENCRYPT) {
return if (RunConfig.IS_ENCRYPT) {
paramsMap["secret"] = getSignString(getRequestId(timeStamp), timeStamp)
paramsMap["ts"] = timeStamp.toString()
// C端身份请求加uid
......@@ -51,7 +52,7 @@ class HttpParamsUtils {
decodeResult.reason = res.reason
decodeResult.status = res.status
if (rsaResult != null) {
if (AppConfig.IS_ENCRYPT) {
if (RunConfig.IS_ENCRYPT) {
val result = BCommonManager.getEncryptIml().rsaDecrypt(rsaResult as String)
Timber.tag(BCommonManager.TAG_HTTP).d("response result: $result")
val decryptResult = gson.fromJson<HttpDecryptResult<T>>(result, object : TypeToken<HttpDecryptResult<T>>() {}.type)
......
......@@ -7,6 +7,7 @@ import com.umeng.commonsdk.UMConfigure
import com.umeng.message.entity.UMessage
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.BuildConfig
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.xpage.XPageManager
......@@ -17,23 +18,23 @@ import com.yidian.xpage.XPageManager
class UMConfigUtils {
companion object {
/**
* 预初始化
*/
fun preInit(context: Context) {
if (BuildConfig.IS_UMENG_RELEASE) {
UMConfigure.preInit(context, AppConfig.UMAppKey, AppConfig.UMChannel)
} else {
UMConfigure.preInit(context, AppConfig.UMAppTestKey, AppConfig.UMTestChannel)
}
}
// /**
// * 预初始化
// */
// fun preInit(context: Context) {
// if (RunConfig.IS_UMENG_RELEASE) {
// UMConfigure.preInit(context, AppConfig.UMAppKey, AppConfig.UMChannel)
// } else {
// UMConfigure.preInit(context, AppConfig.UMAppTestKey, AppConfig.UMTestChannel)
// }
// }
/**
* 正式初始化
*/
fun init(context: Context) {
//release环境上报错误信息,参数有:上下文、APPkey、渠道号、设备类型、推送密钥
if (BuildConfig.IS_UMENG_RELEASE) {
if (RunConfig.IS_UMENG_RELEASE) {
UMConfigure.init(context, AppConfig.UMAppKey, AppConfig.UMChannel, UMConfigure.DEVICE_TYPE_PHONE, AppConfig.UMPushSecret)
} else {
UMConfigure.init(
......
......@@ -2,6 +2,7 @@ package com.yidian.shenghuoquan.bgeneralbusiness.service.net
import com.google.gson.Gson
import com.yidian.bcommon.BuildConfig
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.http.HttpResult
import com.yidian.shenghuoquan.bgeneralbusiness.service.net.callback.IBNARequestCallBack
import com.yidian.xarc.xrouter.ResultResolver
......@@ -27,7 +28,7 @@ class BNAHttpReqService : ZapService() {
//options
val requestOptions = options as JSONObject
val method = requestOptions.optString("method", "POST")
val host = requestOptions.optString("host", BuildConfig.API_URL)
val host = requestOptions.optString("host", RunConfig.API_URL)
val url = host + apiPath
val paramsMap: HashMap<String, String?> = parseParams(requestParams)
......
......@@ -559,7 +559,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
this,
hashMapOf(
"appid" to BCommonManager.getAppId(),
"env" to AppConfig.TowerApiEnv.toString(),
"env" to RunConfig.TOWER_API_ENV.toString(),
"version" to AppConfig.TowerApiVersion,
"os" to AppConfig.TowerApiOS,
"keytag" to BCommonManager.getTowerProKeyTag()
......
......@@ -13,6 +13,9 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ui.TestActivity"
android:launchMode="singleTop" />
</application>
</manifest>
\ No newline at end of file
......@@ -7,12 +7,16 @@ import com.scwang.smart.refresh.layout.SmartRefreshLayout
import com.scwang.smart.refresh.layout.constant.SpinnerStyle
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.BuildConfig
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.http.ApiSaveCookiesInterceptor
import com.yidian.bcommon.http.ApiSetCookiesInterceptor
import com.yidian.bcommon.utils.UMConfigUtils
import com.yidian.framework.mobile.insight.config.ServerUrlConfig
import com.yidian.framework.mobile.insight.config.XDiamondProvide
import com.yidian.framework.mobile.insight.manage.XInsight
import com.yidian.framework.mobile.insight.manage.XInsightConfig
import com.yidian.framework.mobile.xdiamond.SecretUtil
import com.yidian.http.ServiceFactory
import com.yidian.news.util.ProcessUtil
import com.yidian.xarc.xbase.utils.XLogger
import com.yidian.xarc.xbrid.*
......@@ -36,6 +40,7 @@ object BaseInitConfig {
// 初始化友盟
UMConfigUtils.init(context)
if (ProcessUtil.isMainProcess(context)) {
initHttp()
FtDeviceFingerManager.init(context)
initXBridManager(context)
// 初始化App升级
......@@ -47,6 +52,19 @@ object BaseInitConfig {
}
}
private fun initHttp() {
// val header = HashMap<String, String>()
// header["Content-Type"] = "application/json"
// header["charset"] = "UTF-8"
// ServiceFactory.getInstance().addInterceptor(HttpInterceptor(header))
// ServiceFactory.getInstance().init(true, URLs.BASE_URL, 10, 10)
ServiceFactory.getInstance().init(true, RunConfig.API_URL, 10, 10)
ServiceFactory.getInstance().addInterceptor(ApiSaveCookiesInterceptor())
ServiceFactory.getInstance().addInterceptor(ApiSetCookiesInterceptor())
// 初始化磐石SDK
SecretUtil.init(RunConfig.IS_ENCRYPT_DEBUG_KEY, BuildConfig.DEBUG)
}
/**
* 初始化XBrid
*
......@@ -57,7 +75,7 @@ object BaseInitConfig {
private fun initXBridManager(context: Context) {
XBridManager.init(
XBridApp(context) {
online = BuildConfig.IS_UPGRADE_ONLINE // 线上、线下
online = RunConfig.IS_UPGRADE_ONLINE // 线上、线下
assetRoot = "www/src"//对应assets目录下存放xbrid资源对应的目录名
appId = context.packageName //当前应用包名
platformId = AppConfig.TowerProXBridUpgradePlatformId //需要去平台申请
......@@ -120,7 +138,7 @@ object BaseInitConfig {
val logger = XLogger("appUpgrade")
logger.debugOn(BuildConfig.DEBUG)
YDAppUpdateManager.init(PmUpdateApp(context) {
online = BuildConfig.IS_UPGRADE_ONLINE // 线上true、线下false
online = RunConfig.IS_UPGRADE_ONLINE // 线上true、线下false
platformId = AppConfig.TowerProAppUpgradePlatformId // 平台Id
platform = AppConfig.TowerProPlatform // ios/Android
appId = context.packageName // 应用包名
......@@ -139,9 +157,9 @@ object BaseInitConfig {
config.cv = AppConfig.cv
config.device_finger = FtDeviceFingerManager.getDeviceFinger()
config.distribution = AppConfig.distribution
config.isEncryption = AppConfig.IS_ENCRYPT
config.version = AppConfig.version
config.serverUrlConfig = when (BuildConfig.XINSIGHT_ENV) {
config.isEncryption = RunConfig.IS_ENCRYPT
config.version = RunConfig.SERVICE_VERSION
config.serverUrlConfig = when (RunConfig.XINSIGHT_ENV) {
AppConfig.XInsightEnvTest -> ServerUrlConfig.TEST_SERVER_URL
AppConfig.XInsightEnvPre -> ServerUrlConfig.PRE_SERVER_URL
AppConfig.XInsightEnvPro -> ServerUrlConfig.PRO_SERVER_URL
......
package com.yidian.shenghuoquan.broot.service
import com.yidian.bcommon.BuildConfig
import com.yidian.bcommon.sdk.BCommonManager
import com.yidian.bcommon.sdk.IEncryptService
import com.yidian.bcommon.services.ZapServiceActionConstants
......@@ -18,8 +17,6 @@ import org.json.JSONObject
class EncryptService : ZapService(), IEncryptService {
init {
// 初始化磐石SDK
SecretUtil.init(BuildConfig.IS_ENCRYPT_DEBUG_KEY, BuildConfig.DEBUG)
BCommonManager.setEncryptIml(this)
}
......
......@@ -16,9 +16,11 @@ import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.constant.HawkConfig
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.extensions.continuousClick
import com.yidian.bcommon.services.AppUpgradeService
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.bcommon.services.ZapServiceNameConstants
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.bcommon.webview.PublicWebViewActivity
import com.yidian.shenghuoquan.broot.BaseInitConfig
import com.yidian.shenghuoquan.broot.R
......@@ -113,6 +115,11 @@ class FlashActivity : BaseActivity<ActivityFlashBinding>() {
Hawk.put(HawkConfig.ProtocolIsAgree, true)
toLoginOrHome()
}
// 内容连续点击多次,触发环境切换页面
tvContent.continuousClick {
ToastUtils.showShortSafe("进行环境切换")
startActivity(Intent(this, TestActivity::class.java))
}
builder.show()
}
......
package com.yidian.shenghuoquan.broot.ui
import android.view.View
import android.widget.RadioButton
import androidx.activity.viewModels
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.mvvm.BaseMvvmActivity
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.shenghuoquan.broot.R
import com.yidian.shenghuoquan.broot.databinding.RootActivityTestBinding
import com.yidian.shenghuoquan.broot.ui.test.TestViewModel
/**
* 环境切换
*/
class TestActivity : BaseMvvmActivity<RootActivityTestBinding, TestViewModel>() {
override val layoutId: Int = R.layout.root_activity_test
override val vm: TestViewModel by viewModels()
override fun initView() {
initEnvironment()
subscribeUiEvent()
}
private fun initEnvironment() {
when (RunConfig.currentEnvironment()) {
RunConfig.RunEnvironment.DEV -> binding.radioDev.isChecked = true
RunConfig.RunEnvironment.TEST -> binding.radioTest.isChecked = true
RunConfig.RunEnvironment.PROD -> binding.radioProd.isChecked = true
}
}
fun onRadioButtonClicked(view: View) {
if (view is RadioButton) {
val checked = view.isChecked
when (view.getId()) {
R.id.radio_dev ->
if (checked) {
RunConfig.switchEnvironment(RunConfig.RunEnvironment.DEV)
ToastUtils.showShortSafe("切换为开发环境")
}
R.id.radio_test ->
if (checked) {
RunConfig.switchEnvironment(RunConfig.RunEnvironment.TEST)
ToastUtils.showShortSafe("切换为测试环境")
}
R.id.radio_prod ->
if (checked) {
RunConfig.switchEnvironment(RunConfig.RunEnvironment.PROD)
ToastUtils.showShortSafe("切换为生产环境")
}
}
finish()
}
}
private fun subscribeUiEvent() {
}
}
package com.yidian.shenghuoquan.broot.ui.test
import com.yidian.bcommon.mvvm.BaseViewModel
class TestViewModel : BaseViewModel() {
}
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="vm"
type="com.yidian.shenghuoquan.broot.ui.test.TestViewModel" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp50"
android:text="环境切换"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp18"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title">
<RadioButton
android:id="@+id/radio_dev"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onRadioButtonClicked"
android:paddingStart="@dimen/dp10"
android:paddingEnd="@dimen/dp10"
android:text="开发环境"
android:textColor="@color/colorAccent"
android:textSize="@dimen/sp16" />
<RadioButton
android:id="@+id/radio_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp10"
android:onClick="onRadioButtonClicked"
android:paddingStart="@dimen/dp10"
android:paddingEnd="@dimen/dp10"
android:text="测试环境"
android:textColor="@color/color_1852F1"
android:textSize="@dimen/sp16" />
<RadioButton
android:id="@+id/radio_prod"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp10"
android:onClick="onRadioButtonClicked"
android:paddingStart="@dimen/dp10"
android:paddingEnd="@dimen/dp10"
android:text="生产环境"
android:textColor="@color/color_FF3A3A"
android:textSize="@dimen/sp16" />
</RadioGroup>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -13,8 +13,6 @@ android {
targetSdkVersion build_versions.targetSdkVersion
versionCode rootProject.ext.android.versionCode
versionName rootProject.ext.android.versionName
buildConfigField("boolean", "IS_ENCRYPT_DEBUG_KEY", rootProject.ext.android.isEncryptDebugKey)
buildConfigField("boolean", "IS_UPGRADE_ONLINE", rootProject.ext.android.isUpgradeOnline)
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders = [qqappid: "101923771"]
......
......@@ -6,15 +6,11 @@ import android.content.res.Configuration
import android.os.Bundle
import com.orhanobut.hawk.Hawk
import com.yidian.bcommon.app.YdBaseApplication
import com.yidian.bcommon.http.ApiSaveCookiesInterceptor
import com.yidian.bcommon.http.ApiSetCookiesInterceptor
import com.yidian.bcommon.services.AppUpgradeService
import com.yidian.bcommon.services.ImageService
import com.yidian.bcommon.services.XEventService
import com.yidian.bcommon.services.XPageService
import com.yidian.bcommon.utils.UMConfigUtils
import com.yidian.commonutil.CommonUtilLifecycleModule
import com.yidian.http.ServiceFactory
import com.yidian.news.util.ProcessUtil
import com.yidian.xpage.XPageManager
import com.yidian.yac.core.core.YacAppSpec
......@@ -38,7 +34,6 @@ class BusinessApplication : YdBaseApplication() {
XPageManager.init(this)
loadService()
registerActivityLifecycleCallbacks(activityLifecycle)
UMConfigUtils.preInit(context)
}
}
......@@ -59,7 +54,6 @@ class BusinessApplication : YdBaseApplication() {
private fun initCommonUtils() {
module.onCreate()
Hawk.init(this).build()
initHttp()
}
private val module: CommonUtilLifecycleModule by lazy {
......@@ -102,18 +96,6 @@ class BusinessApplication : YdBaseApplication() {
}
private fun initHttp() {
// val header = HashMap<String, String>()
// header["Content-Type"] = "application/json"
// header["charset"] = "UTF-8"
// ServiceFactory.getInstance().addInterceptor(HttpInterceptor(header))
// ServiceFactory.getInstance().init(true, URLs.BASE_URL, 10, 10)
ServiceFactory.getInstance().init(true, BuildConfig.API_URL, 10, 10)
ServiceFactory.getInstance().addInterceptor(ApiSaveCookiesInterceptor())
ServiceFactory.getInstance().addInterceptor(ApiSetCookiesInterceptor())
}
private fun loadService() {
Zap.addService(XPageService.SERVICE_NAME, XPageService())
Zap.addService(XEventService.SERVICE_NAME, XEventService())
......
ext {
// // 开发环境配置
// android = [
// applicationId : "com.shenghuoquan.business",
// versionCode : 101,
// versionName : "1.0.1",
// serviceVersion : '"000100"', // 上线前需要和服务端确认并更新
// isEncrypt : 'false', // 上线时改成true开启加密
// isEncryptDebugKey: 'false', // 上线前需要使用正式加密key 置为false
// isUmengRelease : 'false', // 上线时改成true,使用上线版本的友盟配置
// isApplication : false,
// isUpgradeOnline : 'false', // 上线前需要开启版本升级线上环境 true 此开关同时影响app版本升级和xbrid版本升级
// TowerApiEnv : '0', // Tower Api环境 0:测试环境 1:内网-正式环境 2:外网-正式环境 3:内网外网-正式环境
// XInsightEnv : '0' // 慧眼SDK环境 0:开发环境 1:测试环境 2:预生产环境 3:生产环境
// ]
// 测试环境配置
android = [
applicationId : "com.shenghuoquan.business",
versionCode : 101,
versionName : "1.0.1",
serviceVersion : '"000100"', // 上线前需要和服务端确认并更新
isEncrypt : 'true', // 上线时改成true开启加密
isEncryptDebugKey: 'true', // 上线前需要使用正式加密key 置为false
isUmengRelease : 'false', // 上线时改成true,使用上线版本的友盟配置
isApplication : false,
isUpgradeOnline : 'false', // 上线前需要开启版本升级线上环境 true 此开关同时影响app版本升级和xbrid版本升级
TowerApiEnv : '0', // Tower Api环境 0:测试环境 1:内网-正式环境 2:外网-正式环境 3:内网外网-正式环境
XInsightEnv : '1' // 慧眼SDK环境 0:开发环境 1:测试环境 2:预生产环境 3:生产环境
]
// // ⚠️⚠️ 上线环境配置
// android = [
// applicationId : "com.shenghuoquan.business",
// versionCode : 101,
// versionName : "1.0.1",
// serviceVersion : '"000100"', // 上线前需要和服务端确认并更新
// isEncrypt : 'true', // 上线时改成true开启加密
// isEncryptDebugKey: 'false', // 上线前需要使用正式加密key 置为false
// isUmengRelease : 'true', // 上线时改成true,使用上线版本的友盟配置
// isApplication : false,
// isUpgradeOnline : 'true', // 上线前需要开启版本升级线上环境 true 此开关同时影响app版本升级和xbrid版本升级
// TowerApiEnv : '2', // Tower Api环境 0:测试环境 1:内网-正式环境 2:外网-正式环境 3:内网外网-正式环境
// XInsightEnv : '3' // 慧眼SDK环境 0:开发环境 1:测试环境 2:预生产环境 3:生产环境
// ]
// 高德地图的key
amap = [
amap_debug_key : '0b8dd2229f4568b508e51865e402e04a',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment