欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

記錄一次開(kāi)發(fā)微信網(wǎng)頁(yè)分享的步驟

需求

創(chuàng)新互聯(lián)建站專注于召陵企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。召陵網(wǎng)站建設(shè)公司,為召陵等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

最近在做一個(gè)項(xiàng)目需求,分享領(lǐng)好書(shū)活動(dòng),獲取用戶的個(gè)人信息以及unionID,并誘導(dǎo)用戶分享給好友或朋友圈,達(dá)到裂變拉新的目的。在做的過(guò)程中遇到了一些坑的地方,所以回過(guò)來(lái)總結(jié)一下

技術(shù)方案

使用微信JS-SDK自定義分享到好友和分享到朋友圈

實(shí)現(xiàn)步驟

1、要實(shí)現(xiàn)微信H5網(wǎng)頁(yè)自定義分享功能,必須先熟悉下微信公眾平臺(tái)開(kāi)發(fā)文檔,具體文檔里面說(shuō)的很詳細(xì),這里說(shuō)下需要注意的點(diǎn),別忘了綁定開(kāi)發(fā)者權(quán)限,還有綁定js安全域名,要不然有可能會(huì)報(bào)redirect_uri參數(shù)錯(cuò)誤。

2、首先一般在做微信H5網(wǎng)頁(yè)活動(dòng),都需要獲取用戶的個(gè)人信息,這就需要用戶授權(quán),一般授權(quán)有兩種方式,一種是靜默授權(quán),一種是網(wǎng)頁(yè)授權(quán),這個(gè)在微信開(kāi)發(fā)文檔說(shuō)的很詳細(xì)。

對(duì)于已關(guān)注公眾號(hào)的用戶,如果用戶從公眾號(hào)的會(huì)話或者自定義菜單進(jìn)入本公眾號(hào)的網(wǎng)頁(yè)授權(quán)頁(yè),即使是scope為snsapi_userinfo,也是靜默授權(quán),用戶無(wú)感知
一般網(wǎng)頁(yè)授權(quán)流程分為四步:

①引導(dǎo)用戶進(jìn)入授權(quán)頁(yè)面同意授權(quán),獲取code

②通過(guò)code換取網(wǎng)頁(yè)授權(quán)access_token(與基礎(chǔ)支持中的access_token不同)

③如果需要,開(kāi)發(fā)者可以刷新網(wǎng)頁(yè)授權(quán)access_token,避免過(guò)期

④通過(guò)網(wǎng)頁(yè)授權(quán)獲取用戶基本信息(openid 、UnionID、個(gè)人頭像、性別、省市、微信昵稱等)

3、下面是具體實(shí)現(xiàn)代碼,說(shuō)下大概思路,通過(guò)判斷參數(shù)是否在微信瀏覽器中打開(kāi),是否讓用戶授權(quán),并重定向到微信的接口拿到code后通過(guò)接口傳給后端返回用戶的基本信息。

// 用戶授權(quán)
 if (this.$route.query.from) {
   // 跳轉(zhuǎn)微信頁(yè)面
    let _nowUrl = window.location.href.split("?")[0] +`?pictureId=${this.$route.query.pictureId}`; // 參數(shù)拼接
    let _shareUrl = `https://open.weixin.qq.com/connect/oauth3/authorize?appid=微信公眾號(hào)APPID&redirect_uri=${encodeURIComponent(_nowUrl)}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`;
    window.location.href = _shareUrl; // 重定向到這個(gè)定義的URL
  }
  // 通過(guò)code獲取用戶信息
  if (this.$route.query.code) {
   let _code = this.$route.query.code;
   this.handleWechatMsg(_code);
  }

4、接下來(lái)就是如何自定義分享給好友或者朋友圈,同樣也是按照調(diào)用微信開(kāi)發(fā)文檔上說(shuō)的進(jìn)行配置和調(diào)用。在調(diào)用分享接口成功之后開(kāi)始調(diào)用分享api,并在調(diào)用成功之后的回調(diào)函數(shù)執(zhí)行跳頁(yè),這里微信那邊做了限制,如果用戶在點(diǎn)擊分享的時(shí)候取消了,默認(rèn)還是走success成功回調(diào)函數(shù),是拿不到最終分享成功的狀態(tài)。下面是實(shí)現(xiàn)分享的具體代碼

