精品一区二区三区影院在线午夜_天天躁日日躁狠狠躁AV麻豆_国产午夜福利短视频_中文字幕乱偷无码AV先锋蜜桃_久久精品一二区东京热_国产成人亚洲日韩欧美久久久,国产成人精品久久一区二区三区

Angular項目Auth Service

ng g s services/auth

1,領域對象中增加Auth對象。

基于token的認證。

import { User } from './user.model';
import { Err } from './error.model';

export interface Auth {
    user?: User;
    userId?: string;
    err?: string;
    token?: string;
}

2,注冊

返回Auth對象。

如果用戶已經存在就拋出錯誤。

//注冊
  register(user: User): Observable<Auth> {
    const uri = `${this.config.uri}/${this.domain}`;
    return this.httpClient
      .get(uri, { params: { 'email': user.email } })
      .pipe(
        switchMap(res => {
          if ((<User[]>res).length > 0) {
            return throwError('username existed');
          }
          return this.httpClient
            .post(uri, JSON.stringify(user), { headers: this.headers })
            .pipe(map(r => ({ token: this.token, user: <User>r })));
        })
      )

  }

3,登錄

返回Auth對象。

  //登錄
  login(username: string, password: string): Observable<Auth> {
    const uri = `${this.config.uri}/${this.domain}`;
    return this.httpClient.get(uri,
      { params: { 'email': username, 'password': password } }
    )
      .pipe(
        map(res => {
          const users = <User[]>res;
          if (users.length === 0) {
            throw new Error('Username or password incorrect');
          }
          return {
            token: this.token,
            user: users[0]
          }
        }))
  }
师宗县| 临桂县| 钦州市| 开化县| 巴青县| 淮滨县| 布尔津县| 峨眉山市| 景谷| 岫岩| 元阳县| 郯城县| 罗源县| 宁陕县| 绥芬河市| 辉县市| 客服| 读书| 新巴尔虎左旗| 盘山县| 仙居县| 道真| 维西| 广州市| 丰宁| 曲阜市| 渑池县| 汝阳县| 泾川县| 云霄县| 洪江市| 疏附县| 彩票| 洛隆县| 南和县| 平乡县| 大同县| 宁南县| 碌曲县| 宝丰县| 武隆县|