日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

vue項目中微信登錄的實現操作

瀏覽:160日期:2022-06-11 16:10:41

1、下載組件 wxlogin

npm install vue-wxlogin --save

2、引入組件,給組件傳參

3、重定向的url應該是微信登錄官網中的微信授權作用域

4、如果url里面有端口號,微信授權作用里面也要有

5、重定向的url:需要在http://tool.chinaz.com/tools/urlencode.aspx中轉碼

6、微信登錄成功后,會自動重定向到新地址,此時的地址欄中就有code參數

7、如果報錯說不能從組件跳到頁面,那就找到wxlogin組件里面的iframe標簽,加上這個屬性:sandbox=“allow-scripts allow-top-navigation allow-same-origin”

報錯內容:

qrconnect?scope=snsapi_login&redirect_uri=http%3a%2f%2f%2f&state=&login_type=jssdk&self_redirect=false&style=black&href=:84 Unsafe JavaScript attempt to initiate navigation for frame with origin ’http://localhost:9020’ from frame with URL ’https://open.weixin.qq.com/connect/qrconnect?app&scope=snsapi_login&redirect_uri=http%3a%2f%2f&state=&login_type=jssdk&self_redirect=false&style=black&href=’. The frame attempting navigation is targeting its top-level window, but is neither same-origin with its target nor has it received a user gesture. See https://www.chromestatus.com/features/5851021045661696.```

補充知識:vue移動端微信授權登錄插件封裝

1.新建wechatAuth.js文件

const qs = require(’qs’)//應用授權作用域,snsapi_base (不彈出授權頁面,直接跳轉,只能獲取用戶openid),snsapi_userinfo (彈出授權頁面,可通過openid拿到昵稱、性別、所在地。并且,即使在未關注的情況下,只要用戶授權,也能獲取其信息)const SCOPES = [’snsapi_base’, ’snsapi_userinfo’]class VueWechatAuthPlugin { constructor () { this.appid = null this.redirect_uri = null this.scope = SCOPES[1] this._code = null this._redirect_uri = null } install (Vue, options) { let wechatAuth = this this.setAppId(options.appid) Vue.mixin({ created: function () { this.$wechatAuth = wechatAuth }, }) } static makeState () { return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15) } setAppId (appid) { this.appid = appid } set redirect_uri (redirect_uri) { this._redirect_uri = encodeURIComponent(redirect_uri) } get redirect_uri () { return this._redirect_uri } get state () { return localStorage.getItem(’wechat_auth:state’) } set state (state) { localStorage.setItem(’wechat_auth:state’, state) } get authUrl () { if (this.appid === null) { throw ’appid must not be null’ } if (this.redirect_uri === null) { throw ’redirect uri must not be null’ } this.state = VueWechatAuthPlugin.makeState() return `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${this.appid}&redirect_uri=${this.redirect_uri}&response_type=code&scope=${this.scope}&state=${this.state}#wechat_redirect` } returnFromWechat (redirect_uri) { let parsedUrl = qs.parse(redirect_uri.split(’?’)[1]) if (process.env.NODE_ENV === ’development’) { // console.log(’parsedUrl: ’, parsedUrl) this.state = null this._code = parsedUrl.code } else { if (this.state === null) { throw ’You did’t set state’ } if (parsedUrl.state === this.state) { this.state = null this._code = parsedUrl.code } else { this.state = null throw `Wrong state: ${parsedUrl.state}` } } } get code () { if (this._code === null) { throw ’Not get the code from wechat server!’ } // console.log(this) // console.log(’this._code: ’ + this._code) let code = this._code this._code = null // console.log(’code: ’ + code) return code }}const vueWechatAuthPlugin = new VueWechatAuthPlugin()if (typeof window !== ’undefined’ && window.Vue) { window.Vue.use(VueWechatAuthPlugin)}export default vueWechatAuthPlugin

2.main.js中導入

import wechatAuth from ’./plugins/wechatAuth’//微信登錄插件const qs= require(’qs’);Vue.use(wechatAuth, {appid: XXXXXXXXX});

3.路由鉤子中可以進行相關操作

