123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import { Injectable } from '@angular/core';
- import * as Parse from 'parse';
- import { Observable, of } from 'rxjs';
- import { tap, delay } from 'rxjs/operators';
- import { Router } from '@angular/router';
- @Injectable({
- providedIn: 'root',
- })
- export class AuthService {
- isLoggedIn = false;
- company:string = localStorage.getItem('company') || 'Qje9D4bqol'
- redirectUrl: string = 'tabs';
- constructor(private router: Router) {}
- authMobile(
- mobile: string,
- password?: string,
- nickname?: string,
- code?: string,
- register?: boolean
- ) {
- return new Promise((resolve, reject) => {
- Parse.Cloud.run('auth_mobile', {
- c: this.company,
- mobile: mobile,
- password: password,
- code: code,
- register: register,
- nickname: nickname,
- })
- .then((authData) => {
- console.log(authData);
- if (authData) {
- // let sessionToken = authData.get('sessionToken');
- Parse.User.become(authData)
- .then(async (data) => {
- console.log(data);
- this.redirectUrl = this.redirectUrl ? this.redirectUrl : 'tabs';
- this.router.navigate([this.redirectUrl])
- resolve(data);
- })
- .catch((err) => {
- console.error(err);
- reject('登录失败,token已过期');
- });
- }else{
- reject(authData.message);
- }
- })
- .catch((err) => {
- console.error(err.message);
- reject(err.message);
- });
- });
- }
- clearReWechat(cid: string) {
- // 清楚过期登录状态,重新登陆
- localStorage.clear(); // 清楚过期登录状态,重新登陆
- window.location.search = `c=${cid}`; // TODOLIST 此处需要通过循环清楚CODE,STATE等微信后缀,重新拼接用户的QueryParams
- }
- logout(): void {
- localStorage.clear(); // 清楚过期登录状态,重新登陆
- Parse.User.logOut().then((user) => {
- this.router.navigate(['login']);
- });
- }
- }
|