欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue.js中Line第三方登錄api的實(shí)現(xiàn)代碼

 更新時間:2020年06月29日 14:24:59   作者:lllomh  
這篇文章主要介紹了Vue.js中Line第三方登錄api實(shí)現(xiàn)代碼,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

國際化的項(xiàng)目就會用用到一些第三方的登錄api,這次記錄一下Line 的!

按步驟來:

注冊Line賬號就不說了,雖然麻煩,這就自己去想辦法了!

demo 請狠狠的戳這里 http://download.lllomh.com/cliect/#/product/J417081951162505

一:開發(fā)者平臺配置

去Line 的開發(fā)者平臺 新建一個App:

https://developers.line.biz/en/

順便寫好資料:

動態(tài)演示:

這要 用到的 就是2個:

Channel ID 跟 Channel secret  對應(yīng)

'client_id'  => '5431649755',
'client_secret'=> '234b6e64c13285e6d058ff7b1bbc8e'

關(guān)鍵是這里的重定向地址要填(幾乎所有第三方都要):

二:代碼部署

核心獲取第三方的部分

壹:組件封裝:

1,起始:這里就

const { code } = queryString.parse(window.location.search.replace('?', ''))

      if(!code) return

這里 頁面回調(diào)刷新的時候發(fā)現(xiàn)url 有這個code 這個值的話 就執(zhí)行獲取 token 的方法,反之不執(zhí)行:

async created() {
      const { code } = queryString.parse(window.location.search.replace('?', ''))

      if(!code) return

      const result = await this.getToken(code)

      const { data } = await this.getProfile(result.token)

      if(this.friendRequired) {
        const flag = await this.checkFriend(result.token)

        if(!flag) {
          this.error = this.friendErrorTest
        }
      }

      if(!this.error) {
        const response = Object.assign(data, result.getPostable())
        this.$emit('result', response)
      }
    },
async getToken(code) {
        const result = new OAuthRequest({
          code: code,
          clientId: this.clientId,
          clientSecret: this.clientSecret,
          redirectUri: this.callbackUri
        })
        const params = new URLSearchParams()
        linq.from(result.getPostable()).select(x => params.append(x.key, x.value)).toArray()

        const { data } = await axios.post('https://api.line.me/oauth2/v2.1/token', params)
        console.log(data,"data")// 這里拿到返回的第三方的結(jié)果個人信息
        return new OAuthResult(data)
      },

貳:組件封裝:

1,組件使用:

除了 那個 三個參數(shù),其他的一些 就看著修改整合吧

<template>
 <div id="app">
   <line-login-button
       :client-id="clientId"
       :client-secret="clientSecret"
       :callback-uri="callbackUri"
       @result="result"
       add-friend
       friend-required></line-login-button>
   1232131
 </div>
</template>
<script>
  import LineLoginButton from './components/LineLoginButton'

  export default {
    data() {
      return {
        clientId: '2323649755',
        clientSecret: '323128b6e64c13285e6d058ff7b1bbc8e',
        callbackUri: 'http://localhost:8080' //這里要跟開發(fā)者平臺中填寫的一致
      }
    },

    // created() {
    //   this.clientId = process.env.VUE_APP_LINE_CLIENT_ID
    //   this.clientSecret = process.env.VUE_APP_LINE_CLIENT_SECRET
    //   this.callbackUri = process.env.VUE_APP_LINE_CALLBACK_URL
    // },

    components: {
      LineLoginButton
    },

    methods: {
      result(res) {
        console.log(res)
      }
    }
  }

</script>

<style>
#app {
 font-family: 'Avenir', Helvetica, Arial, sans-serif;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-align: center;
 color: #2c3e50;
}
#nav {
 padding: 30px;
}

#nav a {
 font-weight: bold;
 color: #2c3e50;
}

#nav a.router-link-exact-active {
 color: #42b983;
}
</style>

記得安裝 這個插件所需的插件:

import queryString from 'querystring'
  import axios from 'axios'
  import OAuthRequest from '../Entities/OAuthRequest'
  import linq from 'linq'
  import OAuthResult from '../Entities/OAuthResult'

結(jié)果:

總結(jié)

到此這篇關(guān)于Vue.js中Line第三方登錄api的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)Line第三方登錄api內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue CLI3 開啟gzip壓縮文件的方式

    Vue CLI3 開啟gzip壓縮文件的方式

    gizp壓縮是一種http請求優(yōu)化方式,通過減少文件體積來提高加載速度。這篇文章主要介紹了Vue CLI3 開啟gzip壓縮,需要的朋友可以參考下
    2018-09-09
  • 代號為Naruto的Vue?2.7正式發(fā)布功能詳解

    代號為Naruto的Vue?2.7正式發(fā)布功能詳解

    這篇文章主要為大家介紹了代號為Naruto的Vue?2.7正式發(fā)布功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Vue項(xiàng)目打包部署的實(shí)戰(zhàn)過程記錄

    Vue項(xiàng)目打包部署的實(shí)戰(zhàn)過程記錄

    我們使用nginx部署Vue項(xiàng)目,實(shí)質(zhì)上就是將Vue項(xiàng)目打包后的內(nèi)容同步到nginx指向的文件夾,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目打包部署的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • VUE實(shí)時監(jiān)聽元素距離頂部高度的操作

    VUE實(shí)時監(jiān)聽元素距離頂部高度的操作

    這篇文章主要介紹了VUE實(shí)時監(jiān)聽元素距離頂部高度的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 基于Vue3創(chuàng)建一個簡單的倒計時組件

    基于Vue3創(chuàng)建一個簡單的倒計時組件

    這篇文章主要給大家介紹了基于Vue3創(chuàng)建一個簡單的倒計時組件的代碼示例,文中通過代碼示例介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2023-11-11
  • Vuex 使用及簡單實(shí)例(計數(shù)器)

    Vuex 使用及簡單實(shí)例(計數(shù)器)

    這篇文章主要介紹了Vuex 使用及簡單實(shí)例(計數(shù)器),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • vue-router路由懶加載和權(quán)限控制詳解

    vue-router路由懶加載和權(quán)限控制詳解

    這篇文章主要介紹了vue-router路由懶加載和權(quán)限控制的相關(guān)資料
    2017-12-12
  • Vue使用vant實(shí)現(xiàn)日期選擇器功能

    Vue使用vant實(shí)現(xiàn)日期選擇器功能

    在當(dāng)今前端開發(fā)的領(lǐng)域中,Vue 框架因其高效和靈活的特性備受開發(fā)者青睞,而 Vant 是一個輕量的移動端組件庫,為 Vue 應(yīng)用的開發(fā)提供了豐富且便捷的功能組件,本文將就如何在 Vue 框架中通過 Vant 來實(shí)現(xiàn)日期選擇器的使用,需要的朋友可以參考下
    2024-08-08
  • VUE表達(dá)式{{}}中如何拼接字符

    VUE表達(dá)式{{}}中如何拼接字符

    這篇文章主要介紹了VUE表達(dá)式{{}}中如何拼接字符問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • vue新建環(huán)境變量以及網(wǎng)絡(luò)請求工具axios的二次封裝詳解

    vue新建環(huán)境變量以及網(wǎng)絡(luò)請求工具axios的二次封裝詳解

    這篇文章主要為大家介紹了vue新建環(huán)境變量以及網(wǎng)絡(luò)請求工具axios的二次封裝詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06

最新評論