Estou utilizando uma função FwCallApp('teste'). No projeto angular, já tenho importado o componente protheus-lib-core. Tanto que o utilizo para fechar a tela, utilizando o .callAppClose(), e funciona certinho. Mas depois de ativar o Security=1 no appsever.ini, passou a aparecer a mensagem:
The request requires authentication. The server might return this response for a page behind a login.
Entendo que importanto o protheus-lib-core, já deveria considerar o usuário logado do protheus, passando o token no cabeçalho da requisição.
Pergunta: eu preciso fazer algo a mais, além de importar o protheus-lib-core, declarar no app.module ?
Onde dá a mensagem do erro, é quando tento fazer uma requisição GET
Segue o app.component.ts
import { Component } from '@angular/core';
import { PoMenuItem } from '@po-ui/ng-components';
import { ProAppConfigService } from '@totvs/protheus-lib-core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
readonly menus: Array<PoMenuItem> = [
{ label: 'Painel', link: '/', icon: 'po-icon-home', shortLabel: 'Painel' },
{ label: 'Tarefas', shortLabel: 'Tarefas', icon: 'po-icon-table', subItems: [
{label: 'Lembretes', shortLabel: 'Lembretes', link: 'table/service', icon: 'po-icon-star-filled'}
]
},
{label: 'Sair', action: this.closeApp.bind(this), icon: 'po-icon-exit', shortLabel: 'Sair'}
//{label: 'Sair', action: this.closeApp.bind(this)}
];
constructor(private proAppConfigService: ProAppConfigService) {
/*if (!this.proAppConfigService.insideProtheus()) {
this.proAppConfigService.loadAppConfig();
}*/
this.proAppConfigService.loadAppConfig();
}
private closeApp() {
if (this.proAppConfigService.insideProtheus()) {
this.proAppConfigService.callAppClose();
} else {
alert('O App não está sendo executado dentro do Protheus.');
}
}
}
home.component.ts:
import { HttpClient } from '@angular/common/http';
import { Component, Input, OnInit } from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styles: [
]
})
export class HomeComponent implements OnInit {
@Input()
pendentes = '';
aprovados = '';
constructor(private http: HttpClient) {
}
ngOnInit(): void {
this.retornaTotalLembretes();
console.log(this.pendentes);
}
retornaTotalLembretes() {
return this.http.get<any>('http://192.168.101.244:10099/api/ibar/wslembrete/count')
.subscribe(resultado => {
const var1 = JSON.stringify(resultado);
const obj = JSON.parse(var1);
this.pendentes = (obj.items[0].pendentes);
this.aprovados = (obj.items[0].aprovados);
});
}
}