user-login.component.html 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <ion-header [translucent]="true" class="ion-no-border">
  2. <ion-toolbar class="custom-toolbar">
  3. <ion-buttons slot="start">
  4. <ion-back-button default-href="/tabs/tab5"></ion-back-button>
  5. </ion-buttons>
  6. <ion-title class="custom-title">
  7. {{ currentUser?.id ? '个人信息' : '用户登录注册' }}
  8. </ion-title>
  9. </ion-toolbar>
  10. </ion-header>
  11. <ion-content [fullscreen]="true">
  12. <!-- 主卡片 -->
  13. <ion-card>
  14. @if(!currentUser?.id) {
  15. <ion-card-header>
  16. <ion-card-title style="margin-left: 10px;">欢迎使用 AI艺速</ion-card-title>
  17. <ion-card-subtitle style="margin: 10px;">登录后体验更多功能</ion-card-subtitle>
  18. </ion-card-header>
  19. <ion-card-content>
  20. <img class="login-image" src="assets/img/background.png" alt="登录注册">
  21. <ion-button expand="block" (click)="signup()">
  22. 注册新账号
  23. </ion-button>
  24. <ion-button expand="block" class="outline-button" (click)="login()">
  25. 登录已有账号
  26. </ion-button>
  27. <div class="social-login">
  28. <div class="divider">其他登录方式</div>
  29. <div class="social-icons">
  30. <img src="assets/img/login_icon.png" alt="社交登录">
  31. <img src="assets/img/login_icon2.png" alt="社交登录">
  32. </div>
  33. <a href="#" class="forgot-password">忘记密码?</a>
  34. </div>
  35. </ion-card-content>
  36. }
  37. @if(currentUser?.id) {
  38. <div class="card-header">
  39. <img [src]="currentUser?.get('avatar') || 'assets/img/doctor7.png'" alt="头像" class="avatar" />
  40. <div class="user-info">
  41. <ion-card-title>{{ currentUser?.get("username") }}</ion-card-title>
  42. <ion-card-subtitle>
  43. 姓名: {{ currentUser?.get("realname") || "-" }} ·
  44. 性别: {{ currentUser?.get("gender") || "-" }} ·
  45. 年龄: {{ currentUser?.get("age") || "-" }}
  46. </ion-card-subtitle>
  47. </div>
  48. </div>
  49. <ion-card-content>
  50. <ion-button expand="block" (click)="editUser()">
  51. <ion-icon name="create-outline" slot="start"></ion-icon>
  52. 编辑个人资料
  53. </ion-button>
  54. <ion-button expand="block" class="outline-button" (click)="logout()">
  55. <ion-icon name="log-out-outline" slot="start"></ion-icon>
  56. 退出登录
  57. </ion-button>
  58. </ion-card-content>
  59. }
  60. </ion-card>
  61. @if(currentUser?.id) {
  62. <ion-card class="memo-card">
  63. <div class="memo-header" style="display: flex; align-items: center;">
  64. <ion-icon name="bookmark-outline" style="margin-bottom: 12px;"></ion-icon>
  65. <h2 class="memo-title">兴趣跟踪表</h2>
  66. </div>
  67. <p class="memo-description">
  68. 请写下您感兴趣的学习方向或者心动的科普知识,便于您下次查找
  69. </p>
  70. <div class="tag-editor">
  71. <edit-tag (onTagAdd)="onTagAdd($event)"></edit-tag>
  72. </div>
  73. @if(editTags.length > 0) {
  74. <div class="favorites-section">
  75. <div class="section-header" style="display: flex; align-items: center;">
  76. <h2 class="section-title">收藏夹</h2>
  77. </div>
  78. <div class="tag-list">
  79. @for(tag of editTags; track tag) {
  80. <div class="tag-item">
  81. <span class="tag-text">{{ tag }}</span>
  82. <ion-icon name="close-circle" class="delete-icon" (click)="deleteTag(tag)"></ion-icon>
  83. </div>
  84. }
  85. </div>
  86. </div>
  87. }
  88. </ion-card>
  89. }
  90. </ion-content>