import { Component, inject } from '@angular/core';
import { DA_SERVICE_TOKEN } from '@delon/auth';
import { _HttpClient } from '@delon/theme';
import { NzButtonModule } from 'ng-zorro-antd/button';
import { NzCardModule } from 'ng-zorro-antd/card';
@Component({
selector: 'exception-trigger',
template: `
@for (t of types; track $index) {
}
`,
standalone: true,
imports: [NzCardModule, NzButtonModule]
})
export class ExceptionTriggerComponent {
private readonly http = inject(_HttpClient);
private readonly tokenService = inject(DA_SERVICE_TOKEN);
types = [401, 403, 404, 500];
go(type: number): void {
this.http.get(`/api/${type}`).subscribe();
}
refresh(): void {
this.tokenService.set({ token: 'invalid-token' });
// 必须提供一个后端地址,无法通过 Mock 来模拟
this.http.post(`https://localhost:5001/auth`).subscribe({
next: res => console.warn('成功', res),
error: err => {
console.log('最后结果失败', err);
}
});
}
}