router.beforeEach((to, from, next) => { if (store.state.loginStatus == 0) { //微信未授權登錄跳轉到授權登錄頁面 let url = window.location.href; //解決重復登錄url添加重復的code與state問題 let parseUrl = qs.parse(url.split(’?’)[1]); let loginUrl; if (parseUrl.code && parseUrl.state) { delete parseUrl.code; delete parseUrl.state; loginUrl = `${url.split(’?’)[0]}?${qs.stringify(parseUrl)}`; } else { loginUrl = url; } wechatAuth.redirect_uri = loginUrl; store.dispatch(’setLoginStatus’, 1); window.location.href = wechatAuth.authUrl } else if (store.state.loginStatus == 1) { try { wechatAuth.returnFromWechat(to.fullPath); } catch (err) { store.dispatch(’setLoginStatus’, 0) next() } store.dispatch(’loginWechatAuth’, wechatAuth.code).then((res) => { if (res.status == 1) { store.dispatch(’setLoginStatus’, 2) } else { store.dispatch(’setLoginStatus’, 0) } next() }).catch((err) => { next() }) }else { next() }});

2018.8.31更新

更新微信授權登錄vue-cli 3.x與2.x的demo vue-wechat-login,查看對應分支即可。

2019.7.23更新

代碼進行了相關重構 vue-wechat-login

以上這篇vue項目中微信登錄的實現操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: 微信
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一区二区三区亚洲| 久久午夜视频| 日本国产亚洲| 亚州av日韩av| 亚洲精品成人一区| 亚久久调教视频| 日本欧美久久久久免费播放网| 亚洲精品伊人| 日韩精品视频网站| 国产精品一区二区三区四区在线观看| 国产日韩欧美三级| 日韩一区二区三免费高清在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 蜜臀va亚洲va欧美va天堂| 亚洲精品福利| 青青草国产成人99久久| 青青草精品视频| 欧美性www| 国产福利一区二区精品秒拍| 福利欧美精品在线| 成人日韩精品| 欧美成人日韩| 亚洲欧美视频一区二区三区| 日韩中文字幕麻豆| 久久国产精品色av免费看| 国产精品色在线网站| 久久91视频| 91看片一区| 99久久久久| 久久成人亚洲| 国产乱子精品一区二区在线观看 | 亚洲乱码视频| 国产三级一区| 激情黄产视频在线免费观看| 国产综合欧美| 亚洲一区二区日韩| 亚洲精品日本| 久久一区精品| 999国产精品永久免费视频app| 国产亚洲精品v| 国产探花一区| 久久人人精品| 日韩欧美中文字幕一区二区三区| 国产精品3区| 亚洲福利精品| 日本久久一区| 亚洲日本网址| 日韩激情啪啪| 成人看片网站| 日韩成人精品一区二区三区 | 欧美国产日本| 午夜精品婷婷| 国产精品亚洲四区在线观看| 久久久国产精品一区二区中文| 中文视频一区| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 视频一区视频二区在线观看| 青青国产91久久久久久| 日韩免费福利视频| 日本一区中文字幕| 久久久久久久久丰满| 日韩av黄色在线| 九九精品调教| 欧美亚洲tv| 91高清一区| 久久久亚洲欧洲日产| 亚洲一区二区网站| 精品视频高潮| 日韩欧美中文在线观看| 99久久精品网| 精品一区二区三区亚洲 | 蜜臀久久99精品久久久久宅男| 成人在线视频免费看| 视频一区国产视频| 日韩成人高清| 国产精品视频一区二区三区四蜜臂| 在线精品小视频| 久久精品资源| 亚洲精品免费观看| 99精品国产一区二区三区| 欧美久久精品| 午夜在线精品| 日韩欧美午夜| 国产精品久久久久9999高清| 久久亚洲二区| 亚洲网站视频| 高清av一区| 国产精品一区高清| 亚洲精品日韩久久| 亚洲欧美久久久| 亚洲精品一级二级| 精品一区视频| 国产精品亚洲欧美日韩一区在线| 日本欧洲一区二区| av一区二区高清| 91精品xxx在线观看| 麻豆一区二区三| 日韩欧美美女在线观看| 国产免费成人| 欧美+亚洲+精品+三区| 成人台湾亚洲精品一区二区| 国产亚洲精aa在线看| 日本亚洲最大的色成网站www| 老司机精品久久| 亚洲成人日韩| 日韩免费一区| 成人亚洲一区| 国内精品伊人| 美腿丝袜在线亚洲一区| 日韩av资源网| 日本在线一区二区三区| 亚洲人成网站在线在线观看| 91精品电影| 亚洲大全视频| 欧美亚洲国产精品久久| 蜜桃精品在线| 色婷婷精品视频| 丝袜美腿诱惑一区二区三区| 黄色在线网站噜噜噜| 在线亚洲人成| 国产suv精品一区| 久久久国产精品网站| 开心激情综合| 国产精品久久观看| 欧美男人天堂| 在线一区视频观看| 久久九九精品| 免费av一区二区三区四区| 欧美影院三区| 香蕉精品视频在线观看| 夜久久久久久| 亚洲深深色噜噜狠狠爱网站 | 欧美日韩激情在线一区二区三区| 性欧美xxxx免费岛国不卡电影| 亚洲精品一区二区在线看| 一区久久精品| 丝袜a∨在线一区二区三区不卡| 蜜臀久久久99精品久久久久久| 亚洲狼人精品一区二区三区| 日本成人一区二区| 国产精品亚洲产品| 久久久精品区| 韩国三级一区| 99视频精品免费观看| 亚洲色图综合| 国产精品欧美大片| 国产成人精品一区二区三区免费| 免费看久久久| 日韩精品永久网址| 99国产精品自拍| 亚洲欧洲av| 国产精品美女在线观看直播| 国产一区一一区高清不卡| 欧美二三四区| 国产精品呻吟| 欧美一级久久| 国际精品欧美精品| 五月天久久久| 日韩一区二区三免费高清在线观看| 国产精品99精品一区二区三区∴| 国产精品久久久久久久免费观看| 婷婷综合六月| 99国产精品视频免费观看一公开 | 亚洲欧美不卡| 国产欧美自拍| 国产理论在线| 夜久久久久久| 国产日韩一区二区三区在线播放| 精品视频免费| 午夜久久99| 午夜久久av| 国产一区一一区高清不卡| 欧美日韩国产一区二区三区不卡 | 免费观看不卡av| 日韩黄色av| 日韩大片在线| 视频一区中文字幕| 精品一区二区三区在线观看视频| 欧美日韩国产高清| 国产精品欧美在线观看| 91亚洲国产| 午夜在线精品偷拍| 欧美成人一二区| 视频一区中文| 国产欧美88| 欧美va天堂在线| 国产精品黄色片| 欧美女激情福利| 精品亚洲精品| 免费成人av在线播放| 国产精品久久久久久久久妇女| 亚洲自啪免费| 国产一区不卡| 亚洲午夜免费| 亚洲性色av| 亚洲人妖在线| 久久国产日韩| 国产欧美日韩精品高清二区综合区 | 色综合五月天| 亚洲另类av|