环境与配置
getEnv()
Section titled “getEnv()”获取当前运行环境信息。
const env = await SuperSDK.getEnv();console.log(env);// {// webviewId: "a1b2c3d4",// versionName: "1.0.0",// versionCode: 1010203,// channel: "local_test",// spid: "ab12cd34", // 替换为控制台签发的真实 spid// environment: "prod",// deviceId: "xxx-xxx-xxx",// platform: "android",// osVersion: "14",// deviceModel: "Pixel 8",// wappVersion: "1.0.0", // 当前 WApp(离线包)版本,非离线包页面为 ""// wappBuildTime: 1740198896 // 离线包构建时间(秒级时间戳),非离线包页面为 0// }setAPIEnvironment(environment) / getAPIEnvironment()
Section titled “setAPIEnvironment(environment) / getAPIEnvironment()”项目环境对应控制台顶栏的 env(如 prod / staging),决定 settings 拉取与埋点上报归属的环境。
// web 降级模式:运行时切换项目环境(需先 initFallback)await SuperSDK.setAPIEnvironment('staging');// 切换后 getHostSettings 请求的 env 参数、reportEvent 的// basic_data.env 与 X-Super-API-ENV header 均使用新值;// settings 请求缓存按环境隔离,切回旧环境命中原缓存。
// 读取当前项目环境(Promise<string>;web 未初始化时 resolve "prod")const env = await SuperSDK.getAPIEnvironment();规则:
- 取值限 1–10 位小写字母/数字(
^[a-z0-9]{1,10}$),非法值 rejectINVALID_ARGUMENT且状态不变;web 未initFallback时 set rejectNOT_INITIALIZED - 切换前会尽力冲刷旧环境的待发埋点事件,再换值
- 端内(App 内):
setAPIEnvironment一律 rejectUNSUPPORTED—— 端内环境由原生宿主经SuperSDK.setAPIEnvironment(Android)/SuperSDKManager.setAPIEnvironment(iOS)控制;getAPIEnvironment经getEnv透传原生当前值 initFallback(config)的environment字段仍作为 web 模式的初始环境
getAppName()
Section titled “getAppName()”获取宿主 App 名称。
const appName = await SuperSDK.getAppName();// "MyApp"getAppIcon()
Section titled “getAppIcon()”获取宿主 App 图标(Base64 格式)。
const iconBase64 = await SuperSDK.getAppIcon();// "data:image/png;base64,iVBOR..."// 可直接用于 <img src="...">getHostSettings(configName?)
Section titled “getHostSettings(configName?)”获取宿主配置信息。configName 是配置名称,不传则端上请求不带 configName 参数。
const hostSettings = await SuperSDK.getHostSettings();const featureSettings = await SuperSDK.getHostSettings('feature_flags');// { code: 'SUCCESS', msg: '', data: { ... } } 与服务端 settings 响应形态一致参数:configName (string, 可选) — 配置名称;不传则请求不带 configName 参数。
返回值:Promise<Object> — 宿主云控响应对象,成功时为 { code, msg, data };data 是配置内容。非端环境下 resolve 空对象 {},不会 reject。
getHostSettingsByKey(key, configName?)
Section titled “getHostSettingsByKey(key, configName?)”根据 key 获取宿主特定配置。
const config = await SuperSDK.getHostSettingsByKey('feature_flags');const config = await SuperSDK.getHostSettingsByKey('enabled', 'feature_flags');参数:key (string) — 配置项的键。
参数:configName (string, 可选) — 配置名称;不传则请求不带 configName 参数。
返回值:Promise<*> — 该 key 对应的宿主配置值;端上会优先查响应根对象,未命中时兼容查 data[key]。非端环境下 resolve null。