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 lösen Sie das Problem der hohen Parallelität in der MySQL-Datenbank

Vorwort Wir alle wissen, dass Startups zunächst m...

So erstellen Sie mit Docker ein Basisimage der Python-Laufzeitumgebung

1. Vorbereitung 1.1 Laden Sie das Python-Installa...

Absteigender Index in MySQL 8.0

Vorwort Ich glaube, jeder weiß, dass Indizes geor...

Eine Falle und Lösung bei der Verwendung von fileReader

Inhaltsverzeichnis Eine Falle bei fileReader Fall...

Beispielcode mit Vue-Router in HTML

Einführung in Vue und Vue-Router <script src=&...

Grafisches Tutorial zur Installation der komprimierten Version von MySQL 8.0.15

In diesem Artikel wird die Installationsmethode d...

Problem beim Wechseln der Registerkarten für die Handschrift von React

Übergeordnete Datei importiere React, { useState ...

Lösung zur automatischen Beendigung von Docker Run-Containern

Heute ist bei mir ein Problem aufgetreten, als ic...

Docker Compose-Übung und Zusammenfassung

Docker Compose kann die Orchestrierung von Docker...

So verwenden Sie SessionStorage und LocalStorage in Javascript

Inhaltsverzeichnis Vorwort Einführung in SessionS...