WeChatアプレットがチャットルーム機能を実現

WeChatアプレットがチャットルーム機能を実現

この記事では、参考のために、WeChatアプレットのチャットルームを実装するための具体的なコードを例を通して紹介します。具体的な内容は次のとおりです。

1. 効果表示を実現する

2.部屋.wxml

<view class="container" style="{{containerStyle}}">
  <チャットルーム
    スタイル="幅: 100%; 高さ: 100%"
    envId="{{チャットルームEnvId}}"
    コレクション="{{チャットルームコレクション}}"
    グループID="{{チャットルームグループID}}"
    グループ名="{{チャットルームグループ名}}"
    ユーザー情報="{{ユーザー情報}}"
    onGetUserInfo="{{onGetUserInfo}}"
    getOpenID="{{getOpenID}}"
  </チャットルーム>
</ビュー>

3.ルームjs

const アプリ = getApp()

ページ({
  データ: {
    アバター URL: './user-unlogin.png',
    ユーザー情報: null、
    ログ: false、
    セッション取得: false、
    リクエスト結果: ''、
    // チャットルームEnvId: 'release-f8415a',
    チャットルームコレクション: 'チャットルーム',
    チャットルームグループID: 'デモ',
    chatRoomGroupName: 'チャットルーム',

    // チャットルームコンポーネントで使用される関数
    onGetUserInfo: null、
    getOpenID: null、
  },

  onLoad: 関数() {
    // ユーザー情報を取得する wx.getSetting({
      成功: res => {
        res.authSetting['scope.userInfo']の場合{
          // すでに承認されているので、ポップアップウィンドウなしで直接 getUserInfo を呼び出してアバターのニックネームを取得できます wx.getUserInfo({
            成功: res => {
              this.setData({
                アバター URL: res.userInfo.avatarUrl、
                ユーザー情報: res.userInfo
              })
            }
          })
        }
      }
    })

    this.setData({
      onGetUserInfo: this.onGetUserInfo、
      getOpenID: this.getOpenID、
    })

    wx.getSystemInfo({
      成功: res => {
        console.log('システム情報', res)
        (res.safeArea)の場合{
          const { 上、下 } = res.safeArea
          this.setData({
            コンテナスタイル: `パディングトップ: ${(/ios/i.test(res.system) ? 10 : 20) + 上}px; パディングボトム: ${20 + res.windowHeight - 下}px`,
          })
        }
      },
    })
  },

  getOpenID: 非同期関数() {
    (this.openid)の場合{
      this.openidを返す
    }

    const { 結果 } = wx.cloud.callFunction({
      名前: 'ログイン',
    })

    結果.openidを返す
  },

  onGetUserInfo: 関数(e) {
    if (!this.logged && e.detail.userInfo) {
      this.setData({
        ログに記録: true、
        アバター URL: e.detail.userInfo.avatarUrl、
        ユーザー情報: e.detail.userInfo
      })
    }
  },

  onShareAppMessage() {
    戻る {
      タイトル: 「インスタントメッセージングデモ」
      パス: '/pages/im/room/room',
    }
  },
})

4.ルーム.json

{
  "コンポーネントの使用": {
    "チャットルーム": "/components/チャットルーム/チャットルーム"
  }
}

5.部屋.wxss

。容器 {
  高さ: 100%;
  位置: 絶対;
  上: 0;
  下部: 0;
  左: 0;
  右: 0;
  パディングトップ: 80rpx;
  パディング下部: 30rpx;
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChatアプレットがチャットルームを実装
  • WeChatアプレット開発チャットルームの詳細な説明 - リアルタイムチャット、画像プレビューのサポート
  • WeChatアプレットWebSocketチャットルームを実装するためのサンプルコード
  • WeChatアプレットチャットルームの簡単な実装
  • WeChatアプレットはシンプルなチャットルームを実装します

<<:  Windows 10 サブシステム Ubuntu (WSL) に Docker をインストールするチュートリアル (画像とテキスト付き)

>>:  複雑なSQLクエリを含むMySQLの一般的なSQL文の概要

推薦する

Nginx プロキシ使用時にヘッダーに「_」が含まれることで情報が失われる問題の解決方法

序文ゲートウェイプロジェクトを開発する場合、署名 sign_key 情報はリクエスト時にリクエスト ...

シンプルなプログレスバーを作成するための HTML+CSS

1. HTMLコードコードをコピーコードは次のとおりです。経験値: <span class=...

vsFTP 3.0.3 のコンパイルとインストールの詳細な分析

脆弱性の詳細VSFTP は、GPL に基づいてリリースされた Unix ライクなシステムで使用される...

Bootstrap FileInputは画像アップロード機能を実装します

この記事の例では、Bootstrap FileInputの具体的なコードを共有して、画像アップロード...

Centos7.4 環境に lamp-php7.0 をインストールするチュートリアル

この記事では、Centos7.4 環境に lamp-php7.0 をインストールする方法について説明...

Brotli圧縮アルゴリズムを有効にするNginxの実装プロセスの詳細な説明

序文Web アプリケーションでは、トラフィックを節約し、転送データのサイズを縮小し、転送効率を向上さ...

mysql5.7.24 バージョンのインストール手順と解凍時に発生した問題の概要

1. ダウンロード参考: 2. D:\MySQL\mysql-5.7.24 などの固定の場所に解凍し...

nginx での listen ディレクティブの例の分析

プロットレビュー前回の記事では、ロケーション命令の解析プロセスを分析しました。この内容を簡単に確認し...

ネイティブJSで禁止すべきメソッドの記述

目次ブロックレベル関数オブジェクトのプロトタイプを直接変更すると呼び出された人発信者評価ブロックレベ...

Docker+Jenkins+Gitlab+Djangoアプリケーションデプロイ実践の詳細な説明

1. 背景インターネット アプリケーションの急速な更新と反復という状況では、従来の手作業や単純なスク...

ウェブデザインの経験とスキルの概要

■ ウェブサイトのテーマ計画 ウェブサイトのテーマが断片化しすぎないように注意してください。一般的に...

Bツリーの削除プロセスの紹介

前回の記事 https://www.jb51.net/article/154157.htm では、B...

MySQLにおけるMTRの概念

MTR は Mini-Transaction の略です。名前が示すように、これは「最小のトランザクシ...