session.page.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { Component } from '@angular/core';
  2. import { NavController } from '@ionic/angular';
  3. import { Router } from '@angular/router';
  4. import Parse from "parse";
  5. @Component({
  6. selector: 'app-session',
  7. templateUrl: 'session.page.html',
  8. styleUrls: ['session.page.scss']
  9. })
  10. export class SessionPage {
  11. skeletonList: { username: string, avatar: string, lastMessageTime: string, lastMessage: string }[] = [
  12. {
  13. username: 'Alice',
  14. avatar: '/assets/touxiang2.png',
  15. lastMessageTime: '10:30 AM',
  16. lastMessage: 'Hey, how are you?',
  17. },
  18. {
  19. username: 'Bob',
  20. avatar: '/assets/touxiang1.png',
  21. lastMessageTime: 'Yesterday',
  22. lastMessage: 'Let\'s meet tomorrow.',
  23. },
  24. ];
  25. constructor(private navCtrl: NavController) {
  26. this.loadSessions()
  27. }
  28. targetUser(session:Parse.Object){
  29. let user = Parse.User.current();
  30. let target = null
  31. if(session?.get("sendUser")?.id==user?.id){
  32. target = session?.get("receiveUser")
  33. }
  34. if(session?.get("receiveUser")?.id==user?.id){
  35. target = session?.get("sendUser")
  36. }
  37. return target
  38. }
  39. goSession(session:Parse.Object){
  40. let user = Parse.User.current();
  41. if(session?.get("sendUser")?.id==user?.id){
  42. this.navCtrl.navigateForward(`/contact/chat/${session?.get("receiveUser")?.id}`);
  43. }
  44. if(session?.get("receiveUser")?.id==user?.id){
  45. this.navCtrl.navigateForward(`/contact/chat/${session?.get("sendUser")?.id}`);
  46. }
  47. }
  48. sessionList:Parse.Object[] = []
  49. async loadSessions(){
  50. console.log("loadSessions")
  51. let user = Parse.User.current();
  52. let query = Parse.Query.fromJSON('MessageSession',{where: {
  53. $or: [
  54. {
  55. sendUser: user?.id,
  56. },
  57. {
  58. receiveUser: user?.id
  59. }
  60. ]
  61. }})
  62. query.include("sendUser","receiveUser");
  63. this.sessionList = await query.find();
  64. }
  65. }