// 分享給朋友或朋友圈
  wxChatShare(param) {
   var that = this;
   let _url = encodeURIComponent(param.url);
   apiUrl.wechatConfig(_url).then(res => {
     if (res.data.code == 200) {
       wx.config({
        debug: false,
        appId: res.data.content.appid,
        timestamp: res.data.content.timestamp, // 必填,生成簽名的時(shí)間戳
        nonceStr: res.data.content.nonceStr, // 必填,生成簽名的隨機(jī)串
        signature: res.data.content.signature, // 必填,簽名
        jsApiList: [
         "onMenuShareTimeline",
         "onMenuShareAppMessage"
         // "updateAppMessageShareData",
         // "updateTimelineShareData"
        ]
       });
       // wx.ready(function() {
       //分享到朋友圈
       wx.onMenuShareTimeline({
        title: param.title, // 分享標(biāo)題
        link: param.link, // 分享鏈接,該鏈接域名或路徑必須與當(dāng)前頁(yè)面對(duì)應(yīng)的公眾號(hào)JS安全域名一致
        imgUrl: param.imgUrl, // 分享圖標(biāo)
        success: function() {
         // 用戶點(diǎn)擊了分享后執(zhí)行的回調(diào)函數(shù)
         that.$Message.message("分享成功!");
         that.toRouter();
        }
       });
       //分享到好友
       wx.onMenuShareAppMessage({
        title: param.title, // 分享標(biāo)題
        desc: param.desc, // 分享描述
        link: param.link, // 分享鏈接,該鏈接域名或路徑必須與當(dāng)前頁(yè)面對(duì)應(yīng)的公眾號(hào)JS安全域名一致
        imgUrl: param.imgUrl, // 分享圖標(biāo)
        type: param.type, // 分享類型,music、video或link,不填默認(rèn)為link
        dataUrl: param.dataUrl, // 如果type是music或video,則要提供數(shù)據(jù)鏈接,默認(rèn)為空
        success: function() {
         // 用戶點(diǎn)擊了分享后執(zhí)行的回調(diào)函數(shù)
         that.$Message.message("分享成功!");
         that.toRouter();
        }
       });

       // wx.updateTimelineShareData({
       //  title: param.title, // 分享標(biāo)題
       //  link: param.link, // 分享鏈接,該鏈接域名或路徑必須與當(dāng)前頁(yè)面對(duì)應(yīng)的公眾號(hào)JS安全域名一致
       //  imgUrl: param.imgUrl, // 分享圖標(biāo)
       //  success: function(res) {
       //   // 設(shè)置成功
       //   that.$Message.message("設(shè)置成功!");
       //   that.toRouter();
       //  }
       // });

       // //分享給朋友
       // wx.updateAppMessageShareData({
       //  title: param.title, // 分享標(biāo)題
       //  desc: param.desc, // 分享描述
       //  link: param.link, // 分享鏈接,該鏈接域名或路徑必須與當(dāng)前頁(yè)面對(duì)應(yīng)的公眾號(hào)JS安全域名一致
       //  imgUrl: param.imgUrl, // 分享圖標(biāo)
       //  success: function(res) {
       //   // 設(shè)置成功
       //   that.$Message.message("設(shè)置成功!");
       //   that.toRouter();
       //  }
       // });
       // });
       wx.error(function(res) {
        console.log("驗(yàn)證失敗返回的信息:", res);
       });
     } else {
      console.log(res.data.message);
     }
    })
    .catch(err => {
     this.$Message.message(error);
    });
  },

總結(jié)

這里遇到比較坑的就是,在調(diào)用分享事件的時(shí)候,不能同時(shí)寫(xiě)四個(gè)分享按鈕事件,如果都寫(xiě)上,會(huì)造成在安卓機(jī)上還沒(méi)有點(diǎn)擊分享按鈕的時(shí)候,就已經(jīng)走分享成功success回調(diào)函數(shù)了,這里說(shuō)下為啥寫(xiě)四個(gè)分享按鈕事件,因?yàn)榘l(fā)現(xiàn)如果不寫(xiě)上即將廢掉的兩個(gè)onMenuShareTimeline、onMenuShareAppMessage會(huì)在安卓機(jī)上遇到不能分享的問(wèn)題,所以把新增的兩個(gè)分享按鈕事件updateAppMessageShareData、updateTimelineShareData注釋掉,就都可以分享了,iOS和安卓均沒(méi)問(wèn)題。

我發(fā)現(xiàn)其實(shí)遇到這種原因有可能是新舊兩個(gè)分享事件的執(zhí)行順序的問(wèn)題,也就是在調(diào)用新增的分享按鈕的時(shí)候,得先在wx.ready執(zhí)行,而即將廢棄的接口是不需要的。

記錄一次開(kāi)發(fā)微信網(wǎng)頁(yè)分享的步驟

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

本文標(biāo)題:記錄一次開(kāi)發(fā)微信網(wǎng)頁(yè)分享的步驟
網(wǎng)頁(yè)路徑:http://chinadenli.net/article12/jggsgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)網(wǎng)站維護(hù)、品牌網(wǎng)站制作外貿(mào)網(wǎng)站建設(shè)、搜索引擎優(yōu)化App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
亚洲中文字幕人妻系列| 亚洲中文字幕在线观看四区| 亚洲另类欧美综合日韩精品| 99国产高清不卡视频| 欧美一级不卡视频在线观看| 国产小青蛙全集免费看| 男生和女生哪个更好色 | 成人午夜在线视频观看| 丰满少妇被猛烈插入在线观看| 国产成人精品一区在线观看 | 91欧美亚洲精品在线观看| 日韩三级黄色大片免费观看| 国产一区二区三区口爆在线| 99少妇偷拍视频在线| 好吊日在线观看免费视频| 亚洲综合精品天堂夜夜| 亚洲视频一级二级三级| 日本深夜福利视频在线| 国产精品福利精品福利| 日韩欧美一区二区亚洲| 欧美胖熟妇一区二区三区| 中文字幕熟女人妻视频| 厕所偷拍一区二区三区视频| 日本黄色高清视频久久| 麻豆果冻传媒一二三区| 91欧美一区二区三区成人| 91插插插外国一区二区| 亚洲日本中文字幕视频在线观看 | 日本人妻熟女一区二区三区| av在线免费播放一区二区| 国产不卡最新在线视频| 欧美丰满人妻少妇精品| 99久久精品免费看国产高清| 欧美加勒比一区二区三区| 精品国模一区二区三区欧美| 九九热视频经典在线观看| 亚洲妇女黄色三级视频| 国产a天堂一区二区专区| 五月婷婷六月丁香狠狠| 国产福利在线播放麻豆| 亚洲综合精品天堂夜夜|