tab3.page.ts 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import { Component } from '@angular/core';
  2. import { IonHeader, IonToolbar, IonTitle, IonContent, IonButton } from '@ionic/angular/standalone';
  3. import { ExploreContainerComponent } from '../explore-container/explore-container.component';
  4. import { IonCard, IonCardContent, IonCardHeader, IonCardTitle, IonIcon, IonItem, IonLabel, IonList } from '@ionic/angular/standalone';
  5. import { IonButtons } from '@ionic/angular/standalone';
  6. import { addIcons } from 'ionicons';
  7. import { calendarOutline, chatbubbleEllipsesOutline, chatbubbleOutline, documentTextOutline, personOutline, settingsOutline } from 'ionicons/icons';
  8. import { CloudObject, CloudQuery, CloudUser } from 'src/lib/ncloud';
  9. import { ModalController } from '@ionic/angular/standalone';
  10. import { openUserLoginModal } from 'src/lib/user/modal-user-login/modal-user-login.component';
  11. import { openUserEditModal } from 'src/lib/user/modal-user-edit/modal-user-edit.component';
  12. import { IonMenu, IonMenuButton } from '@ionic/angular/standalone';
  13. import { IonThumbnail } from '@ionic/angular/standalone';
  14. import { CommonModule } from '@angular/common';
  15. import { IonModal } from '@ionic/angular/standalone';
  16. import { IonAlert } from '@ionic/angular/standalone';
  17. addIcons({ settingsOutline, chatbubbleEllipsesOutline, documentTextOutline, calendarOutline, chatbubbleOutline, personOutline})
  18. @Component({
  19. selector: 'app-tab3',
  20. templateUrl: 'tab3.page.html',
  21. styleUrls: ['tab3.page.scss'],
  22. standalone: true,
  23. imports: [IonHeader, IonToolbar, IonTitle, IonContent, ExploreContainerComponent,
  24. IonButtons, IonIcon, IonCard, IonCardHeader, IonCardTitle, IonCardContent, IonList, IonItem, IonLabel,IonButton,
  25. IonMenu, IonMenuButton,
  26. IonThumbnail, CommonModule,
  27. IonModal, IonAlert
  28. ],
  29. })
  30. export class Tab3Page {
  31. alertButtons = ['Action'];
  32. currentUser:CloudUser|undefined
  33. constructor(private modalCtrl:ModalController) {
  34. this.currentUser = new CloudUser();
  35. }
  36. async login(){
  37. // 弹出登录窗口
  38. let user = await openUserLoginModal(this.modalCtrl);
  39. if(user?.id){
  40. this.currentUser = user
  41. }
  42. }
  43. async signup(){
  44. // 弹出注册窗口
  45. let user = await openUserLoginModal(this.modalCtrl,"signup");
  46. if(user?.id){
  47. this.currentUser = user
  48. }
  49. }
  50. logout(){
  51. this.currentUser?.logout();
  52. }
  53. editUser(){
  54. openUserEditModal(this.modalCtrl)
  55. }
  56. editTags:Array<String>=[]
  57. async setTagsValue(ev:any){
  58. let currentUser = new CloudUser();
  59. let userPrompt = ``
  60. if(!currentUser?.id){
  61. console.log("用户未登录,请登录后重试");
  62. let user = await openUserLoginModal(this.modalCtrl);
  63. if(!user?.id){
  64. return
  65. }
  66. currentUser = user;
  67. }
  68. //console.log("setTagsValue",ev);
  69. this.editTags=ev;
  70. }
  71. ngOnInit() {
  72. // 生命周期:页面加载后,运行专家列表加载函数
  73. this.loadExpertList()
  74. }
  75. // 创建用于数据列表存储的属性
  76. expertList:Array<CloudObject> = []
  77. // 查询并加载医生列表的函数
  78. async loadExpertList(){
  79. let query = new CloudQuery("Expect");
  80. this.expertList = await query.find()
  81. console.log(this.expertList)
  82. }
  83. }