|
@@ -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)
|
|
|
+ }
|
|
|
+}
|