Vue 微信公眾號開發(fā)---授權(quán)登錄獲取信息

一弧械、開發(fā)準(zhǔn)備

1.申請的微信公眾號且選擇類型為服務(wù)號八酒,因為只有服務(wù)號才可以進(jìn)行一下步驟;
2.需要通過備案的域名刃唐,后面在網(wǎng)頁授權(quán)域名配置中會用到羞迷,當(dāng)然在前端訪問域名也是必須的;

二画饥、微信授權(quán)整體邏輯

1.參考微信官方文檔
2.設(shè)計思路:前端授權(quán)獲取code --->上傳給后臺 ---> 后臺通過code 調(diào)用微信后臺換取access_token和使用scope為snsapi_userinfo的方式 獲取到用戶openid和基本信息 ---> 返回到前端---> 將openid作為用戶的唯一標(biāo)識衔瓮。

三、具體步驟

1.將公眾號appid和appSecret交給后臺開發(fā)同學(xué)完成相關(guān)配置抖甘,在開發(fā)---->基本配置热鞍;


image.png

2.在公眾號頁面,設(shè)置---> 公眾號設(shè)置 ---> 功能設(shè)置中,設(shè)置網(wǎng)頁授權(quán)回調(diào)域名薇宠;


image.png

3.前端實現(xiàn)代碼偷办;
根據(jù)業(yè)務(wù)功能在具體實現(xiàn)過程中,首先在router路由守衛(wèi)中判斷 本地是否存儲用戶openid澄港,如果有進(jìn)入業(yè)務(wù)頁面椒涯,如果沒有重定向到微信授權(quán)頁面。
router.beforeEach((to,from,next) => {
    let fullPath = to.fullPath
    if (to.name === 'Auth') {
        next()
        return
    }
    let openId = localStorage.getItem('openId');
    if (!openId) {
        //保存當(dāng)前路由地址回梧,授權(quán)后還會跳到此地址
        sessionStorage.setItem('wxRedirectUrl', fullPath)
        //請求微信授權(quán),并跳轉(zhuǎn)到 /auth 路由
        let appId = '公眾號appid'
        let redirectUrl = encodeURIComponent('正式環(huán)境授權(quán)頁面路徑')
        //判斷是否為正式環(huán)境
        if (window.location.origin.indexOf('正式環(huán)境域名') !== -1) {
            redirectUrl = encodeURIComponent('正式環(huán)境授權(quán)頁面路徑')
        } else {
            redirectUrl = encodeURIComponent('測試環(huán)境授權(quán)頁面路徑')
        }
        window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize? appid=${appId}&redirect_uri=${redirectUrl}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect&connect_redirect=1`
   } else {
       next()
   }

})

在頁面目錄中創(chuàng)建一個auth.vue授權(quán)空頁面废岂;

<template>
    <div></div>
</template>

<script>
export default {
  name: "Auth",
  async created() {
    // 如果連接中有微信返回的 code,則用此 code 調(diào)用后端接口狱意,向微信服務(wù)器請求用戶信息
    if (this.$route.query.code) {
      try {
        let redirectUrl = sessionStorage.getItem("wxRedirectUrl");
        let res = await this.$api.getWxUserInfo({
          wxCode: this.$route.query.code
        });
        if (res.data.code == 200) {
         //將一些信息存儲到本地
          const token = res.headers['accesstoken']
          localStorage.setItem('token', token)
          localStorage.setItem("wxUserInfo", JSON.stringify(res.data.root));
          localStorage.setItem("openId", res.data.root.openId);
        }
        this.$router.replace(redirectUrl);//跳轉(zhuǎn)到業(yè)務(wù)頁面
      } catch (error) {
        console.log(error);
      }
    } else {
     // 如果不是從微信重定向過來的湖苞,沒有帶著微信的 code,則直接進(jìn)入首頁
      this.$router.replace("/");
    }
  }
};
</script>

<style lang="scss" scoped>
</style>

不同的業(yè)務(wù)實現(xiàn)的方式可能不同详囤,可根據(jù)自己具體業(yè)務(wù)邏輯加以調(diào)整袒啼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市纬纪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌滑肉,老刑警劉巖包各,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異靶庙,居然都是意外死亡问畅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門六荒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來护姆,“玉大人,你說我怎么就攤上這事掏击÷言恚” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵砚亭,是天一觀的道長灯变。 經(jīng)常有香客問我,道長捅膘,這世上最難降的妖魔是什么添祸? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮寻仗,結(jié)果婚禮上刃泌,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好耙替,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布亚侠。 她就那樣靜靜地躺著,像睡著了一般林艘。 火紅的嫁衣襯著肌膚如雪盖奈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天狐援,我揣著相機與錄音钢坦,去河邊找鬼。 笑死啥酱,一個胖子當(dāng)著我的面吹牛爹凹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播镶殷,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼禾酱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了绘趋?” 一聲冷哼從身側(cè)響起颤陶,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎陷遮,沒想到半個月后滓走,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡帽馋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年搅方,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绽族。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡姨涡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吧慢,到底是詐尸還是另有隱情涛漂,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布娄蔼,位于F島的核電站怖喻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏岁诉。R本人自食惡果不足惜锚沸,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望涕癣。 院中可真熱鬧哗蜈,春花似錦前标、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至音比,卻和暖如春俭尖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背洞翩。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工稽犁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人骚亿。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓已亥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親来屠。 傳聞我的和親對象是個殘疾皇子虑椎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容