Kemampuan SDK white label mendukung pelanggan dalam mengonfigurasi namespace kustom dan awalan JSAPI. Jika Anda ingin menggunakan fungsi ini, silakan hubungi kami.
Pendahuluan
const authorize = () =>{
window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);Seperti yang ditunjukkan dalam potongan kode di atas, beberapa pelanggan tidak ingin menggunakan "WindVane" nameSpace dan "WV" classNamePrefix dalam kode mini app mereka. Mereka ingin menyesuaikan "WindVane" nameSpace dan "WV" classNamePrefix. Oleh karena itu, tiga item konfigurasi baru telah ditambahkan dalam config sebagai berikut:
setSuperAppNameSpace(String nameSpace) digunakan untuk menetapkan nama objek window agar mini app dapat mengakses JsApi. Nilai defaultnya adalah "WindVane".
setJsApiClassNamePrefix(String classNamePrefix) digunakan untuk menetapkan awalan nama kelas JsApi kustom. Nilai defaultnya adalah "WV".
setWindVaneBackwardCompatible(boolean bool) digunakan untuk menetapkan apakah kompatibel dengan versi lama mini app. Nilai default true menunjukkan bahwa itu kompatibel dengan versi lama mini app.
Item konfigurasi baru & metode penggunaan
a. Item konfigurasi baru
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")
...
// item konfigurasi baru
.setWindVaneBackwardCompatible(true)
.setSuperAppNameSpace("your NameSpace")
.setJsApiClassNamePrefix("your ClassNamePrefix")
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
}Kasus Penggunaan
Tetapkan SuperAppNameSpace sebagai "SuperApp" dan JsApiClassNamePrefix sebagai "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")
...
// item konfigurasi baru
.setWindVaneBackwardCompatible(true)
.setSuperAppNameSpace("SuperApp")
.setJsApiClassNamePrefix("SA")
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);Setelah konfigurasi selesai, bandingkan panggilan JSAPI mini app.
// Panggil jsapi sebelum penyesuaian
const authorize = () =>{
window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);
// Panggil jsapi setelah penyesuaian
const authorize = () =>{
window.SuperApp.call('SAAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('SA.Event.SABluetooth.characteristicValueChanged', function(e) {
...
}, false);Seperti yang ditunjukkan dalam potongan kode di atas, jika NameSpace dan ClassNamePrefix disetel ke "SuperApp" dan "SA" masing-masing, ketika mini app memanggil JsApi, NameSpace berubah dari WindVane -> SuperApp, dan ClassNamePrefix berubah dari WV... -> SA...
b. Metode Konfigurasi
Untuk pengguna yang hanya menggunakan "WindVane" NameSpace dan "WV" ClassNamePrefix pada mini app mereka, tidak perlu mengonfigurasi tiga item konfigurasi tambahan ini karena nilai default sudah mencukupi.
Untuk pengguna yang menggunakan NameSpace kustom dan ClassNamePrefix kustom untuk semua mini app, konfigurasinya adalah sebagai berikut:
public static void init() {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
...
// item konfigurasi baru
.setWindVaneBackwardCompatible(false)
.setSuperAppNameSpace("your NameSpace")
.setJsApiClassNamePrefix("your ClassNamePrefix")
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
}Untuk beberapa mini app yang masih menggunakan "WindVane" NameSpace dan "WV" ClassNamePrefix, sementara versi baru lainnya dari mini app menggunakan NameSpace kustom dan ClassNamePrefix kustom,
konfigurasinya adalah sebagai berikut:
public static void init() {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
...
// item konfigurasi baru
.setWindVaneBackwardCompatible(true)
.setSuperAppNameSpace("your NameSpace")
.setJsApiClassNamePrefix("your ClassNamePrefix")
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
}