知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁 » 新聞資訊 » 公眾號(hào)相關(guān) >
微信公眾號(hào)H5訂閱消息開發(fā) uniapp訂閱消息
發(fā)表時(shí)間:2020-11-11
發(fā)布人:葵宇科技
瀏覽次數(shù):303
簡(jiǎn)單說一下流程:
在頁面帶參數(shù)跳轉(zhuǎn)到 https://mp.weixin.qq.com/mp/subscribemsg ,然后用戶授權(quán)確認(rèn)或者取消以后,會(huì)返回參數(shù)里面 redirect_url 的地址,并且?guī)蟧penid 等相應(yīng)參數(shù),在前端的頁面判斷鏈接里面攜帶了相關(guān)參數(shù)后就告訴后端,用戶訂閱消息的結(jié)果,最后由后端觸發(fā)訂閱消息的發(fā)送,后端調(diào)用 https://api.weixin.qq.com/cgi-bin/message/template/subscribe?access_token=ACCESS_TOKEN 去發(fā)送訂閱消息。
下面看看代碼:
1.讓用戶授權(quán)訂閱消息:
let redirect_url = encodeURIComponent(location.href);
let appId = '你的appid'
let scene = '場(chǎng)景值,可以填id或者其它值'
let template_id = '訂閱消息的模板id'
const href = `https://mp.weixin.qq.com/mp/subscribemsg?action=get_confirm&appid=${appId}&scene=${id}&template_id=${template_id}&redirect_url=${redirect_url}#wechat_redirect`;
location.href = href;
2.在頁面接收用戶授權(quán)訂閱消息的回調(diào)信息
onLoad: function(options) {
const { openid, action } = options;
if (action == 'confirm') {
const { class_id } = JSON.parse(uni.getStorageSync('courseInfo') || '{}');
//subscribe() 是封裝的接口請(qǐng)求,用戶告訴后端授權(quán)結(jié)果
subscribe({ class_id: class_id }).then(res => {
if (res.data.code == 0) {
uni.navigateTo({
url: '/pages/classRoom/courseList/courseList?id=' + class_id
});
} else {
uni.showToast({
title: res.data.msg,
icon: 'none'
});
}
});
}
}
下面看看官方文檔的介紹
公眾號(hào)或網(wǎng)頁使用一次性訂閱消息流程如下:
第一步:需要用戶同意授權(quán),獲取一次給用戶推送一條訂閱模板消息的機(jī)會(huì)
在確保微信公眾帳號(hào)擁有訂閱消息授權(quán)的權(quán)限的前提下(已認(rèn)證的公眾號(hào)即有權(quán)限,可登錄公眾平臺(tái)在接口權(quán)限列表處查看),引導(dǎo)用戶在微信客戶端打開如下鏈接:
https://mp.weixin.qq.com/mp/subscribemsg?action=get_confirm&appid=wxaba38c7f163da69b&scene=1000&template_id=1uDxHNXwYQfBmXOfPJcjAS3FynHArD8aWMEFNRGSbCc&redirect_url=http%3a%2f%2fsupport.qq.com&reserved=test#wechat_redirect
參數(shù)說明
參數(shù)是否必須說明action是直接填get_confirm即可appid是公眾號(hào)的唯一標(biāo)識(shí)scene是重定向后會(huì)帶上scene參數(shù),開發(fā)者可以填0-10000的整形值,用來標(biāo)識(shí)訂閱場(chǎng)景值template_id是訂閱消息模板ID,登錄公眾平臺(tái)后臺(tái),在接口權(quán)限列表處可查看訂閱模板IDredirect_url是授權(quán)后重定向的回調(diào)地址,請(qǐng)使用UrlEncode對(duì)鏈接進(jìn)行處理。 注:要求redirect_url的域名要跟登記的業(yè)務(wù)域名一致,且業(yè)務(wù)域名不能帶路徑。 業(yè)務(wù)域名需登錄公眾號(hào),在設(shè)置-公眾號(hào)設(shè)置-功能設(shè)置里面對(duì)業(yè)務(wù)域名設(shè)置。reserved否用于保持請(qǐng)求和回調(diào)的狀態(tài),授權(quán)請(qǐng)后原樣帶回給第三方。該參數(shù)可用于防止csrf攻擊(跨站請(qǐng)求偽造攻擊),建議第三方帶上該參數(shù),可設(shè)置為簡(jiǎn)單的隨機(jī)數(shù)加session進(jìn)行校驗(yàn),開發(fā)者可以填寫a-zA-Z0-9的參數(shù)值,最多128字節(jié),要求做urlencode#wechat_redirect是無論直接打開還是做頁面302重定向時(shí),必須帶此參數(shù)用戶同意或取消授權(quán)后會(huì)返回相關(guān)信息
如果用戶點(diǎn)擊同意或取消授權(quán),頁面將跳轉(zhuǎn)至:
redirect_url/?openid=OPENID&template_id=TEMPLATE_ID&action=ACTION&scene=SCENE
參數(shù)說明
參數(shù)說明openid用戶唯一標(biāo)識(shí),只在用戶確認(rèn)授權(quán)時(shí)才會(huì)帶上template_id訂閱消息模板IDaction用戶點(diǎn)擊動(dòng)作,"confirm"代表用戶確認(rèn)授權(quán),"cancel"代表用戶取消授權(quán)scene訂閱場(chǎng)景值reserved請(qǐng)求帶入原樣返回第二步:通過API推送訂閱模板消息給到授權(quán)微信用戶
接口請(qǐng)求說明
http請(qǐng)求方式: post
https://api.weixin.qq.com/cgi-bin/message/template/subscribe?access_token=ACCESS_TOKEN
post數(shù)據(jù)示例
{
"touser":"OPENID",
"template_id":"TEMPLATE_ID",
"url":"URL",
"miniprogram":{
"appid":"xiaochengxuappid12345",
"pagepath":"index?foo=bar"
},
"scene":"SCENE",
"title":"TITLE",
"data":{
"content":{
"value":"VALUE",
"color":"COLOR"
}
}
}
參數(shù)說明
參數(shù)是否必須說明touser是填接收消息的用戶openidtemplate_id是訂閱消息模板IDurl否點(diǎn)擊消息跳轉(zhuǎn)的鏈接,需要有ICP備案miniprogram否跳小程序所需數(shù)據(jù),不需跳小程序可不用傳該數(shù)據(jù)appid是所需跳轉(zhuǎn)到的小程序appid(該小程序appid必須與發(fā)模板消息的公眾號(hào)是綁定關(guān)聯(lián)關(guān)系,并且小程序要求是已發(fā)布的)pagepath是所需跳轉(zhuǎn)到小程序的具體頁面路徑,支持帶參數(shù),(示例index?foo=bar)scene是訂閱場(chǎng)景值title是消息標(biāo)題,15字以內(nèi)data是消息正文,value為消息內(nèi)容文本(200字以內(nèi)),沒有固定格式,可用\n換行,color為整段消息內(nèi)容的字體顏色(目前僅支持整段消息為一種顏色)注:url和miniprogram都是非必填字段,若都不傳則模板無跳轉(zhuǎn);若都傳,會(huì)優(yōu)先跳轉(zhuǎn)至小程序。開發(fā)者可根據(jù)實(shí)際需要選擇其中一種跳轉(zhuǎn)方式即可。當(dāng)用戶的微信客戶端版本不支持跳小程序時(shí),將會(huì)跳轉(zhuǎn)至url。
返回說明
在調(diào)用接口后,會(huì)返回JSON數(shù)據(jù)包。正常時(shí)的返回JSON數(shù)據(jù)包示例:
{
"errcode":0,
"errmsg":"ok"
}
相關(guān)案例查看更多
相關(guān)閱讀
- 云南網(wǎng)站建設(shè)優(yōu)化
- 區(qū)塊鏈
- 昆明做網(wǎng)站
- 云南網(wǎng)站建設(shè)制作
- 網(wǎng)站建設(shè)報(bào)價(jià)
- 前端
- 云南軟件定制公司
- 小程序技術(shù)
- 網(wǎng)站制作哪家好
- 云南網(wǎng)站建設(shè)專業(yè)品牌
- 云南軟件開發(fā)
- 云南軟件定制
- 保山小程序開發(fā)
- 分銷系統(tǒng)
- 報(bào)廢車拆解回收管理系統(tǒng)
- 云南小程序哪家好
- 網(wǎng)絡(luò)公司聯(lián)系方式
- 云南網(wǎng)站開發(fā)
- 汽車報(bào)廢系統(tǒng)
- SEO
- 昆明網(wǎng)絡(luò)公司
- 云南做百度小程序的公司
- 百度小程序開發(fā)公司
- 網(wǎng)站建設(shè)首選公司
- 網(wǎng)站優(yōu)化哪家好
- 云南網(wǎng)頁制作
- 江蘇小程序開發(fā)
- 大理小程序開發(fā)
- painter
- 云南小程序開發(fā)課程