Skip to content

宿主桥 com.hualuo.zhinian.box.common.host ​

API签名说明
PluginTheme@Composable fun PluginTheme(content: @Composable () -> Unit)唯一正确主题入口 反射读宿主深浅色设置(0 跟随/1 浅/2 深)折算后交给 HuaLuoTheme
ZhinianHost.BASE_URLconst val BASE_URL: String后端统一域名(当前 https://obsession.yihualuo.cn)。禁止写死域名
UserManager.getUserToken()fun getUserToken(): String?宿主登录态 token,未登录返回 null(不抛异常)。内部按新版→旧版宿主类名依次回退
UserManager.toLogin(activity)fun toLogin(activity: Activity)跳宿主登录页(带宿主的上滑转场动画)
UserManager.resolvedSource()fun resolvedSource(): String诊断用:当前实际命中的宿主类名,"未命中" 表示两端宿主都没认出来
SettingsManager.getDarkModeOption()fun getDarkModeOption(): StateFlow<Int>宿主深浅色原始设置流(0/1/2),PluginTheme 内部就用它;插件一般不用直接碰
HostBridgeloadClass / firstSingleton / firstClass / invoke / firstResId / hitNameOf反射工具箱(插件侧访问宿主类的底层通道)。UserManager/SettingsManager 已覆盖常用场景,直接用它属于进阶操作
RewardAdManager.requestAndShowAdfun requestAndShowAd(activity: Activity, onReward: () -> Unit, onError: (String) -> Unit)激励广告宿主桥。宿主没提供时走 onError(宿主自带文案「当前版本暂不支持观看广告」),不抛异常;奖励在 onReward 里发