Cenários
Integre o contêiner de miniaplicativo uni-app em um aplicativo nativo baseado em uni-app. Para outros cenários, consulte Integrar um contêiner de miniaplicativo em um aplicativo Android.
Solução
Baixe o plug-in nativo do uni-app EMASUniAppPlugin.
Extraia o arquivo
EMASUniAppPlugin.zipe copie a pasta extraída para a pastanativepluginsdo seu projeto uni-app.Abra seu projeto uni-app no HBuilderX. Clique em
manifest.jsone selecioneEMASUniAppPluginna pastanativepluginscomo plug-in local.

Abra o arquivo
manifest.jsonna visualização de código-fonte. Adicione o parâmetroUniMPem app-plus > modules.
-
Use o EMASUniAppPlugin e o contêiner de miniaplicativo uni-app no seu projeto.
// Obtain the uni-app miniapp container. const mp = uni.requireNativePlugin('uniMP'); // Obtain the EMASUniAppPlugin plug-in. var emasModule = uni.requireNativePlugin("EMASUniAppPlugin");
Referência da API EMASUniAppPlugin
configEmas
var ret = emasModule.configEmas({
'appKeyAndroid': 'xxx',
'appSecretAndroid': 'xxx',
'channelIdAndroid': 'xxx',
'mtopDomain': 'xxx',
'useHttp': 'false',
'appKeyIOS': 'xxx',
'appSecretIOS': 'xxx',
'channelIdIOS': 'xxx'
})
Inicializa o EMASUniAppPlugin. Síncrono.
|
Parâmetros de solicitação |
|
|
appKeyAndroid |
String. AppKey do Android, disponível no console do Enterprise Mobile Application Studio (EMAS). |
|
appSecretAndroid |
String. AppSecret do Android, disponível no console do EMAS. |
|
channelIdAndroid |
String. ID do canal Android, disponível no console do EMAS. |
|
mtopDomain |
String. Nome de domínio MTOP para o EMAS. |
|
useHttp |
Boolean. Indica se deve usar HTTP. |
|
appKeyIOS |
String. AppKey do iOS, disponível no console do EMAS. |
|
appSecretIOS |
String. AppSecret do iOS, disponível no console do EMAS. |
|
channelIdIOS |
String. ID do canal iOS, disponível no console do EMAS. |
updateMiniApp
emasModule.updateMiniapp({
'appId': 'xxx',
}, (ret) => {
})
Baixa e instala uma nova versão do miniaplicativo. Assíncrono.
|
Parâmetros de solicitação |
|
|
appId |
String. ID do miniaplicativo, disponível no console da Application Open Platform ou na seção Obter o ID de um miniaplicativo abaixo. |
|
miniAppVersion |
String. Número da versão de destino. Opcional. Se vazio ou nulo, baixa e instala o miniaplicativo. Se especificado, realiza o download e a instalação apenas se o miniaplicativo ainda não tiver atingido essa versão. |
|
publishId |
String. ID de lançamento do miniaplicativo. Opcional. |
|
Parâmetros de resposta |
|
|
code |
Number. Código de erro. |
|
errorMsg |
String. Mensagem de erro. |
|
wgtPath |
String. Caminho do pacote de instalação do miniaplicativo. |
|
uniAppId |
String. ID do miniaplicativo. |
|
version |
String. Versão do miniaplicativo. |
|
publishType |
String. Tipo de lançamento do miniaplicativo. |
Exemplo:
emasModule.updateMiniapp({
'appId': '151624424672398147591',
}, (ret) => {
if (ret.code === 0) {
// Install the miniapp by using the miniapp container.
mp.installUniMP({
appid: '__UNI__151624424672398147591',
wgtFile: ret.wgtPath
}, (r) => {
if (0 == r.code) {
uni.showToast({
title: 'The miniapp is installed.'
});
// After the miniapp is installed, open the miniapp.
mp.openUniMP({
appid: '__UNI__151624424672398147591'
}, (ret) => {
if (0 != ret.code) {
uni.showModal({
title: 'The miniapp failed to be started.',
content: JSON.stringify(ret),
showCancel: false
});
}
console.log('openUniMP: ' + JSON.stringify(ret));
});
} else {
uni.showModal({
title: 'The miniapp failed to be installed.',
content: JSON.stringify(r),
showCancel: false
});
}
console.log('installUniMP: ' + JSON.stringify(r));
});
}
})
getMiniappList
emasModule.getMiniappList({
'appIdList': '[xxx]',
}, (ret) => {
})
Consulta miniaplicativos. Assíncrono.
|
Parâmetros de solicitação |
|
|
appIdList |
String. IDs dos miniaplicativos, disponíveis no console da Application Open Platform. Para mais informações, consulte a seção Obter o ID de um miniaplicativo deste tópico. |
|
Parâmetros de resposta |
|
|
code |
Number. Código de erro. |
|
errorMsg |
String. Mensagem de erro. |
|
listData |
String. Informações do miniaplicativo. |
Obter o ID de um miniaplicativo
Faça login no console da Application Open Platform.
-
Selecione um workspace para abrir a página Overview.
NotaSe você pertencer a apenas um workspace, a página Overview abrirá automaticamente após o login.
No painel de navegação à esquerda, clique em Mini Apps para abrir a página Miniapp List.
-
Na página Miniapp List, localize seu miniaplicativo e anote o ID correspondente.
