外观
宿主桥 com.hualuo.zhinian.box.common.host
| API | 签名 | 说明 |
|---|---|---|
PluginTheme | @Composable fun PluginTheme(content: @Composable () -> Unit) | 唯一正确主题入口 反射读宿主深浅色设置(0 跟随/1 浅/2 深)折算后交给 HuaLuoTheme |
ZhinianHost.BASE_URL | const 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 内部就用它;插件一般不用直接碰 |
HostBridge | loadClass / firstSingleton / firstClass / invoke / firstResId / hitNameOf | 反射工具箱(插件侧访问宿主类的底层通道)。UserManager/SettingsManager 已覆盖常用场景,直接用它属于进阶操作 |
RewardAdManager.requestAndShowAd | fun requestAndShowAd(activity: Activity, onReward: () -> Unit, onError: (String) -> Unit) | 激励广告宿主桥。宿主没提供时走 onError(宿主自带文案「当前版本暂不支持观看广告」),不抛异常;奖励在 onReward 里发 |