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文の概要

推薦する

MySQL テーブルの追加、削除、変更、クエリの基本チュートリアル

1. 作成する [テーブル名] (フィールド1、フィールド2、...) 値 (値1、値2、...) ...

layui をベースにしたログインページの実装

この記事の例では、ログインページを実装するためのlayuiの具体的なコードを参考までに共有しています...

セマンティック HTML 構造の利点は何ですか?

1つ: 1.セマンティック タグは単なる HTML であり、CSS にはセマンティクスはありません...

jQueryは居住地を選択するためのドロップダウンボックスを実装します

居住地を選択するためのドロップダウンボックスをjQueryで実装するための具体的なコードは参考までに...

WeChatアプレットは日付と時刻に基づいた並べ替え機能を実装

最近、小さなプログラム プロジェクトを引き継いだのですが、リストを日付と時刻で並べ替えるという要件が...

ウェブサイトのコードブロックのpreタグにコピーコードボタンコードを追加します

他のよりプロフェッショナルなブログ システムを参照すると、コード ブロックにコードのコピー ボタンが...

NginxにLuaモジュールを追加する方法

luaをインストールする http://luajit.org/download/LuaJIT-2.0...

シンプルな時計を実装するJavaScript

この記事では、JavaScriptでシンプルな時計を実装するための具体的なコードを参考までに紹介しま...

シェルを使用して複数のサーバーでバッチ操作を実行する方法

目次SSHプロトコルパスワード接続プロセスsshツールssh公開鍵ログインバッチ操作複数サーバーファ...

MySQL ストレステストツール Mysqlslap の使用

1. MySQL独自のストレステストツールMysqlslap mysqlslap は、mysql に...

Python Flask WeChat アプレットのログインプロセスとログイン API 実装コード

1. まずは効果を見てみましょうインターフェース要求によって返されるデータ: 2. 公式ログインフロ...

CentOS 6.2 に MySQL 5.7.28 をインストールするチュートリアル (mysql ノート)

1. 環境整備1.MySQLインストールパス: /usr/local 2. CentOS 6.2 ...

inline-blockプロパティとの互換性

<br />1年前、インターネット上にはinline-blockプロパティに関する記事は...

Debian 9 システムに MySQL データベースをインストールする方法

序文タイトルを見ると、誰もが「Debian 9 に MySQL をインストールするにはどうすればいい...

ローカル フォルダー内の画像を読み込んで表示するための HTML サンプル コード

一つの目的Html ページでローカル フォルダーを選択すると、フォルダーとそのサブフォルダー内のすべ...