0225304 5 روز پیش
والد
کامیت
4458b05293

+ 1 - 1
myapp/src/app/tab2/dynamic-create/dynamic-create.page.html

@@ -55,4 +55,4 @@
       </ion-datetime>
     </ion-item> -->
   </form>
-</ion-content>
+</ion-content>

+ 1 - 1
myapp/src/app/tab2/tab2.page.html

@@ -47,7 +47,7 @@
       <div class="user-info">
         <div class="user-left">
           <div class="user-avatar">{{ dynamic.get('author')?.get('username')?.charAt(0) || 'U' }}</div>
-          <div class="user-name">{{ dynamic.get('author')?.objectId || '匿名用户' }}</div>
+          <div class="user-name">{{ dynamic.get('author')?.get('username') || '匿名用户' }}</div>
         </div>
         <ion-icon name="ellipsis-horizontal" class="more-icon"></ion-icon>
       </div>

+ 0 - 8
myapp/src/app/tab2/tab2.page.ts

@@ -65,14 +65,6 @@ export class Tab2Page implements OnInit {
     dynamicQuery.include("author");
     this.dynamics = await dynamicQuery.find();
 
-    // 调试输出,检查数据
-    // this.dynamics.forEach(d => {
-    //   console.log('Dynamic author:', d.id,'Author:',d.get('author'));
-    //   if (!d.get('author')) {
-    //     console.warn(`动态 ${d.id} 没有作者信息!`);
-    //   }
-    // });
-
     // 查询当前用户的互动
     const interactionQuery = new CloudQuery("Interaction");
     interactionQuery.equalTo("user", this.currentUser.id);

+ 3 - 2
myapp/src/app/tab4/login/login.page.ts

@@ -3,7 +3,8 @@ import { Component } from '@angular/core';
 import { AuthService } from 'src/app/services/auth.service';
 import { Router } from '@angular/router';
 import { ToastController } from '@ionic/angular';
-
+import { NavController } from '@ionic/angular';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
 @Component({
   selector: 'app-login',
   templateUrl: './login.page.html',
@@ -12,7 +13,7 @@ import { ToastController } from '@ionic/angular';
 })
 export class LoginPage {
 
-    username = '';
+  username = '';
   password = '';
   email = '';
   isLogin = true;

+ 1 - 1
myapp/src/app/tab4/tab4.page.html

@@ -16,7 +16,7 @@
                 <div class="user-name">{{ currentUser?.get('username') || '匿名用户' }}</div>
                 <div class="user-id">UID:{{ currentUser?.id?.substring(0, 16) || '未登录' }}...</div>
             </div>
-            <button (click)="goLogin('登录')" class="copy-btn">{{ currentUser ? '已登录' : '登录' }}</button>
+            <button (click)="goLogin('登录')" class="copy-btn">{{ currentUser ? '登出' : '登录' }}</button>
         </div>
         
         <div class="stats-container">

+ 17 - 3
myapp/src/app/tab4/tab4.page.ts

@@ -1,6 +1,7 @@
 import { Component, OnInit } from '@angular/core';
 import { NavController } from '@ionic/angular';
 import { CloudObject, CloudQuery, CloudUser } from 'src/lib/ncloud';
+import { AuthService } from '../services/auth.service';
 
 @Component({
   selector: 'app-tab4',
@@ -16,6 +17,7 @@ export class Tab4Page implements OnInit {
   totalWords: number = 0;
 
   constructor(
+    private authService: AuthService,
     private navCtrl:NavController
   ) { }
 
@@ -26,7 +28,6 @@ export class Tab4Page implements OnInit {
   async loadUserData() {
     // 获取当前用户
     this.currentUser = await CloudUser.current();
-    
     if (this.currentUser) {
       // 获取用户日记统计
       await this.getDiaryStats();
@@ -64,7 +65,20 @@ export class Tab4Page implements OnInit {
     return uniqueDates.size;
   }
 
-  goLogin(user?:string){
-    this.navCtrl.navigateForward(["tabs","tab4","login"])
+  async goLogin(action?:string){
+      if (this.currentUser) {
+      // 已登录,执行登出
+      const success = await this.authService.logout();
+      if (success) {
+        this.currentUser = null;
+        this.diaryCount = 0;
+        this.recordDays = 0;
+        this.totalWords = 0;
+      }
+    } else {
+      // 未登录,跳转到登录页面
+      this.navCtrl.navigateForward(["tabs","tab4","login"]);
+    }
+    //this.navCtrl.navigateForward(["tabs","tab4","login"])
   }
 }