ホームページ ウェブフロントエンド jsチュートリアル Nodejs を使用して WeChat パブリック アカウント バックグラウンド サービスを開発する

Nodejs を使用して WeChat パブリック アカウント バックグラウンド サービスを開発する

May 16, 2016 pm 04:37 PM
nodejs バックグラウンドサービス WeChatの公開アカウント

概要:

WeChat は、その巨大なユーザー ベースとユーザーの強い粘着力により、過去 2 年間で数え切れないほどの開発者の注目を集めてきました。過去 2 年間で非常に急速に開発された開発ツールである Nodejs は、モバイル バックエンドの構築に特に適しています。この記事では、著者が開発した例を使用して、Nodejs に基づいて独自の WeChat パブリック アカウントを開発する方法を説明します。この例では、Express、wechat、mongodb、monk などのモジュールが主に使用されています。

早めの準備:

1. WeChat 公開アカウントを申請するには、https://mp.weixin.qq.com/ にアクセスして申請します。ここでは詳しく説明しません。

2. サーバーの購入には、Amazon の EC2 がおすすめです。1 年間無料で利用できます。クレジット カード情報を入力するだけで済みます。すべてのプロセスは英語のみです。最初の 1 年間は無料なので、もっと時間を費やす価値があります。

NodeJs 開発環境をインストールします:

コードをコピー コードは次のとおりです:

1. yum -y gcc をインストールします
2. yum -y インストール gcc-c
3. yum -y install make automake
4. wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
5. tar -xvzf ノード v0.10.29.tar.gz
6. cd 解凍ディレクトリ
7. ./configure
8.
を作る 9. インストールを行う

Mongodb をインストールします:
コードをコピー コードは次のとおりです:

1. wget http://downloads.10gen.com/linux/mongodb-linux-x86_64-enterprise-amzn64-2.6.3.tgz
2. tar -xvzf mongodb-linux-x86_64-enterprise-amzn64-2.6.3.tgz
3. sudo cp -R -n mongodb-linux-x86_64-enterprise-amzn64-2.6.3 /usr/local/mongodb

導入例:

著者のクラスはサッカーチームを作り、全員がキャプテンにお金を渡し、キャプテンが各料金を支払い、各人の料金と残高を記録し、全員に通知しました。毎回全員が来られるわけではないし、費用もAAベースで参加者間で平等に負担するしかないので、記録するのが面倒。そこで、WeChatのパブリックアカウントを作成しました。毎回、アクティビティの消費量を入力し、参加者の数を選択するだけで、1人あたりの費用と残高が自動的に生成され、その後、詳細がWeChatグループに送信されます。誰もがそれを見ることができるように。

この例では、作成者が実際にマイクロサイトを構築し、Web ページを通じて活動費用と残高を記録または表示します。 WeChat パブリック アカウントは、ユーザーの WeChat とマイクロ Web サイトの間にブリッジを構築することに相当します。WeChat ユーザーが作成者のパブリック アカウントをフォローすると、WeChat パブリック プラットフォーム開発者モードが自動的に WeChat ユーザーに助けを求めることができます。ヘルプには、操作に対応する Web リンクがあり、クリックするだけで対応するページにアクセスできます。

WeChat パブリック アカウント バックエンド サービスを構築する:

すべての準備が整いました。あとは開発するだけです:)

始める前に、Express モジュールと Wechat モジュールを簡単に紹介しましょう:
Express - 優れた Web 開発フレームワークです。Express を使用すると、独自の Web サイトを非常に迅速に構築できます。 WeChat サーバーは HTTP Post リクエストを通じて開発者サーバーと対話するため、Express フレームワークを使用する必要があります。

以下は新規ユーザーがフォローした際のログです。103.7.30.84はWeChatサーバーのIPアドレスです。

コードをコピー コードは次のとおりです:

103.7.30.84 POST /wechat?signature=8a8e408fdae6bbdd6e470af98865a5f993cea283×tamp=1408610461&nonce=1572142586 2 200

wechat - WeChat サーバーとのやり取りの詳細をカプセル化し、開発者が自分のビジネスだけに集中できるようにします。

まず、express をインストールし、express を使用してプロジェクトを作成する必要があります:

コードをコピーします コードは次のとおりです:
1. npm install -g Express
2. Express -e your_project パラメータ -e は、ejs エンジンを使用することを示します。パラメータがない場合は、デフォルトで Jade エンジンが使用されます。
3. cd your_project && npm install

インストール後のディレクトリ構成は以下のとおりです。

コードをコピー コードは次のとおりです:

[ec2-user@ip-172-31-2-188 your_project]$ ls
app.js bin node_modules package.json パブリック ルート ビュー

次に wechat をインストールします:
コードをコピー コードは次のとおりです:

1.npmでwechatをインストール

WeChat 開発者モードの設定:

URL とトークンを構成します。例は次のとおりです:

WeChat サーバーのアクセス認証と自動応答:

app.js を変更します。対応するコードは次のとおりです:

コードをコピーします コードは次のとおりです:

app.use('/users', users);
app.use('/weixin', weixin);

