需求:
由于小程序不能直接向用戶發(fā)送模板消息,所以需要用公眾號向用戶發(fā)送模板消息。
于是需要將小程序的openid和公眾號的openid綁定在一起。提供兩種思路:
方法一:
1.微信小程序和公眾號都綁定到微信開放平臺上,這樣小程序登錄獲取用戶信息的時候可以拿到微信用戶唯一id(unionid)。
2.公眾號方面獲取unionid可以利用微信提供的 接收事件推送 的關注事件。用戶關注公共號是獲取用戶信息,其中就會包括unionid,便可將兩者綁定在一起。
優(yōu)點:代碼實現(xiàn)比較簡單,思路清晰。
缺點:這種方法需要用到服務器配置,一旦啟用服務器配置就不能用微信公眾號平臺提供的自定義菜單。(這就是我在實現(xiàn)了方法一后,又舍棄做了方法二的原因)
方法二:(主要介紹方法二的實現(xiàn)方法和代碼)
在小程序中使用 web-view 并配配合微信公眾號提供的 網(wǎng)頁授權 來實現(xiàn):
1.在小程序中做一個web-view頁面,頁面中只需要寫微信 網(wǎng)頁授權的鏈接就行了,注意appid請自行替換。redirect_uri是我們第二步中的網(wǎng)頁地址,需要在公眾號管理平臺中配置授權域名
<template>
<view>
<view class="">
<web-view :src="url" ></web-view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
url:'',
}
},
onLoad() {
this.url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxxxxxxxxxxx&redirect_uri=https://域名/index.html&response_type=code&scope=snsapi_base&state=123#wechat_redirect"
}
}
</script>
<style>
</style>
2.做一個調用后端獲取openid的頁面 注意引入或安裝weixin-js-sdk 調用后臺獲取openid接口并且攜帶獲取openid跳轉到小程序交給后端處理
代碼式列1、
<template>
<div>
</div>
</template>
<script>
import {getMpUserInfo} from "@/api/login";
import wx from 'weixin-js-sdk'
export default {
name: "login",
data() {
return {
}
},
created() {
//請求后端接口獲取公眾號openid
getMpUserInfo(this.$route.query.code).then(res => {
//跳轉回小程序的登錄頁面并將公眾號openid帶過去
wx.miniProgram.redirectTo({url: "/pages/auth/login/login?mpOpenid="+res.data.data})
})
}
}
</script>
代碼式列2、
onLoad: function (e) {
this.option = this.getParameterByName("code"), uni.request({
url: "https:/后臺獲取openid的接口",
data: {jsCode: this.option},
method: "POST",
header: {"content-type": "application/json"},
fail: function (e) {
},
success: function (e) {
o.default.miniProgram.redirectTo({url: "/pages/login/login?mpOpenid=" + e.data.data})
}
})
}
3.編寫后端通過code獲取access_token再獲取用戶openid的方法(這里就不寫了)
完成以上步驟微信小程序就獲取到用戶公眾號的openid了 只需將公眾號openid和小程序openid 發(fā)送到后臺就可以將兩者綁定在一起,實現(xiàn)微信小程序通過公眾號給用戶發(fā)送模板消息
好了 ,到這里估計你的項目應該已經(jīng)運行成功了!
又到飯點了 買個外賣通用優(yōu)惠券吧!文章來源:http://www.zghlxwxcb.cn/news/detail-491726.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-491726.html
到了這里,關于通過小程序獲取公眾號openid的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!