SDK memungkinkan Anda mengonfigurasi channel kustom dan awalan JSAPI. Untuk mengaktifkan fitur ini, hubungi kami.
Pendahuluan
const authorize = () =>{
window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);Untuk menghindari penggunaan identifier "WindVane" dan "WV" dalam kode mini program Anda, seperti yang ditunjukkan pada cuplikan sebelumnya, SDK menyediakan tiga item konfigurasi berikut:
superAppNameSpace: Menetapkan namespace objek window yang digunakan oleh mini program untuk mengakses JSAPI. Nilai default-nya adalah "WindVane".jsApiClassNamePrefix: Menetapkan awalan nama kelas JSAPI kustom. Nilai default-nya adalah "WV".windvaneBackwardCompatible: Nilai boolean yang menentukan apakah kompatibilitas dengan mini program versi lama harus dipertahankan. Nilai default-nya adalah true.
Parameter baru dan penggunaannya
a. Parameter baru
- (void)initConfig {
EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];
...
// Item konfigurasi baru
miniAppInitConfig.windvaneBackwardCompatible = YES;
miniAppInitConfig.superAppNameSpace = @"your NameSpace";
miniAppInitConfig.jsApiClassNamePrefix = @"your ClassNamePrefix";
...
EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
[miniAppService initialize:miniAppInitConfig];
}Contoh
Contoh ini menetapkan superAppNameSpace ke "SuperApp" dan jsApiClassNamePrefix ke "SA".
- (void)initConfig {
EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];
...
// Item konfigurasi baru
miniAppInitConfig.windvaneBackwardCompatible = YES;
miniAppInitConfig.superAppNameSpace = @"SuperApp";
miniAppInitConfig.jsApiClassNamePrefix = @"SA";
...
EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
[miniAppService initialize:miniAppInitConfig];
}Kode berikut membandingkan pemanggilan JSAPI sebelum dan setelah menerapkan konfigurasi ini.
// Pemanggilan JSAPI sebelum kustomisasi
const authorize = () =>{
window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);
// Pemanggilan JSAPI setelah kustomisasi
const authorize = () =>{
window.SuperApp.call('SAAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('SA.Event.SABluetooth.characteristicValueChanged', function(e) {
...
}, false);Seperti yang ditunjukkan pada kode sebelumnya, menetapkan superAppNameSpace ke "SuperApp" dan jsApiClassNamePrefix ke "SA" mengubah cara mini program memanggil JSAPI: namespace berubah dari WindVane menjadi SuperApp, dan awalan nama kelas berubah dari WV... menjadi SA....
b. Skenario konfigurasi
Jika semua mini program Anda hanya menggunakan namespace default "WindVane" dan awalan nama kelas "WV", Anda tidak perlu mengonfigurasi item-item ini karena SDK secara otomatis menerapkan nilai default tersebut.
Jika semua mini program Anda hanya menggunakan namespace kustom dan awalan nama kelas kustom, gunakan konfigurasi berikut:
- (void)initConfig {
EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];
...
// Item konfigurasi baru
miniAppInitConfig.windvaneBackwardCompatible = NO;
miniAppInitConfig.superAppNameSpace = @"your NameSpace";
miniAppInitConfig.jsApiClassNamePrefix = @"your ClassNamePrefix";
...
EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
[miniAppService initialize:miniAppInitConfig];
}Jika Anda perlu mendukung mini program lama yang menggunakan namespace "WindVane" dan awalan nama kelas "WV", serta mini program baru yang menggunakan namespace dan awalan kustom, gunakan konfigurasi berikut:
- (void)initConfig {
EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];
...
// Item konfigurasi baru
miniAppInitConfig.windvaneBackwardCompatible = YES;
miniAppInitConfig.superAppNameSpace = @"your NameSpace";
miniAppInitConfig.jsApiClassNamePrefix = @"your ClassNamePrefix";
...
EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
[miniAppService initialize:miniAppInitConfig];
}