1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      vue實(shí)現(xiàn)微信獲取用戶信息的方法

      本次項(xiàng)目做到一個(gè)點(diǎn)贊功能,即分享出去一個(gè)頁面給微信好友,微信好友點(diǎn)開并點(diǎn)贊,需要將點(diǎn)贊用戶的微信昵稱,微信頭像以及微信openid,微信unionid(這個(gè)需要關(guān)注公眾號才會(huì)有該字段)傳給后端,記錄點(diǎn)贊人的相關(guān)信息

      創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的寬甸網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

      微信網(wǎng)頁授權(quán)

      1、微信公眾號網(wǎng)頁授權(quán)配置,詳見官網(wǎng)

      2、關(guān)于網(wǎng)頁授權(quán)的兩種scope的區(qū)別說明 (詳細(xì)見官網(wǎng))

      -scope=snsapi_base 獲取微信用戶openid,獲取后直接跳轉(zhuǎn)業(yè)務(wù)頁面,不需要用戶操作

      -scope=snsapi_userinfo 獲取微信用戶詳細(xì)信息(昵稱,頭像等),需要用戶手動(dòng)點(diǎn)擊授權(quán),當(dāng)點(diǎn)擊允許時(shí),會(huì)跳轉(zhuǎn)業(yè)務(wù)頁面(類似于關(guān)閉彈窗),點(diǎn)擊拒絕時(shí)會(huì)推出頁面,授權(quán)如圖:

      vue實(shí)現(xiàn)微信獲取用戶信息的方法⚠️

      3、用戶管理類接口中的“獲取用戶基本信息接口”,是在用戶和公眾號產(chǎn)生消息交互或關(guān)注后事件推送后,才能根據(jù)用戶OpenID來獲取用戶基本信息。這個(gè)接口,包括其他微信接口,都是需要該用戶(即openid)關(guān)注了公眾號后,才能調(diào)用成功的。

      4、分享頁面的實(shí)際鏈接:

      ⚠️ 當(dāng)前頁面的鏈接需要 encodeURIComponent( url ) 編碼

      https://open.weixin.qq.com/connect/oauth3/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
      // APPID: 公眾號的appid
      // REDIRECT_URI:當(dāng)前頁面的鏈接,需要編碼
      // scope: snsapi_base / snsapi_userinfo
      // 其他值均不用改動(dòng)

      5、點(diǎn)擊允許后跳轉(zhuǎn)的鏈接是 REDIRECT_URI + code=CODE&state=STATE。

      ⚠️ 此處的code可以用來調(diào)取接口獲取微信用戶的相關(guān)信息

      ⚠️ 每次用戶授權(quán)帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動(dòng)過期。

      -官方說法code只能被使用一次,在H5頁面中,如果有跳轉(zhuǎn)的情況,再返回當(dāng)前頁面,微信會(huì)判斷是否已經(jīng)授權(quán),如果授權(quán)過,則code返回的還是上一次的code,而你如果用code調(diào)取用戶信息(code已失效)會(huì)報(bào) invalid code, hints: [ req_id: GGJbIz4ce-oGYwya ],所以在第一次獲取用戶信息的時(shí)候就可以將該用戶信息存儲(chǔ)在本地

      6、需要獲取用戶信息,且二次分享的問題

      雖然當(dāng)前頁面沒有問題,但是當(dāng)前微信用戶使用微信進(jìn)行二次分享,則微信會(huì)分享當(dāng)前頁面的鏈接(不包含https://open.weixin.qq.com),新用戶點(diǎn)擊則不會(huì)進(jìn)行授權(quán),但是微信的二次分享會(huì)在當(dāng)前鏈接加上 &from= ,可以在vue created的生命周期里進(jìn)行參數(shù)獲取并判斷,如果有from參數(shù),則跳轉(zhuǎn)https://open.weixin.qq.com/co... 鏈接,讓用戶授權(quán)
      ⚠️ 二次分享樣式顯示問題可以查看我的另一篇文章vue + 微信二次分享/自定義分享

      代碼如下

      // created 周期
      if(this.$route.query.from) { // 判斷鏈接中是否有from參數(shù),下面的studentId,activityId項(xiàng)目需要
       let _nowUrl = window.location.href.split('?')[0] + `?resource=1&studentId=${this.$route.query.studentId}&activityId=${this.$route.query.activityId}`
       let _shareUrl = `https://open.weixin.qq.com/connect/oauth3/authorize?appid=${appId}&redirect_uri=${encodeURIComponent(_nowUrl)}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`
       window.location.href = _shareUrl
       return
      }
       // 處理微信用戶信息
       handleWechatMsg(code) {
        // 調(diào)取 獲取微信用戶信息的接口(后端參考微信官方文檔進(jìn)行封裝)  code--參數(shù)
        api.getWechatInfo(code).then((res)=>{
         if(res.data.code == 200) {
          // 返回的是json字符串
          let _data = res.data.content
          let _personMsg = JSON.parse(_data)
          this.wechatMsg = _personMsg
          // 本地存儲(chǔ)微信用戶信息,防止頁面被刷新,code失效
          window.localStorage.setItem('wechatMesssage', _data)
         } else if (res.data.code == 400) { // 400-code失效,400是后端返回,具體看后端返回哪個(gè)碼
          let msgs = window.localStorage.getItem('wechatMesssage')
          this.wechatMsg = JSON.parse(msgs)    
         } else {
          this.$Message.message(res.data.message);
         }
      
        })
       },

      如果需要獲取微信unionid,則需要引導(dǎo)用戶關(guān)注公眾號,可以在返回的用戶信息中判斷是否含有unionid,如果沒有,可以展示微信公眾號的二維碼,供用戶識(shí)別關(guān)注

      ⚠️--------------------

      1. 當(dāng)前頁面的域名,需要在公眾號后臺(tái)配置添加(詳見官網(wǎng))
      2. 如果頁面存在#,可能會(huì)出問題,可以使用nginx進(jìn)行配置

      以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


      新聞名稱:vue實(shí)現(xiàn)微信獲取用戶信息的方法
      新聞來源:http://www.ef60e0e.cn/article/pdshio.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        屏边| 开化县| 增城市| 尚志市| 万年县| 溆浦县| 嘉祥县| 台北县| 宿迁市| 沙坪坝区| 天祝| 砀山县| 舟山市| 丰城市| 麟游县| 诸城市| 明溪县| 崇阳县| 顺义区| 项城市| 泸定县| 连南| 延庆县| 鄂伦春自治旗| 永清县| 永定县| 基隆市| 巢湖市| 无极县| 明星| 孟村| 龙海市| 宝鸡市| 南江县| 盱眙县| 吉木萨尔县| 乌兰浩特市| 福泉市| 大洼县| 德令哈市| 营山县|