サブスクリプションメッセージテンプレートを選択または作成するWeChat アプレットにログインし、「機能」->「メッセージの購読」を見つけます。公開テンプレート ライブラリから必要なテンプレートを選択できます。必要なものが見つからない場合は、自分で作成してレビューを待つこともできます。 テンプレートを選択して詳細を表示すると、テンプレート ID とプッシュ通知の送信に必要なフィールドが表示されます。 アプレットはサブスクリプションリクエストを送信します前の手順で取得したテンプレートIDが必要です // ミニプログラム<Text className='rights-buy' onClick={this.messageSubmit}> 入学願書</Text> // 決済申請メッセージを購読する messageSubmit = () => { 太郎.requestSubscribeMessage({ tmplIds: ['SuGMwqyYY9cocuP-LxfElcM3a7ITaF34lKNux6EaE9'], 成功: (res) => { // サーバー インターフェイスを呼び出して、データベースにサブスクリプション レコードを書き込みます // this.subscribeDeal() } }) } サーバーがプッシュを開始するプッシュには一般的に2つの種類がある
最初のケースでは、WeChat のプッシュ インターフェースを直接呼び出すだけです。 2 番目の状況は少し面倒です。時間指定のタスクを追加するか、関連するキュー ライブラリを使用して条件が満たされたときにトリガーすることができます。 注意事項
access_tokenを取得してキャッシュする 非同期getAccessToken() { const { appId、 appSecert、 host } = this.app.config.idolWxAConfig; 新しい Promise(async (resolve) => { を返します。 定数 currentTime = 新しい Date().getTime() const redisToken = this.app.redis.get('wxtoken').get('token') を待機 || '{access_token: "", expries_time: 0}' const accessTokenJson = JSON.parse(redisToken) accessTokenJson.access_token === '' || accessTokenJson.expries_time < currentTime の場合 { const res = this.ctx.curl(`${host}/cgi-bin/token?appid=${appId}&secret=${appSecert}&grant_type=client_credential`, { dataType: 'json' }) を待機します。 (res.data)の場合{ accessTokenJson.access_token = res.data.access_token accessTokenJson.expries_time = 新しい Date().getTime() + (parseInt(res.data.expires_in) - 200) * 1000 this.app.redis.get('wxtoken').set('token', JSON.stringify(accessTokenJson)) を待ちます。 accessTokenJson を解決します } } それ以外 { accessTokenJson を解決します } }) } WeChatにプッシュリクエストを送信する 非同期sendSubscribeMsg(openid) { リクエストデータ = { "touser": `${openid}`, "テンプレートID": "SuGMwqyYY9cocuP-LxfElcM3a7ITaF34lKNux6EaE9", "ページ": `/pages/certification/index`, "データ": { 「フレーズ2」: { "値": `承認済み` }, "もの3": { "value": `あなたの申請は審査され、承認されました` } } } 定数 { ホスト } = this.app.config.idolWxAConfig; // access_toekn を取得する const tokenJson = this.ctx.service.wx.getAccessToken() を待機します const res = this.ctx.curl(`${host}/cgi-bin/message/subscribe/send?access_token=${tokenJson.access_token} を待機します。 `、{ メソッド: 'POST'、 コンテンツタイプ: 'json', データ: リクエストデータ、 データ型: 'json' }); res.data.errmsg === 'ok'の場合{ console.log('========プッシュに成功しました========') //やるべきこと } それ以外 { console.log('========プッシュに失敗しました========') //やるべきこと } } Nodejs WeChat アプレット メッセージ プッシュの実装に関するこの記事はこれで終わりです。より関連性の高い Nodejs アプレット メッセージ プッシュ コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQL 5.7.17 無料インストールバージョンの設定方法グラフィックチュートリアル (Windows10)
新しく作成された Web サイトの場合は、ASP.NET MVC5 を例に挙げます。セッションを処理...
初期のコンピュータでは ASCII 文字しか使用できませんでしたが、コンピュータのアプリケーションの...
この記事の例では、チャットインターフェースの表示を実現するためのVueの具体的なコードを参考までに共...
1. エラーの詳細一度、データベース全体のバックアップを手動で実行したときに、次のエラーが発生しまし...
requireJS には、baseURL というプロパティがあります。baseURL を設定すること...
CSS 画面サイズの適応を実現するには、まず CSS3 @media メディア クエリを導入する必要...
今日、非常に奇妙な状況に遭遇しました。docker イメージを更新した後、docker-compos...
注意事項1. まず、mysql インストール ディレクトリに次の内容の my.ini ファイルを作成...
序文:多くのビジネス テーブルでは、歴史的またはパフォーマンス上の理由により、最初のパラダイムに違反...
目次1. 挿入のいくつかの構文1-1. 通常の挿入文1-2. 挿入または更新1-3. 挿入または交換...
背景記事を始める前に、賽博朋克とは何か、賽博朋克2077とは何かを簡単に理解しましょう。サイバーパン...
悲観的ロック悲観的ロックは、データを悲観的であるとみなします。データをクエリするときに、ロックを追加...
目次すべてのストレージエンジンを表示InnoDB ストレージ エンジンMyISAM ストレージエンジ...
ウェブサイトを作成するユーザーの多くが、このような問題に遭遇すると思います。Chrome のデフォル...
bgcolor="テキストの色" background="背景画像&q...