login.page.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import { Component, OnInit } from '@angular/core';
  2. import { AlertController, NavController } from '@ionic/angular';
  3. import * as Parse from "parse"
  4. @Component({
  5. selector: 'app-login',
  6. templateUrl: './login.page.html',
  7. styleUrls: ['./login.page.scss'],
  8. })
  9. export class LoginPage implements OnInit {
  10. username: string = ""
  11. password: string = ""
  12. constructor(
  13. private navCtrl: NavController,
  14. private alertController: AlertController
  15. ) { }
  16. ngOnInit() { }
  17. async login() {
  18. let user;
  19. try {
  20. user = await Parse.User.logIn(this.username, this.password);
  21. } catch (error: any) {
  22. let message: string = "";
  23. if (error?.message.indexOf("is required") > -1) {
  24. message = "必须输入账号或邮箱";
  25. }
  26. if (error?.message.indexOf("Invalid username") > -1) {
  27. message = "账号或密码错误,请检查";
  28. }
  29. this.presentAlert({
  30. header: "登录失败",
  31. subHeader: "状态码:" + error.code,
  32. message: message || error.message
  33. });
  34. }
  35. console.log(user);
  36. if (user?.id) {
  37. this.navCtrl.navigateForward('/tabs/tab3'); // 修改这里
  38. }
  39. }
  40. async register() {
  41. let user = new Parse.User();
  42. user.set("username", this.username);
  43. user.set("password", this.password);
  44. try {
  45. let result = await user.signUp();
  46. console.log(result);
  47. if (result?.id) {
  48. this.navCtrl.navigateForward('/tabs/tab3'); // 修改这里
  49. }
  50. } catch (error: any) {
  51. let message: string = "";
  52. if (error?.message.indexOf("already exists") > -1) {
  53. message = "该账号已存在请修改后重试";
  54. }
  55. if (error?.message.indexOf("empty") > -1) {
  56. message = "账号不能为空请输入后重试";
  57. }
  58. this.presentAlert({
  59. header: "注册失败",
  60. subHeader: "状态码:" + error.code,
  61. message: message || error.message
  62. });
  63. }
  64. }
  65. async presentAlert(options: { header: string, subHeader: string, message: string }) {
  66. const alert = await this.alertController.create({
  67. header: options?.header,
  68. subHeader: options?.subHeader,
  69. message: options?.message,
  70. buttons: ['好的'],
  71. });
  72. await alert.present();
  73. }
  74. back() {
  75. this.navCtrl.back();
  76. }
  77. }