Commit b40d4b19 by Sweet Zhang

增加文件下载,通过拦截器同一加token

parent fe401d3b
......@@ -17,7 +17,7 @@
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/ydLife",
"outputPath": "dist/",
"index": "src/index.html", //指定首页文件,默认值是`index.html`
"main": "src/main.ts", // 指定应用的入门文件
"polyfills": "src/polyfills.ts", // 指定polyfill文件
......
import {Injectable} from '@angular/core';
import {Observable, of} from 'rxjs';
import {Observable, of, throwError} from 'rxjs';
import {environment} from '../../environments/environment';
import {HttpClient} from '@angular/common/http';
import {HttpClient, HttpErrorResponse} from '@angular/common/http';
import {catchError} from 'rxjs/internal/operators';
@Injectable({
providedIn: 'root',
......@@ -32,7 +33,10 @@ export class AuthService {
compare(compareCode) {
const url = this.API + '/checkVerificationCode';
return this.http
.post(url, JSON.stringify(compareCode));
.post(url, JSON.stringify(compareCode))
.pipe(
catchError(this.handleError)
);
}
/**
......@@ -45,4 +49,17 @@ export class AuthService {
};
return this.http.post(url, JSON.stringify(ticketObj));
}
// 获取错误详情
private handleError(error: HttpErrorResponse) {
if (error.error instanceof ErrorEvent) {
console.error('An error occurred:', error.error.message);
} else {
console.error(
`Backend returned code ${error.status}, ` +
`body was: ${JSON.stringify(error.error)}`);
}
return throwError(
'Something bad happened; please try again later.');
}
}
......@@ -3,6 +3,7 @@ import {
HttpEvent, HttpInterceptor, HttpHandler, HttpRequest
} from '@angular/common/http';
import {Observable} from "rxjs/index";
import {tap} from "rxjs/internal/operators";
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
......@@ -11,6 +12,19 @@ export class AuthInterceptor implements HttpInterceptor {
headers: req.headers.set('X-Authorization', localStorage.getItem('lifeToken') ? localStorage.getItem('lifeToken') : ''),
setHeaders: {'Content-Type': 'application/json'}
});
return next.handle(authReq);
return next.handle(authReq)
.pipe(
tap(
event => {},
error => {
if (error.status === 401) {
let {search, href} = window.location;
href = href.replace(/&?t_reload=(\d+)/g, '');
window.location.href = href + (search ? '&' : '?') + 't_reload=' + new Date().getTime();
}
}
)
);
}
}
......@@ -21,6 +21,7 @@ export class MyCenterHomeComponent implements OnInit {
{no: 3, title: '我的客户', path: '', icon: 'icon-kehu'},
{no: 4, title: '保单查询', path: '', icon: 'icon-baodanyangben'},
{no: 5, title: '教育训练', path: '', icon: 'icon-jiaoyu'},
{no: 6, title: '文件下载', path: 'https://www.ydinsurance.cn/?page_id=13957', icon: 'icon-xiazai'},
{no: 0, title: '退出登录', path: '', icon: 'icon-tuichu'},
];
}
......
......@@ -61,6 +61,12 @@
</li>
<li class="dib">
<span class="icon iconfont">&#xe64a;</span>
<div class="name">下载</div>
<div class="code-name">&amp;#xe64a;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe622;</span>
<div class="name">客户</div>
<div class="code-name">&amp;#xe622;</div>
......@@ -162,6 +168,15 @@
</li>
<li class="dib">
<span class="icon iconfont icon-xiazai"></span>
<div class="name">
下载
</div>
<div class="code-name">.icon-xiazai
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-kehu"></span>
<div class="name">
客户
......@@ -241,6 +256,14 @@
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xiazai"></use>
</svg>
<div class="name">下载</div>
<div class="code-name">#icon-xiazai</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-kehu"></use>
</svg>
<div class="name">客户</div>
......
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1575361161159'); /* IE9 */
src: url('iconfont.eot?t=1575361161159#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('iconfont.woff?t=1575361161159') format('woff'),
url('iconfont.ttf?t=1575361161159') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1575361161159#iconfont') format('svg'); /* iOS 4.1- */
src: url('iconfont.eot?t=1575963800215'); /* IE9 */
src: url('iconfont.eot?t=1575963800215#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('iconfont.woff?t=1575963800215') format('woff'),
url('iconfont.ttf?t=1575963800215') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1575963800215#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
......@@ -35,6 +35,10 @@
content: "\e60d";
}
.icon-xiazai:before {
content: "\e64a";
}
.icon-kehu:before {
content: "\e622";
}
......
......@@ -41,6 +41,13 @@
"unicode_decimal": 58893
},
{
"icon_id": "9632604",
"name": "下载",
"font_class": "xiazai",
"unicode": "e64a",
"unicode_decimal": 58954
},
{
"icon_id": "11641888",
"name": "客户",
"font_class": "kehu",
......
......@@ -35,6 +35,9 @@ Created by iconfont
<glyph glyph-name="jiaoyu" unicode="&#58893;" d="M899.357494 770.961732c-21.925896 0-29.234528-7.308632-29.234528-29.234528v-730.863197c0-36.54316-29.234528-65.777688-65.777687-65.777687H234.271985c-36.54316 0-73.08632 29.234528-80.394951 65.777687v73.08632c7.308632 36.54316 43.851792 58.469056 73.086319 58.469056h533.530134c21.925896 0 29.234528 7.308632 29.234528 29.234528V785.578996c0 65.777688-43.851792 109.629479-109.62948 109.629479H234.271985c-65.777688 7.308632-124.246743-36.54316-138.864007-109.629479v-796.640885c14.617264-58.469056 65.777688-109.629479 124.246743-116.938111h577.381926c65.777688 0 116.938111 58.469056 131.555375 116.938111V749.035836c0 7.308632-21.925896 21.925896-29.234528 21.925896z" horiz-adv-x="1024" />
<glyph glyph-name="xiazai" unicode="&#58954;" d="M959.5 366.5c-2 84-59.4 161.2-144.4 192-46 126.4-165.9 211.5-300 213-132.5 1.4-253.2-79.2-303-202.5-87.4-32.2-146-112.6-147-199.5-1.2-104.1 80.7-199.5 193.9-216h12.8v0.1h0.5c23.5 0 42.5 19 42.5 42.5s-19 42.5-42.5 42.5H264v0.4c-65.5 5.3-117 60.2-117 127 0 70.2 56.7 127.1 126.8 127.5 23.4 110.2 121.3 192.9 238.5 192.9s215.1-82.7 238.5-192.9c70.1-0.4 126.8-57.3 126.8-127.5 0-67.9-53-123.3-119.9-127.2v-0.2h-6.6c-23.5 0-42.5-19-42.5-42.5s19-42.5 42.5-42.5h0.8v-0.1h19.3c111.2 17 190.7 111.4 188.3 213zM663.9 214.2c-17.6 15.6-44.7 13.9-60.3-3.7l-49.2-55.7V366.5c0 23.2-18.9 42.1-42.1 42.1-23.2 0-42.1-18.9-42.1-42.1v-211.6L421 210.5c-15.6 17.6-42.7 19.3-60.3 3.7-17.6-15.6-19.3-42.7-3.7-60.3l123.3-139.4c4.1-4.7 9-8.2 14.4-10.6 0.1 0 0.2-0.1 0.3-0.1l1.5-0.6c0.2-0.1 0.4-0.2 0.6-0.2 0.4-0.2 0.8-0.3 1.2-0.4 0.3-0.1 0.6-0.2 0.8-0.3 0.3-0.1 0.7-0.2 1-0.3 0.3-0.1 0.7-0.2 1-0.3 0.3-0.1 0.6-0.2 0.9-0.2 0.4-0.1 0.8-0.2 1.1-0.3 0.3-0.1 0.6-0.1 0.8-0.2 0.4-0.1 0.8-0.2 1.2-0.2 0.3 0 0.5-0.1 0.8-0.1 0.4-0.1 0.8-0.1 1.2-0.2 0.3 0 0.6-0.1 0.8-0.1 0.4 0 0.8-0.1 1.2-0.1 0.3 0 0.6 0 0.9-0.1h4.2c0.3 0 0.6 0 0.9 0.1 0.4 0 0.8 0.1 1.2 0.1 0.3 0 0.6 0.1 0.8 0.1 0.4 0 0.8 0.1 1.2 0.2 0.3 0 0.5 0.1 0.8 0.1 0.4 0.1 0.8 0.1 1.2 0.2 0.3 0.1 0.6 0.1 0.8 0.2 0.4 0.1 0.8 0.2 1.1 0.3 0.3 0.1 0.6 0.1 0.9 0.2 0.3 0.1 0.7 0.2 1 0.3 0.3 0.1 0.7 0.2 1 0.3 0.3 0.1 0.6 0.2 0.8 0.3 0.4 0.1 0.8 0.3 1.2 0.4 0.2 0.1 0.4 0.2 0.6 0.2l1.5 0.6c0.1 0 0.2 0.1 0.3 0.1 5.3 2.4 10.3 5.9 14.4 10.6l123.3 139.4c16 17.6 14.3 44.8-3.3 60.3z" horiz-adv-x="1024" />
<glyph glyph-name="kehu" unicode="&#58914;" d="M593.92 265.671s-34.133 9.102-43.236 13.653c-18.204 11.378-29.582 34.134-29.582 56.89 0 25.03 20.48 45.51 34.134 61.44 34.133 40.96 52.337 95.573 52.337 157.013 0 127.43-91.022 229.83-202.524 229.83S202.524 679.823 202.524 552.392c0-61.44 20.48-116.053 52.338-157.013 20.48-11.378 34.134-36.41 34.134-61.44 0-22.756-11.378-43.236-29.583-56.89v-2.275c-2.275 0-4.55-2.275-4.55-2.275-11.379-6.827-22.756-11.378-36.41-11.378-86.47-29.582-159.289-75.093-202.524-131.982h2.275C6.827 113.208 2.276 95.004 2.276 76.8c0-54.613 45.51-100.124 102.4-100.124h600.746c59.165 0 104.676 43.235 104.676 100.124 0 22.756-9.102 43.236-20.48 61.44-43.236 56.889-111.502 100.124-195.698 127.431z m407.324-100.124c-38.684 47.786-97.848 88.746-172.942 111.502 0 0-29.582 6.827-38.684 11.378-15.93 11.377-25.031 29.582-25.031 50.062 0 22.755 18.204 40.96 29.582 52.338 29.582 36.409 47.787 84.195 47.787 138.809 0 111.502-79.645 204.8-179.77 204.8-15.928 0-31.857-2.276-45.51-6.827 34.133-50.062 52.337-109.227 52.337-175.218 0-70.542-25.03-138.809-68.266-195.698l-4.551-4.55v-2.276c-4.552-4.551-11.378-11.378-13.654-18.205 0-2.275 0-2.275 2.276-2.275 4.55-2.276 11.378-4.551 18.204-4.551h2.276l9.102-4.552c93.298-29.582 172.942-81.92 225.28-147.91 22.756-29.583 36.409-63.716 36.409-100.125 0-20.48-4.551-36.409-11.378-54.613h65.991c52.338 0 93.298 38.684 93.298 88.746-2.276 25.031-9.102 43.236-22.756 59.165z m0 0" horiz-adv-x="1024" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment