Das WeChat-Applet realisiert die Chatroom-Funktion

Das WeChat-Applet realisiert die Chatroom-Funktion

In diesem Artikel wird der spezifische Code des WeChat-Applets zur Implementierung des Chatrooms anhand von Beispielen zu Ihrer Information vorgestellt. Der spezifische Inhalt ist wie folgt

1. Effektanzeige erzielen

2.Raum.wxml

<Ansichtsklasse="Container" Stil="{{ContainerStyle}}">
  <Chatraum
    Stil="Breite: 100%; Höhe: 100%"
    envId="{{chatRoomEnvId}}"
    Sammlung="{{chatRoomCollection}}"
    Gruppen-ID = "{{Chatroom-Gruppen-ID}}"
    Gruppenname = "{{Chatroom-Gruppenname}}"
    BenutzerInfo="{{BenutzerInfo}}"
    onGetUserInfo="{{onGetUserInfo}}"
    getOpenID="{{getOpenID}}"
  ></Chatraum>
</Ansicht>

3.Raum.js

const app = getApp()

Seite({
  Daten: {
    Avatar-URL: './user-unlogin.png',
    Benutzerinfo: null,
    protokolliert: falsch,
    takeSession: falsch,
    Anfrageergebnis: '',
    // chatRoomEnvId: 'release-f8415a',
    chatRoomCollection: 'Chatraum',
    chatRoomGroupId: "Demo",
    chatRoomGroupName: 'Chatraum',

    // Funktionen zur Verwendung in Chatroom-Komponenten
    onGetUserInfo: null,
    getOpenID: null,
  },

  beim Laden: Funktion() {
    // Benutzerinformationen abrufen wx.getSetting({
      Erfolg: res => {
        wenn (res.authSetting['scope.userInfo']) {
          // Bereits autorisiert, können Sie getUserInfo direkt aufrufen, um den Avatar-Spitznamen ohne Popup-Fenster abzurufen wx.getUserInfo({
            Erfolg: res => {
              dies.setData({
                avatarUrl: res.userInfo.avatarUrl,
                Benutzerinfo: res.userInfo
              })
            }
          })
        }
      }
    })

    dies.setData({
      onGetUserInfo: dies.onGetUserInfo,
      getOpenID: this.getOpenID,
    })

    wx.getSystemInfo({
      Erfolg: res => {
        console.log('Systeminfo', res)
        wenn (res.safeArea) {
          const { oben, unten } = res.safeArea
          dies.setData({
            Containerstil: `padding-top: ${(/ios/i.test(res.system) ? 10 : 20) + top}px; padding-bottom: ${20 + res.windowHeight - bottom}px`,
          })
        }
      },
    })
  },

  getOpenID: asynchrone Funktion() {
    wenn (diese.openid) {
      gib dies zurück.openid
    }

    const { Ergebnis } = warte auf wx.cloud.callFunction({
      Name: 'Anmelden',
    })

    Ergebnis zurückgeben.openid
  },

  onGetUserInfo: Funktion(e) {
    wenn (!this.logged && e.detail.userInfo) {
      dies.setData({
        protokolliert: wahr,
        avatarUrl: e.detail.userInfo.avatarUrl,
        Benutzerinfo: e.detail.userInfo
      })
    }
  },

  beiShareAppMessage() {
    zurückkehren {
      Titel: 'Instant Messaging Demo',
      Pfad: '/pages/im/room/room',
    }
  },
})

4.zimmer.json

{
  "Komponenten verwenden": {
    "Chatroom": "/Komponenten/Chatroom/Chatroom"
  }
}

5.Zimmer.wxss

.container {
  Höhe: 100%;
  Position: absolut;
  oben: 0;
  unten: 0;
  links: 0;
  rechts: 0;
  Polsterung oben: 80rpx;
  Polsterung unten: 30rpx;
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • WeChat-Applet implementiert Chatroom
  • Detaillierte Erläuterung des Chatrooms für die WeChat-Applet-Entwicklung - Echtzeit-Chat, Unterstützung für Bildvorschau
  • Beispielcode zur Implementierung des WeChat-Applets WebSocket-Chatroom
  • Einfache Implementierung des WeChat-Applet-Chatrooms
  • Das WeChat-Applet implementiert einen einfachen Chatroom

<<:  Tutorial zur Installation von Docker im Windows 10-Subsystem Ubuntu (WSL) (mit Bildern und Text)

>>:  Zusammenfassung der allgemeinen MySQL-SQL-Anweisungen einschließlich komplexer SQL-Abfragen

Artikel empfehlen

So zeigen Sie den Nginx-Konfigurationsdateipfad und den Ressourcendateipfad an

Zeigen Sie den Pfad der Nginx-Konfigurationsdatei...

Vue-Router-Verlaufsmodus, serverseitiger Konfigurationsprozess-Datensatz

Geschichtsroute Der Verlaufsmodus bezieht sich au...

Tutorial zur Verwendung von Docker Compose zum Erstellen von Confluence

Dieser Artikel verwendet die Lizenzvereinbarung „...

Installations-Tutorial für die ZIP-Archivversion von MySQL 5.7

In diesem Artikel finden Sie das Installations-Tu...

Zehn Erfahrungen bei der Präsentation chinesischer Webinhalte

<br /> Ich habe mich auf die drei Aspekte Te...

Detaillierte Erklärung der berechneten Eigenschaften in Vue

Inhaltsverzeichnis Interpolationsausdrücke Method...

Ubuntu kompiliert Kernelmodule und der Inhalt wird im Systemprotokoll angezeigt

Inhaltsverzeichnis 1.Linux-Anmeldeschnittstelle 2...

Lösen Sie das Problem des MySQL-Datenverlusts, wenn Docker Redis neu startet

Amtliche Dokumentation: Daher sollte MySQL wie fo...

Detaillierte Erklärung asynchroner Iteratoren in nodejs

Inhaltsverzeichnis Vorwort Was sind asynchrone It...

Elementui exportiert Daten in XLSX- und Excel-Tabellen

Kürzlich habe ich vom Vue-Projekt erfahren und bi...

Mehrere Möglichkeiten, Axios in Vue zu kapseln

Inhaltsverzeichnis Basisversion Schritt 1: Axios ...