Das WeChat-Applet implementiert einen einfachen Chatroom

Das WeChat-Applet implementiert einen einfachen Chatroom

In diesem Artikel wird der spezifische Code des WeChat-Applets zur Implementierung eines einfachen Chatrooms zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

cha.js

// Seiten/Chat/chat.js
// Holen Sie sich die Mini-Programminstanz let app = getApp();
Seite({

  /**
   * Ausgangsdaten der Seite */
  Daten: {
    Spitzname:'',
    Avatar:'',
    Chatlisten:[
      {
        Spitzname: „小林“,
        Avatar: „https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591617971938&di=30d9f3b49a0d1b27fb4b61ea424f82c9&imgtype=0&src=http%3A%2F%2Fa-ssl.duitang.com%2Fuploads%2Fitem%2F201610%2F07%2F20161007135058_nUxji.jpeg“,
        Inhalt: „Hallo! `
      }
    ],
    imWert:''
  },
  sendMsg:Funktion(){
    lass _this = dies;
    lass obj = {
      Spitzname:_dieser.Daten.Spitzname,
      avatar:_diese.Daten.avatar,
      Inhalt:_diese.Daten.inWert
    };
    lass arr = _this.data.chatlists;
    arr.push(Objekt)
    _this.setData({
      Chatlisten:arr,
      imWert:''
    });

    // Sende den Chat-Inhalt an den Server, kehre nach der Verarbeitung zurück und füge die zurückgegebenen Daten dann in die Chatliste ein},
  getInput:Funktion(e){
    Konsole.log(e.detail.Wert);
    dies.setData({invalue:e.detail.value});
  },

  /**
   * Lebenszyklusfunktion - auf Seitenladen warten*/
  onLoad: Funktion (Optionen) {
    console.log(app.globalData.userInfo.nickName);
    dies.setData({
      Spitzname:app.globalData.userInfo.nickName,
      avatar:app.globalData.userInfo.avatarUrl
    });
  },

  /**
   * Lebenszyklusfunktion - wartet auf den Abschluss der ersten Darstellung der Seite*/
  onReady: Funktion () {

  },

  /**
   * Lebenszyklusfunktion - Seitenanzeige überwachen*/
  onShow: Funktion () {

  },

  /**
   * Lebenszyklusfunktion - Achten Sie auf das Ausblenden von Seiten */
  onHide: Funktion () {

  },

  /**
   * Lebenszyklusfunktion - Deinstallation der Seite überwachen*/
  beimEntladen: Funktion () {

  },

  /**
   * Seitenbezogene Ereignisverarbeitungsfunktion - Achten Sie auf die Pulldown-Aktion des Benutzers */
  onPullDownRefresh: Funktion () {

  },

  /**
   * Die Funktion, die das Bottoming-Ereignis auf der Seite behandelt*/
  onReachBottom: Funktion () {

  },

  /**
   * Der Benutzer klickt auf die obere rechte Ecke, um zu teilen*/
  beiShareAppMessage: Funktion () {

  }
})

chat.wxml

<block wx:for="{{chatlists}}" wx:for-index="ind" wx:for-item="chat" wx:key="ind">

<view class="chat self" wx:if="{{nickname == chat.nickname}}">
 <Ansichtsklasse="rechts">
  <Klasse anzeigen="Inhalt">
   {{chat.inhalt}}
  </Ansicht>
 </Ansicht>
 <Ansichtsklasse="links">
  <Bild Klasse="Avatar" src="{{chat.avatar}}"></Bild>
 </Ansicht>
</Ansicht>

<Ansichtsklasse="Chat" wx:else>
 <Ansichtsklasse="links">
  <Bild Klasse="Avatar" src="{{chat.avatar}}"></Bild>
 </Ansicht>
 <Ansichtsklasse="rechts">
  <view class="nickname">{{chat.nickname}}</view>
  <Klasse anzeigen="Inhalt">
      {{chat.inhalt}}
  </Ansicht>
 </Ansicht>
</Ansicht>

</block>


<view class="form">
 <Ansichtsklasse="weui-cell weui-cell_input">
  <input class="weui-input" value="{{invalue}}" bindinput="getInput" placeholder="Bitte geben Sie den Chat-Inhalt ein" />
 </Ansicht>
 <button type="primary" bindtap="sendMsg">Senden</button>
</Ansicht>

chat.css

/* Seiten/Chat/chat.wxss */
.avatar{
  Breite: 130rpx;
  Höhe: 130rpx;
  Randradius: 50 %;
}


.chat{
  Anzeige: Flex;
  Elemente ausrichten: zentrieren;
  Rand oben: 15px;
}
.selbst{
  Inhalt ausrichten: Flex-Ende;
  Rand oben: 15px;
}

.links{
  Polsterung: 20rpx;
  selbst ausrichten: Flex-Start;
}
.selbst .links{
  Polsterung oben: 0;
}

.Rechts{
  Rand links: 10px;
}
.richtig .Inhalt{
  Hintergrundfarbe: #eee;
  Farbe: #123;
  Schriftgröße: 16px;
  /* Rahmen: 1px durchgezogen #ddd; */
  Polsterung: 10px;
  Zeilenhöhe: 26px;
  Rand rechts: 10px;
  Rahmenradius: 3px;
  Position: relativ;
  Mindesthöhe: 20px;
}
.rechts .content::before{
  Inhalt: ' ';
  Anzeige: Block;
  Breite: 0;
  Höhe: 0;
  Rand: 12px durchgehend transparent;
  Rahmenfarbe rechts: #eee;
  Position: absolut;
  oben: 10px;
  links: -23px;
}
.self .right .content::vor{
  Rand: 0;
}
.selbst .rechts .inhalt::nach{
  Inhalt: ' ';
  Anzeige: Block;
  Breite: 0;
  Höhe: 0;
  Rand: 12px durchgehend transparent;
  Rahmenfarbe links: #1ad409;
  Position: absolut;
  oben: 10px;
  rechts: -23px;

}
.selbst .rechts .inhalt{
  Hintergrundfarbe: #1ad409;
}

.bilden{
  Position: fest;
  unten: 0;
  Hintergrundfarbe: #eee;
  Breite: 750rpx;
  Anzeige: Flex;
  Höhe: 39px;
  Elemente ausrichten: zentrieren;
}
.form input{
  Breite: 600rpx;
  Hintergrundfarbe: #fff;
  Höhe: 36px;
  Zeilenhöhe: 36px;
  Polsterung: 0,5px;
}
Taste{
  Breite: 65rpx;
  Höhe: 36px;
}

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:
  • Das WeChat-Applet realisiert die Chatroom-Funktion
  • 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

<<:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.17

>>:  Probleme beim Ändern des Passworts und beim Herstellen einer Verbindung zu Navicat bei der Installation und Verwendung von MySQL 8.0.16 unter Windows 7

Artikel empfehlen

So füllen Sie Elemente in Spalten im CSS-Rasterlayout

Angenommen, wir haben n Elemente und müssen diese...

MySQL-Export ganzer oder einzelner Tabellendaten

Exportieren einer einzelnen Tabelle mysqldump -u ...

JavaScript zum Implementieren der Anzeige von Suchdaten

In diesem Artikel wird der Datenanzeigecode für d...

JavaScript zum Erzielen eines Zeitlupenanimationseffekts

In diesem Artikel wird der spezifische Code für J...

Detaillierte Erklärung des Flex-Layouts in CSS

Flex-Layout wird auch elastisches Layout genannt....

Einfaches Webdesign-Konzept – Farbabstimmung

(I) Grundkonzepte der Farbabstimmung auf Webseiten...

So implementieren Sie die Kontrollkästchen- und Radioausrichtung

Nicht nur das Verhalten verschiedener Browser ist...

Kleine Details der Web-Frontend-Entwicklung

1 Das Select-Tag muss geschlossen sein <select&...

Acht Möglichkeiten zur Implementierung von Kommunikation in Vue

Inhaltsverzeichnis 1. Komponentenkommunikation 1....

Aktivieren und Konfigurieren des MySQL-Protokolls für langsame Abfragen

Einführung Das MySQL-Protokoll für langsame Abfra...