的openid
的openid
⼆、openId有什么⽤?卫浴五金品牌
假如⽤户A在当前下购买了⼀件商品,⽤户的下单信息肯定要存储到后台数据库,那根据什么进⾏存储呢?openId是⽤户在当前下的唯⼀标识,通过openId和⽤户的下单购买信息进⾏键值对的数据绑定。那么我要查询该⽤户购买过什么商品,就能够通过openId去查询,并且数据是唯⼀的,不会和另外的⽤户数据有冲突。
拓展:UnionID:⼀个商家或公司可能会有多个,假如⽤户A同时都关注了这个公司下⾯的三个,那么这个⽤户就会有三个openId(⼀个就对应⼀个openID)。如果作为开发者的我们,要对这个⽤户在这三个下消费的数据进⾏汇总,我怎么获取到这三份数据(同⼀⽤户的)?答案是 UnionId,开发者⽂档:如果开发者拥有多个移动应⽤、⽹站应⽤和公众帐号,可通过获取⽤户基本信息中的unionid来区分⽤户的唯⼀性,因为同⼀⽤户,对同⼀个开放平台下的不同应⽤(移动应⽤、⽹站应⽤和公众帐号),unionid 是相同的。就是说如果要获取⽤户在同⼀公司不同下的数据,后台表结构不但要关联openId,还要关联UnionId。
三、怎么获取openId?
(⼀)登录公众平台后台获取的AppId,设置回调地址。
回调地址设置页⾯向导:开发>接⼝权限>⽹页服务>⽹页授权>修改。开发的项⽬需要放到已经解析好服务器域名的服务器下,同时把
Mp***.text⽂件放到服务器根⽬录下,此时你的服务器必须能联通外⽹也就是有公⽹IP,并且80端⼝是打开的,可以使⽤阿⾥云等服务器,默认配置就可以了。
(⼆)根据开发需要,静默授权还是⾮静默授权
① 静默授权:snsapi_base,没有弹窗,只能获取⽤户的openId。
②⾮静默授权:snsapi_userinfo,有弹框弹出需要⽤户⼿动点击确认授权。可以获取openId,⽤户的头像、昵称等
(三)前端代码,配置的参数要⼀⼀对应,获取code,并调⽤后台接⼝,把code传给后台
redirect_uri,这个的意思是:授权完成后再重新回到当前页⾯(⼜刷新了⼀次页⾯)
getUrlParam的⽅法,可以百度下,就是获取页⾯路径的某个字段所对应的参数。
如果配置参数⼀⼀对应,那么此时已经通过回调地址刷新页⾯后,你就会看到在地址栏中的code了。
四)前端截取地址栏中的code后通过调接⼝把code传给后台,后台通过code获取openId和⽤户头像昵称等信息并返回给前端为什么,前端不能⼀起把获取code和获取openId的操作⼀并做了,还要请求后台,让后台获取openId?
(五)后台通过 code、AppSecret(平台后台取得)请求链接获取openId
前端具体代码如下,可复制(记得把⽂中的 window.APPID改为⾃⼰的APPID)
<script>
import GetUrlParam from '@/assets/js/util/getUrlParam.js'
export default {
name: 'Index',
data () {
return {
}
},
created () {
什么是肇事逃逸},
methods: {
getCode () { // ⾮静默授权,第⼀次有弹框中秋节句子短句
const code = GetUrlParam('code') // 截取路径中的code,如果没有就去授权,如果已经获取到了就直接传code给后台获取openId
const local = window.location.href
if (code == null || code === '') {
window.location.href = 'open.weixin.qq/connect/oauth2/authorize?appid=' + window.APPID + '&redirect_uri=' + encodeURIComponent (local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect'
} else {
}
},
getOpenId (code) { // 通过code获取 openId等⽤户信息,/api/user/wechat/login 为后台接⼝
let _this = this
this.$http.post('/api/user/wechat/login', {code: code}).then((res) => {
let datas = res.data
if (de === 0 ) {
console.log('成功')
}哪些水果降火
}).catch((error) => {
console.log(error)
})
沙箱游戏}
}
36D}
</script>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。