uniapp アプレットはどのようにしてサブスクリプション メッセージをユーザーにプッシュしますか? およびサブスクリプション メッセージのパラメーター値のコンテンツ制限ルール

uniapp アプレットはどのようにメッセージをサブスクライブし、ユーザーにメッセージをプッシュしますか?

ミニ プログラムのテンプレート プッシュは、「1 回限りのサブスクリプション」と「長期サブスクリプション」に分かれています。
1 回限りのサブスクリプション: ユーザーがミニ プログラムにサブスクライブした後、プログラムは指定された OpenId を 1 回のみプッシュできます テンプレート メッセージは複数回プッシュできません
長期サブスクリプション: ユーザーは長期間サブスクライブし、テンプレート メッセージを複数回プッシュできます (長期サブスクリプション テンプレート) WeChat公式に申請する必要があります)

この記事をより包括的に理解するために、デバッグ用のフロントエンド ページにすべて書かれていますが、開発中はフロントエンドがユーザーの承認を取得した後、バックエンドで処理されます。

<template>
	<view>
		<view class="">
			<button @click="openid">获取openid</button>
		</view>
		<view class="">
			<button @click="getToken">获取token</button>
		</view>
		<view class="">
			<button @click='notification'>推送消息</button>
		</view>
	</view>
</template>

WeChat パブリック プラットフォームでミニ プログラム APPID とミニ プログラム キーを探します。
そのうち、thing1、time2、number3、thing4、thing6 は、次のテンプレートに従って定義されています。ミニ プログラムでは、テンプレートの使用ルールに注意してください
背景には、テンプレートのコンテンツに対応するフィールドも追加する必要があります
ここに画像の説明を挿入します

return:{
    
    
		useropenid:'',
		mytoken:'',
		tmplIdsone:'', // 要发送订阅的模板id
		wxappid:'',  // 小程序appID
		wxsecret:'',  // 小程序密钥
		pushmsg: {
    
    
			"touser": 'xxx',		// 获取到的用户openid
			"template_id": "xxxx", // 对应的模板id(微信公众平台中的订阅消息,选择对应模板)
			"data": {
    
    
				"thing1": {
    
    
					"value": "李四"
				},
				"time2": {
    
    
					"value": "2021年4月14日 14:05"
				},
				"number3": {
    
    
					"value": "10"
				},
				"thing4": {
    
    
					"value": "20"
				},
				"thing6": {
    
    
					"value": "张三"
				}
			},
			"page":""  //进入哪个页面
		},
}

API を呼び出してログイン ユーザーの openid を取得する
このうち、appid と Secret はパブリック プラットフォームで見つけることができます

async openid() {
    
    
	wx.login({
    
    
		success(res) {
    
    
			if (res.code) {
    
    
				wx.request({
    
    
					url: `https://api.weixin.qq.com/sns/jscode2session?appid=${
      
      this.wxappid}&secret=${
      
      this.wxsecret}&js_code=${
      
      res.code}&grant_type=authorization_code`,
					success(data) {
    
    
						this.useropenid = data.data.openid
						this.pushmsg.touser = this.useropenid
					}
				})
			} else {
    
    
				console.log('获取失败!' + res.errMsg)
			}
		}
	})
},

wx.requestSubscribeMessage()、ユーザー認証を取得します
プッシュ メッセージ テンプレートのトークンを取得します
AppId と Secret に従って開発ドキュメント API を呼び出しますトークンを取得するには a>

getToken() {
    
    
	wx.requestSubscribeMessage({
    
    
		tmplIds: [this.tmplIdsone],   // 要发送订阅的模板id
		success(res) {
    
    
			for (let key in res) {
    
    
				if (res[key] == "accept") {
    
    
					uni.showToast({
    
    
						title:'已允许消息推送'
					})
					wx.request({
    
    
						url: `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${
      
      this.wxappid}&secret=${
      
      this.wxsecret}`,
						data: {
    
    },
						success: function(res) {
    
    
							this.mytoken = res.data.access_token
						}
					})
				} else{
    
    
				}
			}
		},
		fail: function(res) {
    
    
		}
	})
},

通話メッセージのプッシュ

notification() {
    
    
		wx.request({
    
    
			url: 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=' + this.mytoken,
			data: JSON.stringify(this.pushmsg),
			method: 'POST',
			success: function(res) {
    
    
				console.log(res)
			},
		})
	}

プッシュ購読メッセージの結果
ここに画像の説明を挿入します

ミニ プログラムのサブスクリプション メッセージ パラメーター値のコンテンツ制限ルール

ここに画像の説明を挿入します


役に立った場合は、コレクションに追加し、フォローして、「いいね!」をしてください。

おすすめ

転載: blog.csdn.net/m0_57611486/article/details/128478307
おすすめ