notice.component.html 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <ion-header [translucent]="true" class="header">
  2. <div class="top">
  3. <div class="more"></div>
  4. <ion-segment
  5. [scrollable]="true"
  6. (ionChange)="segmentChanged($event)"
  7. layout="icon-bottom"
  8. value="notice"
  9. mode="md"
  10. >
  11. <ion-segment-button value="notice" class="tabs" content-id="notice">
  12. <ion-label>消息</ion-label>
  13. </ion-segment-button>
  14. <ion-segment-button value="friends" class="tabs" content-id="friends">
  15. <ion-label>好友</ion-label>
  16. </ion-segment-button>
  17. </ion-segment>
  18. <div class="more">
  19. <ion-button id="click-trigger"
  20. ><ion-icon name="ellipsis-horizontal-outline"></ion-icon
  21. ></ion-button>
  22. </div>
  23. </div>
  24. </ion-header>
  25. <ion-content class="content">
  26. <ion-searchbar animated="true" placeholder="搜索"></ion-searchbar>
  27. <ion-popover
  28. trigger="click-trigger"
  29. [dismissOnSelect]="true"
  30. triggerAction="click"
  31. >
  32. <ng-template>
  33. <ion-list>
  34. <ion-item class="clear" [button]="true" [detail]="false"
  35. >已读所有消息</ion-item
  36. >
  37. </ion-list>
  38. </ng-template>
  39. </ion-popover>
  40. <ion-segment-view>
  41. <ion-segment-content id="notice">
  42. <div class="notice-list" (touchmove)="onMousemove($event)">
  43. <ion-list>
  44. <ion-item class="li" (click)="toUrl('/account/noticelog')">
  45. <img
  46. src="img/notice.png"
  47. class="avatar"
  48. slot="start"
  49. alt="avatar"
  50. />
  51. <div class="li-right">
  52. <div class="name">
  53. 系统消息
  54. <!-- <span class="time">{{ item.createdAt | showDate }}</span> -->
  55. </div>
  56. <!-- <div class="message-content">{{ "暂无" }}</div> -->
  57. </div>
  58. <ion-icon
  59. style="color: #afafaf"
  60. name="chevron-forward-outline"
  61. ></ion-icon>
  62. </ion-item>
  63. <ion-item class="li" (click)="toUrl('/live/call-log')">
  64. <img
  65. src="img/通话记录.png"
  66. class="avatar"
  67. slot="start"
  68. alt="avatar"
  69. />
  70. <div class="li-right">
  71. <div class="name">通话记录</div>
  72. <div class="message-content"></div>
  73. </div>
  74. <ion-icon
  75. style="color: #afafaf"
  76. name="chevron-forward-outline"
  77. ></ion-icon>
  78. </ion-item>
  79. <ion-item class="li" (click)="toUrl('/live/chat')">
  80. <img
  81. src="img/亲密度.png"
  82. class="avatar"
  83. slot="start"
  84. alt="avatar"
  85. />
  86. <div class="li-right">
  87. <div class="name">亲密度</div>
  88. <div class="message-content"></div>
  89. </div>
  90. <ion-icon
  91. style="color: #afafaf"
  92. name="chevron-forward-outline"
  93. ></ion-icon>
  94. </ion-item>
  95. <ion-item class="li" (click)="isOpen = true">
  96. <img
  97. src="img/小助手.png"
  98. class="avatar"
  99. slot="start"
  100. alt="avatar"
  101. />
  102. <div class="li-right">
  103. <div class="name">小客服</div>
  104. <div class="message-content"></div>
  105. </div>
  106. <ion-icon
  107. style="color: #afafaf"
  108. name="chevron-forward-outline"
  109. ></ion-icon>
  110. </ion-item>
  111. <ion-item class="li" (click)="toUrl('/live/chat/global_room')">
  112. <img
  113. src="img/世界频道.png"
  114. class="avatar"
  115. slot="start"
  116. alt="avatar"
  117. />
  118. <div class="li-right">
  119. <div class="name">
  120. 世界频道
  121. <!-- <span class="time">{{
  122. msgServe.messageMapList['global_room'].slice(-1)[0].timeStamp | showDate
  123. }}</span> -->
  124. </div>
  125. <div class="message-content">
  126. {{ "点击进入频道聊天" }}
  127. </div>
  128. </div>
  129. </ion-item>
  130. @for (item of friends; track $index) {
  131. <ion-item
  132. class="li"
  133. (click)="toUrl('/live/chat/' + item.channel)"
  134. (touchstart)="startPress()"
  135. (mousemove)="stopPress()"
  136. >
  137. <img [src]="item.avatar" class="avatar" slot="start" alt="avatar" />
  138. <div class="li-right">
  139. <div class="name">
  140. {{ item.nickname || item.name || "用户" + item.uid }}
  141. <span class="time">{{ item?.createdAt | showDate }}</span>
  142. </div>
  143. <div class="message-content">
  144. {{
  145. msgServe.messageMapList[item.channel]?.slice(-1)[0]
  146. ?.content || "暂无"
  147. }}
  148. </div>
  149. </div>
  150. </ion-item>
  151. }
  152. </ion-list>
  153. </div>
  154. </ion-segment-content>
  155. <ion-segment-content id="friends">
  156. <div class="notice-list" (touchmove)="onMousemove($event)">
  157. <ion-list>
  158. @for (item of friends; track $index) {
  159. <ion-item (click)="toUrl('/live/chat/' + item?.channel)">
  160. <ion-avatar slot="start">
  161. <img [src]="item?.avatar" alt="avatar" />
  162. </ion-avatar>
  163. <ion-label>{{
  164. item.nickname || item.name || "用户" + item.uid
  165. }}</ion-label>
  166. </ion-item>
  167. }
  168. </ion-list>
  169. </div>
  170. </ion-segment-content>
  171. </ion-segment-view>
  172. </ion-content>
  173. <ion-alert
  174. [backdropDismiss]="false"
  175. [isOpen]="showModal"
  176. trigger="present-alert"
  177. header="删除与ta的聊天记录"
  178. [buttons]="alertButtons"
  179. ></ion-alert>
  180. <ion-modal
  181. #modal
  182. trigger="open-modal"
  183. [isOpen]="isOpen"
  184. (didDismiss)="isOpen = false"
  185. [initialBreakpoint]="1"
  186. [breakpoints]="[0, 1]"
  187. >
  188. <ng-template>
  189. <ion-toolbar>
  190. <ion-buttons slot="start">
  191. <ion-button (click)="isOpen = false">关闭</ion-button>
  192. </ion-buttons>
  193. <ion-buttons slot="end">
  194. <ion-button (click)="download()">下载</ion-button>
  195. </ion-buttons>
  196. </ion-toolbar>
  197. <div class="code">
  198. <img [src]="codeUrl" alt="" />
  199. </div>
  200. </ng-template>
  201. </ion-modal>