Todos os produtos
Search
Central de documentação

SuperApp:JSAPIs de marca branca para mini programs

Última atualização: Jun 29, 2026

O SDK permite configurar um namespace personalizado e um prefixo de nome de classe JSAPI para mini programs. Para ativar esse recurso, entre em contato conosco.

Comportamento padrão

Por padrão, os mini programs chamam JSAPIs usando o namespace WindVane e o prefixo de nome de classe WV:

const authorize = () =>{
  window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);

Para usar um namespace e um prefixo personalizados, configure os seguintes parâmetros em EMASMiniAppInitConfig:

Parâmetro

Tipo

Padrão

Descrição

superAppNameSpace

String

"WindVane"

Nome do objeto window que os mini programs usam para acessar JSAPIs.

jsApiClassNamePrefix

String

"WV"

Prefixo do nome de classe para chamadas de JSAPI e listeners de eventos.

windvaneBackwardCompatible

Boolean

true

Define se deve manter compatibilidade com versões anteriores de mini programs que usam o namespace WindVane e o prefixo WV.

Configurar namespace e prefixo personalizados

Novos parâmetros

Para usar um namespace e um prefixo personalizados, configure os parâmetros a seguir em EMASMiniAppInitConfig:

  1. superAppNameSpace: defina o nome do objeto window que os mini programs usam para acessar JSAPIs. O valor padrão é "WindVane".

  2. jsApiClassNamePrefix: defina o prefixo personalizado do nome de classe JSAPI. O valor padrão é "WV".

  3. windvaneBackwardCompatible: valor booleano que indica se a compatibilidade com versões anteriores deve ser mantida para mini programs que utilizam o namespace WindVane e o prefixo WV. O valor padrão é true.

Parâmetro

Tipo

Padrão

Descrição

superAppNameSpace

String

"WindVane"

Nome do objeto window que os mini programs usam para acessar JSAPIs.

jsApiClassNamePrefix

String

"WV"

Prefixo do nome de classe para chamadas de JSAPI e listeners de eventos.

windvaneBackwardCompatible

Boolean

true

Define se deve manter compatibilidade com versões anteriores de mini programs que usam o namespace WindVane e o prefixo WV.

Defina os três parâmetros no método initConfig:

- (void)initConfig {

    EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];

    ...

    // New configuration items
    miniAppInitConfig.windvaneBackwardCompatible = YES;
    miniAppInitConfig.superAppNameSpace = @"your NameSpace";
    miniAppInitConfig.jsApiClassNamePrefix = @"your ClassNamePrefix";

    ...

    EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
    [miniAppService initialize:miniAppInitConfig];

}

Exemplo

Neste exemplo, superAppNameSpace é definido como "SuperApp" e jsApiClassNamePrefix como "SA":

- (void)initConfig {

    EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];

    ...

    // New configuration items
    miniAppInitConfig.windvaneBackwardCompatible = YES;
    miniAppInitConfig.superAppNameSpace = @"SuperApp";
    miniAppInitConfig.jsApiClassNamePrefix = @"SA";

    ...

    EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
    [miniAppService initialize:miniAppInitConfig];

}

Com essa configuração, o namespace muda de WindVane para SuperApp e o prefixo do nome de classe passa de WV para SA. O código a seguir mostra as chamadas de JSAPI antes e depois da alteração:

// JSAPI call before customization
const authorize = () =>{
  window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);

// JSAPI call after customization
const authorize = () =>{
    window.SuperApp.call('SAAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('SA.Event.SABluetooth.characteristicValueChanged', function(e) {
  ...
}, false);

Cenários de configuração

Escolha o cenário correspondente à implantação do seu mini program:

  1. Apenas namespace padrão: se todos os seus mini programs usam o namespace padrão WindVane e o prefixo WV, nenhuma configuração é necessária. O SDK aplica esses padrões automaticamente.

  2. Apenas namespace personalizado: caso todos os seus mini programs utilizem um namespace e prefixo personalizados, defina windvaneBackwardCompatible como NO:

- (void)initConfig {

    EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];

    ...

    // New configuration items
    miniAppInitConfig.windvaneBackwardCompatible = NO;
    miniAppInitConfig.superAppNameSpace = @"your NameSpace";
    miniAppInitConfig.jsApiClassNamePrefix = @"your ClassNamePrefix";

    ...

    EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
    [miniAppService initialize:miniAppInitConfig];

}
  1. Misto: legado e personalizado: quando for necessário oferecer suporte tanto a mini programs mais antigos (que usam os identificadores WindVane/WV) quanto aos mais recentes (com namespace e prefixo personalizados), defina windvaneBackwardCompatible como YES:

- (void)initConfig {

    EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];

    ...

    // New configuration items
    miniAppInitConfig.windvaneBackwardCompatible = YES;
    miniAppInitConfig.superAppNameSpace = @"your NameSpace";
    miniAppInitConfig.jsApiClassNamePrefix = @"your ClassNamePrefix";

    ...

    EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
    [miniAppService initialize:miniAppInitConfig];

}