SDK开发可配置自定义通道和JSAPI前缀,如需使用此功能请联系我们。
简介
const authorize = () =>{
window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);如上述代码片段所示,有的客户不希望在小程序代码中使用"WindVane","WV"标识。希望能够对上述标识进行自定义。因此config中新增三个可配置项如下:
setSuperAppNameSpace(String nameSpace) 用于设置小程序访问JsApi的window对象名,默认值"WindVane"
setJsApiClassNamePrefix(String classNamePrefix) 用于设置自定义JsApi类名前缀,默认值"WV"
setWindVaneBackwardCompatible(boolean bool) 用于设置设否兼容老版本小程序,默认值true表示兼容老版本小程序
新增配置项&使用方法
a. 新增配置项
public static void init() {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
.setUseWindVane(true)
.setHost("your.host.name")
.setAppCode("your app code")
.setAccessKey("your access key")
.setSecretKey("your secret key")
...
// 新增配置项
// new config item
.setWindVaneBackwardCompatible(true)
.setSuperAppNameSpace("your NameSpace")
.setJsApiClassNamePrefix("your ClassNamePrefix")
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
}使用案例
定义SuperAppNameSpace为SuperApp,JsApiClassNamePrefix为SA。
public static void init() {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
.setUseWindVane(true)
.setHost("your.host.name")
.setAppCode("your app code")
.setAccessKey("your access key")
.setSecretKey("your secret key")
...
// 新增配置项
// new config item
.setWindVaneBackwardCompatible(true)
.setSuperAppNameSpace("SuperApp")
.setJsApiClassNamePrefix("SA")
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);配置完成后,小程序JSAPI调用对比。
// 自定义前调用jsapi
// Call jsapi before customization
const authorize = () =>{
window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);
// 自定义后调用jsapi
// Call jsapi after customization
const authorize = () =>{
window.SuperApp.call('SAAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('SA.Event.SABluetooth.characteristicValueChanged', function(e) {
...
}, false);如上述代码片段显示如果将NameSpace和ClassNamePrefix分别设置为"SuperApp" 和 "SA"。小程序调用JsApi时NameSpace由 WindVane -> SuperApp,ClassNamePrefix由 WV... -> SA...
b. 配置方法
对于 所有 小程序只使用"WindVane" NameSpace 和 "WV" ClassNamePrefix的用户,无需额外配置这三个配置项使用默认值即可。
对于 所有 小程序只使用 自定义 NameSpace 和 自定义 ClassNamePrefix的用户,配置如下:
public static void init() {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
...
// 新增配置项
// new config item
.setWindVaneBackwardCompatible(false)
.setSuperAppNameSpace("your NameSpace")
.setJsApiClassNamePrefix("your ClassNamePrefix")
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
}对于部分小程序仍使用"WindVane" NameSpace 和 "WV" ClassNamePrefix,
对于部分新版本小程序使用 自定义 NameSpace 和 自定义 ClassNamePrefix的用户,
配置如下:
public static void init() {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
...
// 新增配置项
// new config item
.setWindVaneBackwardCompatible(true)
.setSuperAppNameSpace("your NameSpace")
.setJsApiClassNamePrefix("your ClassNamePrefix")
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
}