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

Füllen Sie die Suchfunktion auf der HTML-Seite aus

Ich habe kürzlich an einem Framework gearbeitet, ...

Fassen Sie die häufig verwendeten n-ten-Kind-Selektoren zusammen

Vorwort In der Front-End-Programmierung verwenden...

So erstellen Sie schnell MySQL Master-Slave mit mysqlreplicate

Einführung Das mysql-utilities-Toolset ist eine S...

So installieren Sie Nginx in CentOS7 und konfigurieren den automatischen Start

1. Laden Sie das Installationspaket von der offiz...

Analyse und Beschreibung von Netzwerkkonfigurationsdateien unter Ubuntu-System

Ich bin heute auf ein seltsames Netzwerkproblem g...

Detaillierte Erläuterung des Lazy Loading und Preloading von Webpack

Inhaltsverzeichnis Normale Belastung Lazy Loading...

7 Interviewfragen zu JS, wie viele können Sie richtig beantworten

Vorwort In JavaScript ist dies der Kontext zum Au...

So konfigurieren Sie den virtuellen Nginx-Host in CentOS 7.3

Experimentelle Umgebung Eine minimal installierte...

Das Erlebnis gestalten: Was auf dem Knopf liegt

<br />Vor Kurzem hat UCDChina eine Artikelse...

Upgrade von MySQL 5.1 auf 5.5.36 in CentOS

Dieser Artikel beschreibt den Upgrade-Prozess von...