| 
					
				 | 
			
			
				@@ -0,0 +1,98 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { Component, OnInit } from '@angular/core'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { AlertController } from '@ionic/angular'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import * as Parse from "parse" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 引用Router服务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { Router } from '@angular/router'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Component({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  selector: 'app-login', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  templateUrl: './login.page.html', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  styleUrls: ['./login.page.scss'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export class LoginPage implements OnInit { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  username:string = "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  password:string = "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  constructor( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 新增:Router服务,用于路由跳转 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private router:Router, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private alertController:AlertController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ) { } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ngOnInit() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  async login(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let user 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      user = await Parse.User.logIn(this.username,this.password) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } catch (error:any) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let message:string = "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 新增提示词详情,根据Parse.User.login方法返回的不同英文提示词,增加对应的中文内容转换 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(error?.message.indexOf("is required")>-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        message = "必须输入账号或邮箱" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(error?.message.indexOf("Invalid username")>-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        message = "账号或密码错误,请检查" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.presentAlert({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        header:"登录失败", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subHeader:"状态码:"+error.code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        message:message || error.message 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log(user) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(user?.id){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.router.navigateByUrl("/tabs/tab3") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  async register(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let user = new Parse.User() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    user.set("username",this.username) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    user.set("password",this.password) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let result = await user.signUp(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(result) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(result?.id){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.router.navigateByUrl("/tabs/tab3") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Hooray! Let them use the app now. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } catch (error:any) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 新增提示词详情,根据Parse.User.signUp方法返回的不同英文提示词,增加对应的中文内容转换 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let message:string = "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(error?.message.indexOf("already exists")>-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          message = "该账号已存在请修改后重试" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(error?.message.indexOf("empty")>-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          message = "账号不能为空请输入后重试" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.presentAlert({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          header:"注册失败", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          subHeader:"状态码:"+error.code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          message:message || error.message 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  async presentAlert(options:{header:string,subHeader:string,message:string}) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const alert = await this.alertController.create({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      header: options?.header, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      subHeader: options?.subHeader, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      message: options?.message, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      buttons: ['好的'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await alert.present(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 返回上级页面函数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @desc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 若存在上级回调页面地址LOGIN_REDIRECT_URL,直接跳转 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 若不存在,则默认跳转至系统首页 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  back(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let path = "/" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    path = localStorage.getItem("LOGIN_REDIRECT_URL") || path; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.router.navigateByUrl(path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |