...
Consideramos este passo o mais importante, aqui é onde iremos configurar uma única instância da classe MingleService e ela funcionará por toda a sua aplicação.
Utilizando o comando $ "ng generate service appinitservice" do Angular CLI, criamos um serviço AppInitService e nele realizamos a seguinte implementação:
Lembrando que o Angular foi utilizado para este tutorial, mas pode ser qualquer plataforma escrita com Typescript.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
import { Injectable } from '@angular/core'; import { MingleService, Configuration } from '@totvs/mingle'; @Injectable() export class AppInitService { constructor(private mingleService: MingleService) { } mingleConfiguration(): Promise<any> { return new Promise((resolve, reject) => { console.log("Mingle Service Configuration called"); const configserver = new Configuration(); config.modules.web = true; config.environment = 'DEV'; config.modules.usage_metricsmingleService.servers.development; const appId = 'your_app_id'; const web = true; config.modules.gateway = true; config.modules.push_notification = true; config.server = 'https://dev-mingle.totvs.com.br/api' config.app_identifier = 'identificadorDoAplicativo' this.mingleService.setConfiguration(config); this.mingleService.init(); init(server, appId, web) .then( init => { resolve('Mingle Service Init'); }).catch(error => { console.log("error" , error); reject(error); }); console.log("Mingle Service configuration completed"); }); }} |
...
Realize a importação da classe MingleService e a Configuration.
Bloco de código | ||||
---|---|---|---|---|
| ||||
import { MingleService, Configuration } from '@totvs/mingle'; |
O primeiro passo é definir a constante config como “new Configuration();” dentro do método mingleConfiguration()
Bloco de código | ||||
---|---|---|---|---|
| ||||
const config = new Configuration();
|
Configurações do módulo:
Em aplicações web utilize: config.modules.web = true;
Em aplicações mobile utilize: config.modules.web = false;
Para utilizar as métricas automáticas do Mingle: config.modules.usage_metrics = true;
Para o servidor do Mingle realizar o sistema de gateway: config.modules.gateway = true;
Para definir qual servidor do Mingle:
Deverão ser passados três parâmetros para a inicialização do Mingle (init):
O primeiro parâmetro que deverá ser passado é o servidor.
Existem três servidores, sendo eles: Desenvolvimento
...
...
Como neste exemplo ainda estamos desenvolvendo, vamos utilizar o ambiente "Mingle DesenvolvimentoDevelopment": config.
...
Para utilizar o ambiente Staging
Para utilizar o ambiente Production
O segundo parâmetro que deverá ser utilizado é o appId. Cada ambiente possui um appId por aplicativo, o appId deve ser solicitado para um membro da equipe do Mingle.
O terceiro parâmetro deverá ser a plataforma utilizada.
...
Após finalizar a configuração de acordo com as regras da sua aplicação, chame a função setConfiguration() da classe mingleService passando a sua configuração anterior:
...
language | js |
---|---|
title | appInitService |
...
Em seguida inicie o aplicativo utilizando o método init() da classe mingleService, informando os três parâmetros acima descritos:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
this.mingleService.init(server, appId, web) .then( init => { resolve('Mingle Service Init'); }) |
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
export function initializeApp1(appInitService: AppInitService) { return (): Promise<any> => { return appInitService.mingleConfiguration(); } } |
...
2- Crie um provide para realizar o APP_INITIALIZER que será responsável por executar as configurações realizadas no tópico anterior
3- Realize a importação das classes declaradas em providers
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
providers: [ AppInitService, MingleService, { provide: APP_INITIALIZER, useFactory: initializeApp1, deps:[AppInitService], multi: true}, {provide: HTTP_INTERCEPTORS, useClass: MingleHttpInterceptor, multi: true} ] ], |
Agora basta compilar a aplicação e acompanhar o terminal de logs.
Para essa aplicação utilizamos o comando: $ng $ "ng serve"
Em caso de compilação e configuração positiva, sem erros, no console do seu navegador será Caso no terminal seja apresentada a mensagem: "Mingle Service configuration completed", sua configuração inicial deu certo.
Acompanhe os próximos tópicos desta documentação para começar a desenvolver a aplicação utilizando o Mingle, como por exemplo realizar uma autenticação ou uma requisição de API utilizando a segurança que o gateway do Mingle proporciona.
...