修改信息

This commit is contained in:
小海
2020-05-15 19:52:20 +08:00
parent a5dcdea130
commit e54726b4e8
7 changed files with 133 additions and 36 deletions

View File

@@ -41,22 +41,8 @@ export class GlobalUserService {
// 不符合 请求网络数据并更新缓存
// 向订阅者传数据
this.lastRequestTime = Date.now();
const subscription = this.apiService.userInfo().subscribe({
next: o => {
this.localStorageService.setUser(o.result);
this.userObserverArray.forEach(ob => ob.next(o));
},
error: err => {
// console.debug('登录过期 token错误 等等');
if (err.code === -1) {
// 请求重复
return
}
this.localStorageService.removeToken();
this.userObserverArray.forEach(ob => ob.next(new Response<User>(null)));
this.userObserverArray.forEach(ob => ob.error(err));
}
});
// 获取数据
const subscription = this.getUserInfoFromServer();
return {
unsubscribe() {
observer.complete();
@@ -65,6 +51,11 @@ export class GlobalUserService {
}
}
// 刷新用户信息
refreshUserInfo(): void {
this.getUserInfoFromServer();
}
login(loginReq: LoginReq, observer: Observer<Response<User>>) {
const oob = new Observable<Response<User>>(o => observer = o);
const subscription = this.apiService.login(loginReq).subscribe({
@@ -107,4 +98,23 @@ export class GlobalUserService {
}
})
}
private getUserInfoFromServer() {
return this.apiService.userInfo().subscribe({
next: o => {
this.localStorageService.setUser(o.result);
this.userObserverArray.forEach(ob => ob.next(o));
},
error: err => {
// console.debug('登录过期 token错误 等等');
if (err.code === -1) {
// 请求重复
return
}
this.localStorageService.removeToken();
this.userObserverArray.forEach(ob => ob.next(new Response<User>(null)));
this.userObserverArray.forEach(ob => ob.error(err));
}
});
}
}