постоянно входите в систему в приложении, и когда я закрываю приложение, перезагружаюсь, выключаю мобильный и т. д., используя Http в Nativescript - PullRequest
0 голосов
/ 03 июля 2018

Я хочу остаться в моем приложении, только когда я нажимаю кнопку «Выйти из системы», я хочу отключить соединение.

Есть идеи, пожалуйста?

Для входа в систему я использовал этот код:

export class LoginComponent implements OnInit {
    LoginForm: FormGroup;
    loading: boolean = false;
    constructor(private formBuilder: FormBuilder, private loginservice: LoginService, private router: Router) {
        this.LoginForm = this.formBuilder.group({
            username: ["", Validators.required],
            password: ["", Validators.required]
        });
    }
    public ngOnInit() {
    }

    login() {
            this.loading = true;
            this.loginservice.loginByUsernameAndPassword(
            this.LoginForm.controls['username'].value,
            this.LoginForm.controls['password'].value
        )
            .subscribe(
                result => {
                       if (result === true) {
                        this.router.navigate(['/main']);
                    } else {
                        this.loading = false;
                    }
                }
            );
    }
}

Этот код для service.ts

  public loginByUsernameAndPassword(username: string, password: string): Observable<boolean> {
    let urlSearchParams = new URLSearchParams();
    urlSearchParams.append('username', username);
    urlSearchParams.append('password', password);
    let body = urlSearchParams.toString();
    let LS = require("nativescript-localstorage");
    let headers = new Headers();
    headers.append('Content-Type', 'application/x-www-form-urlencoded');
    return this.http.post(Api.getUrl(Api.URLS.Login_mobile), body, {
      headers: headers
    })
      .pipe(map((response: Response) => {
        let res = response.json();
        console.log('res')
        console.log(res)
        if (res.StatusCode === 0 && res.Token) {
          this.currentUser = {
            username: username,
            token: res.Token
          }
          LS.getItem(LoginService.CURRENT_USER, JSON.stringify(this.currentUser));
          Toast.makeText('Authentificate successfully').show();
          return true;
        } else {
          return false;
        }
      }));
  }

  public logout(): void {
    let LS = require("nativescript-localstorage");
    LS.removeItem(LoginService.CURRENT_USER);
    this.router.navigate(['/']);
  }

Можете ли вы подсказать мне, как реализовать постоянную регистрацию в приложении, а также когда я закрываю приложение, перезагружаюсь, выключаю мобильный и т. Д. Я хочу отключиться от приложения только при нажатии кнопки «Выйти».

Мне нужно ваше предложение, пожалуйста.

...