| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- // auth.page.ts
- import { Component } from '@angular/core';
- import { Router } from '@angular/router';
- import { AlertController, LoadingController } from '@ionic/angular';
- import { UserService } from '../services/user.service';
- @Component({
- selector: 'app-auth',
- templateUrl: './auth.page.html',
- styleUrls: ['./auth.page.scss'],
- })
- export class AuthPage {
- segmentValue = 'login';
- loginData = { username: '', password: '' };
- registerData = { username: '', password: '', confirmPassword: '' };
- constructor(
- private userService: UserService,
- private router: Router,
- private alertCtrl: AlertController,
- private loadingCtrl: LoadingController
- ) {}
- async onLogin() {
- if (!this.loginData.username || !this.loginData.password) {
- this.showAlert('错误', '请输入用户名和密码');
- return;
- }
-
- const loading = await this.loadingCtrl.create({
- message: '登录中...'
- });
- await loading.present();
- try {
- const isLoggedIn = await this.userService.login(
- this.loginData.username,
- this.loginData.password
- );
- if (isLoggedIn) {
- this.router.navigate(['/tabs/tab1']);
- } else {
- this.showAlert('登录失败', '用户名或密码错误');
- }
- } finally {
- loading.dismiss();
- }
- }
- async onRegister() {
- if (!this.registerData.username || !this.registerData.password) {
- this.showAlert('错误', '请输入用户名和密码');
- return;
- }
- if (this.registerData.password !== this.registerData.confirmPassword) {
- this.showAlert('错误', '两次输入的密码不一致');
- return;
- }
- const loading = await this.loadingCtrl.create({
- message: '注册中...'
- });
- await loading.present();
- try {
- const isRegistered = await this.userService.register(
- this.registerData.username,
- this.registerData.password
- );
- if (isRegistered) {
- this.showAlert('注册成功', '您现在可以登录了');
- this.segmentValue = 'login';
- this.loginData.username = this.registerData.username;
- this.registerData = { username: '', password: '', confirmPassword: '' };
- } else {
- this.showAlert('注册失败', '用户名已存在');
- }
- } finally {
- loading.dismiss();
- }
- }
- private async showAlert(header: string, message: string) {
- const alert = await this.alertCtrl.create({
- header,
- message,
- buttons: ['确定']
- });
- await alert.present();
- }
- }
|