知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?
您當(dāng)前位置>首頁 » 新聞資訊 » 公眾號相關(guān) >
微信小程序下獲取公眾號openId
發(fā)表時間:2020-11-5
發(fā)布人:葵宇科技
瀏覽次數(shù):248
微信小程序下獲取公眾號openId
一、為什么我們需要在小程序下面獲取公眾號的openId呢?
微信公眾號和微信小程序我們一般都會開發(fā),有一種場景我們經(jīng)常會遇到,公眾號的消息推送以較成熟,我們希望把小程序那邊的用戶也同步到公眾號這邊,而且最好采用靜默方式,所以我們有這種需求。
二、方案
從目前來講,微信沒有給我們提供可直接在小程序中調(diào)用公眾號的接口,當(dāng)然大家會想到union機(jī)制,當(dāng)然這個還是有一定限制的,需要用戶主動觸發(fā)。那么我們有沒有其他可選方案呢,當(dāng)然我們會想到是不是可以通過向程序訪問公眾號h5的頁面呢,這個時候我們會想到webview組件。
通過webview加載 公眾號的一個h5頁面,h5頁面只做公眾號授權(quán)處理,例如
小程序
constructor(props) {
super(props)
this.state = {
num: 0
}
}
handleLoad (e) {
let { num } = this.state;
this.setState({num: ++num}, ()=>{
if(num==2){
const url = e.detail.src;
let code = getQueryString(url, 'code')
Taro.redirectTo({
url: `/pages/index/index?code=${code}`
})
}
})
}
handleError () {
Taro.redirectTo({
url: `/pages/index/index`
})
}
render () {
return (
<WebView src='https://xxxx.xxxx.com/#/pages/get-openId/index'>={ this.handleLoad }>={ this.handleError } />
)
}
公眾號
constructor(props) {
super(props);
this.state = {
};
}
componentDidMount() {
Taro.showLoading({ title: '加載中...', mask: true })
let APP_ID = '000000000000'
let urlParams = getAuthUrl(window.location.href, APP_ID)
let code = ''
if(urlParams){
code = getQueryString('code')
}
if(!code){
window.location.href = urlParams
return
}
setTimeout(() => {
Taro.hideLoading()
}, 6000);
}
render() {
return (
<View className='loading-container'>
</View>
)
}
const getAuthUrl = (appId, currentPageUrl ) => {
const authUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appId + "&redirect_uri="+ encodeURIComponent(currentPageUrl) +"&response_type=code&scope=snsapi_base&state=TOKEN&connect_redirect=1#wechat_redirect"
return authUrl
}
小程序加載的頁面會請求兩次, 這是和公眾號授權(quán)機(jī)制有關(guān),我們只需要在頁面加載的第二次從detial中拿到code就可以了。
相關(guān)案例查看更多
相關(guān)閱讀
- 人人商城
- 網(wǎng)站建設(shè)開發(fā)
- 網(wǎng)站制作哪家好
- 云南網(wǎng)站建設(shè)百度
- 小程序開發(fā)
- 網(wǎng)絡(luò)公司
- 做網(wǎng)站
- 商標(biāo)注冊
- 昆明做網(wǎng)站
- 迪慶小程序開發(fā)
- painter
- 云南網(wǎng)站建設(shè)一條龍
- 云南網(wǎng)站維護(hù)
- 云南手機(jī)網(wǎng)站建設(shè)
- 云南軟件定制
- .net網(wǎng)站
- web學(xué)習(xí)路線
- 汽車拆解管理軟件
- 網(wǎng)站建設(shè)首選公司
- 江蘇小程序開發(fā)
- 關(guān)鍵詞快速排名
- 云南花農(nóng)小程序
- 網(wǎng)站建設(shè)首選
- 汽車報廢回收管理軟件
- 云南網(wǎng)站建設(shè)
- 云南網(wǎng)站建設(shè)高手
- 報廢車
- 云南網(wǎng)站建設(shè)快速優(yōu)化
- 云南小程序設(shè)計
- web開發(fā)