zoukankan      html  css  js  c++  java
  • 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]
              }
            }))
      }

    如果觉得本文对您有帮助~可以支付宝(左)或微信支持一下:


    看到小伙伴打赏时给我写一些鼓励的话,真的非常感动,谢谢你们。


    我开了个微信公众号(第三个二维码)用来分享自己的职场英语相关学习经验,感兴趣可以关注,我会不断更新~


    微信打赏微信公众号

  • 相关阅读:
    155. 最小栈
    160. 相交链表
    PAT 1057 Stack
    PAT 1026 Table Tennis
    PAT 1017 Queueing at Bank
    PAT 1014 Waiting in Line
    PAT 1029 Median
    PAT 1016 Phone Bills
    PAT 1010 Radix
    PAT 1122 Hamiltonian Cycle
  • 原文地址:https://www.cnblogs.com/starof/p/14457615.html
Copyright © 2011-2022 走看看