Commit 60eb2874 authored by yinjiacheng's avatar yinjiacheng

update XInsight初始化迁移到BGeneralBusiness组件 GeneralAbilityService中提供延迟初始化SDK能力

parent ce7fe133
......@@ -42,5 +42,8 @@ class ZapServiceActionConstants {
// 获取用户信息
const val ActionGetUserInfo = "getUserInfo"
// 延迟初始化
const val ActionLazyInit = "lazyInit"
}
}
package com.yidian.shenghuoquan.bgeneralbusiness.config
import com.yidian.bcommon.BuildConfig
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.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.yac.ftdevicefinger.core.FtDeviceFingerManager
/**
* author: yinjiacheng
* date: 8/3/21 11:01 AM
* description: 需要延迟初始化的SDK
*/
object LazyInitConfig {
/**
* 初始化慧眼
*/
fun initXInsight() {
val config = XInsightConfig()
config.cv = AppConfig.cv
config.device_finger = FtDeviceFingerManager.getDeviceFinger()
config.distribution = AppConfig.distribution
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
else -> ServerUrlConfig.DEV_SERVER_URL
}
val provide = object : XDiamondProvide {
override fun sign(str: String?): String? {
if (str == null) return null
return SecretUtil.sign(str)
}
override fun rsaEncrypt(str: String?): String? {
if (str == null) return null
return SecretUtil.rsaEncrypt(str)
}
override fun rsaDecrypt(str: String?): String? {
if (str == null) return null
return SecretUtil.rsaDecrypt(str)
}
override fun aesEncrypt(str: String?): String? {
if (str == null) return null
return SecretUtil.aesEncrypt(str)
}
override fun aesDecrypt(str: String?): String? {
if (str == null) return null
return SecretUtil.aesDecrypt(str)
}
override fun verifySign(src: String?, sign: String?): Boolean {
if (src == null || sign == null) return false
return SecretUtil.verifySign(src, sign)
}
}
XInsight.init(YdBaseApplication.context, BCommonManager.getAppId(), BuildConfig.DEBUG, config, provide)
}
}
package com.yidian.shenghuoquan.bgeneralbusiness.service
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.shenghuoquan.bgeneralbusiness.config.LazyInitConfig
import com.yidian.shenghuoquan.bgeneralbusiness.http.GeneralBusinessRemoteDataService
import com.yidian.xarc.xrouter.ResultResolver
import com.yidian.yac.core.zap.ZapService
......@@ -19,6 +20,7 @@ class GeneralAbilityService : ZapService() {
params as JSONObject
when (action) {
ZapServiceActionConstants.ActionRequestSmsCode -> requestSmsCode(params)
ZapServiceActionConstants.ActionLazyInit -> lazyInit()
}
}
......@@ -43,4 +45,12 @@ class GeneralAbilityService : ZapService() {
}
}
}
/**
* 延迟初始化
*/
private fun lazyInit() {
// 初始化慧眼
LazyInitConfig.initXInsight()
}
}
......@@ -9,12 +9,9 @@ import com.yidian.bcommon.BuildConfig
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.constant.GlobalConstants
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.bcommon.services.ZapServiceNameConstants
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.news.util.ProcessUtil
import com.yidian.xarc.xbase.utils.XLogger
import com.yidian.xarc.xbrid.*
......@@ -48,10 +45,10 @@ object BaseInitConfig {
initXBridManager(context)
// 初始化App升级
initAppUpgrade(context)
// 初始化慧眼
initXInsight(context)
// SmartRefresh
initSmartRefreshLayout()
// 调用延迟初始化
ZapTicket(ZapServiceNameConstants.GeneralAbilityService).withAction(ZapServiceActionConstants.ActionLazyInit).ship()
}
}
......@@ -139,57 +136,6 @@ object BaseInitConfig {
})
}
/**
* 慧眼
*/
private fun initXInsight(context: Context) {
val config = XInsightConfig()
config.cv = AppConfig.cv
config.device_finger = FtDeviceFingerManager.getDeviceFinger()
config.distribution = AppConfig.distribution
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
else -> ServerUrlConfig.DEV_SERVER_URL
}
val provide = object : XDiamondProvide {
override fun sign(str: String?): String? {
if (str == null) return null
return SecretUtil.sign(str)
}
override fun rsaEncrypt(str: String?): String? {
if (str == null) return null
return SecretUtil.rsaEncrypt(str)
}
override fun rsaDecrypt(str: String?): String? {
if (str == null) return null
return SecretUtil.rsaDecrypt(str)
}
override fun aesEncrypt(str: String?): String? {
if (str == null) return null
return SecretUtil.aesEncrypt(str)
}
override fun aesDecrypt(str: String?): String? {
if (str == null) return null
return SecretUtil.aesDecrypt(str)
}
override fun verifySign(src: String?, sign: String?): Boolean {
if (src == null || sign == null) return false
return SecretUtil.verifySign(src, sign)
}
}
XInsight.init(context, AppConfig.appIdMerchantB, BuildConfig.DEBUG, config, provide)
}
/**
* 设置刷新 默认的header和footer
*/
......
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