app.use(express.query()); // または app.use(express.query());
app.use('/wechat', wechat('hchismylove', function (req, res, next) {
// WeChat の入力情報はすべて req.weixin
にあります var message = req.weixin;
console.log(メッセージ);

if((message.MsgType == 'event') && (message.Event == 'subscribe'))
{
var raiseStr = "1. クリックしてチームのリチャージを記録します"

var ConsumerStr = "2. クリックしてチームの消費量を記録します"

var deleteStr = "3. クリックしてレコードをロールバックします"

var HistoryStr = "4. クリックして履歴をクエリ"


var emptyStr = " " ";
var ReplyStr = "ご清聴ありがとうございました!" "n" emptyStr "n" replaceStr "n" emptyStr "n" ConsumerStr
"n" emptyStr "n" deleteStr "n" emptyStr "n" HistoryStr;
res.reply(replyStr);
}
}));

WeChat サーバーのアクセス認証は、次のコード行によって実現できます:


コードをコピー コードは次のとおりです:
app.use('/wechat', wechat('your_token', function (req , res, next) {
次のコードは、新しいユーザーがフォローしたときに使用方法に関するヘルプの自動送信を実装します。

コードをコピーします コードは次のとおりです:
if((message.MsgType == 'event') && (message.Event == 'subscribe'))
{
....
res.reply(replyStr); }


WeChat のスクリーンショットは次のとおりです:

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

NodejsとTomcatの違い NodejsとTomcatの違い Apr 21, 2024 am 04:16 AM

Node.js と Tomcat の主な違いは次のとおりです。 ランタイム: Node.js は JavaScript ランタイムに基づいていますが、Tomcat は Java サーブレット コンテナです。 I/O モデル: Node.js は非同期ノンブロッキング モデルを使用しますが、Tomcat は同期ブロッキング モデルです。同時実行処理: Node.js はイベント ループを通じて同時実行を処理しますが、Tomcat はスレッド プールを使用します。アプリケーション シナリオ: Node.js はリアルタイム、データ集約型、同時実行性の高いアプリケーションに適しており、Tomcat は従来の Java Web アプリケーションに適しています。

Nodejsとvuejsの違い Nodejsとvuejsの違い Apr 21, 2024 am 04:17 AM

Node.js はサーバー側の JavaScript ランタイムであり、Vue.js は対話型ユーザー インターフェイスを作成するためのクライアント側の JavaScript フレームワークです。 Node.js はバックエンド サービス API 開発やデータ処理などのサーバー側開発に使用され、Vue.js はシングルページ アプリケーションや応答性の高いユーザー インターフェイスなどのクライアント側開発に使用されます。

Nodejs はバックエンド フレームワークですか? Nodejs はバックエンド フレームワークですか? Apr 21, 2024 am 05:09 AM

Node.js は、高いパフォーマンス、スケーラビリティ、クロスプラットフォーム サポート、豊富なエコシステム、開発の容易さなどの機能を備えているため、バックエンド フレームワークとして使用できます。

Nodejs はバックエンド開発言語ですか? Nodejs はバックエンド開発言語ですか? Apr 21, 2024 am 05:09 AM

はい、Node.js はバックエンド開発言語です。これは、サーバー側のビジネス ロジックの処理、データベース接続の管理、API の提供などのバックエンド開発に使用されます。

Nodejs インストール ディレクトリ内の npm ファイルと npm.cmd ファイルの違いは何ですか? Nodejs インストール ディレクトリ内の npm ファイルと npm.cmd ファイルの違いは何ですか? Apr 21, 2024 am 05:18 AM

Node.js インストール ディレクトリには、npm と npm.cmd という 2 つの npm 関連ファイルがあります。違いは次のとおりです。拡張子が異なります。npm は実行可能ファイルで、npm.cmd はコマンド ウィンドウのショートカットです。 Windows ユーザー: npm.cmd はコマンド プロンプトから使用できますが、npm はコマンド ラインからのみ実行できます。互換性: npm.cmd は Windows システムに固有ですが、npm はクロスプラットフォームで使用できます。使用上の推奨事項: Windows ユーザーは npm.cmd を使用し、他のオペレーティング システムは npm を使用します。

Nodejsのグローバル変数とは何ですか Nodejsのグローバル変数とは何ですか Apr 21, 2024 am 04:54 AM

Node.js には次のグローバル変数が存在します。 グローバル オブジェクト: グローバル コア モジュール: プロセス、コンソール、require ランタイム環境変数: __dirname、__filename、__line、__column 定数: unknown、null、NaN、Infinity、-Infinity

NodejsとJavaの間に大きな違いはありますか? NodejsとJavaの間に大きな違いはありますか? Apr 21, 2024 am 06:12 AM

Node.js と Java の主な違いは、設計と機能です。 イベント駆動型とスレッド駆動型: Node.js はイベント駆動型で、Java はスレッド駆動型です。シングルスレッドとマルチスレッド: Node.js はシングルスレッドのイベント ループを使用し、Java はマルチスレッド アーキテクチャを使用します。ランタイム環境: Node.js は V8 JavaScript エンジン上で実行され、Java は JVM 上で実行されます。構文: Node.js は JavaScript 構文を使用し、Java は Java 構文を使用します。目的: Node.js は I/O 集中型のタスクに適しており、Java は大規模なエンタープライズ アプリケーションに適しています。

NodejsとJavaのどちらを選択しますか? NodejsとJavaのどちらを選択しますか? Apr 21, 2024 am 04:40 AM

Web 開発において Node.js と Java にはそれぞれ長所と短所があり、どちらを選択するかはプロジェクトの要件によって異なります。 Node.js はリアルタイム アプリケーション、迅速な開発、マイクロサービス アーキテクチャに優れており、Java はエンタープライズ グレードのサポート、パフォーマンス、セキュリティに優れています。

See all articles