新建httpconfig.interceptor.ts文件
import {Injectable} from '@angular/core';
import {Observable, throwError} from 'rxjs';
import 'rxjs/add/operator/do';
import {Router} from '@angular/router';
import {StorageService} from '../../service/storage.service';
import {map, catchError} from 'rxjs/operators';
import {
HttpInterceptor,
HttpRequest,
HttpResponse,
HttpHandler,
HttpEvent,
HttpErrorResponse
} from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class ApiInterceptor implements HttpInterceptor {
constructor(
// private msg: NzMessageService,
private router: Router,
// private session: SessionStorageService
private storageService: StorageService
) {
}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
// 获取当前语言
const currentLanguage = this.storageService.getLang();
let authReq;
authReq = req.clone({
headers: req.headers.set('Content-Type', 'application/json')
.set('Address', this.storageService.getToken())
});
return next.handle(authReq).pipe(
map((event: HttpEvent<any>) => {
if (event instanceof HttpResponse) {
// console.log('event--->>>', event);
}
return event;
}));
}
}