gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

Laravel+SSR實現保存登錄狀態(步驟詳解)

本篇文章給大家帶來了關于Laravel+SSR的相關知識,其中主要介紹了有關Laravel SSR 下是如何保存登錄狀態的,感興趣的朋友,下面一起來看一下,希望對大家有幫助。

基于 Laravel + Nuxt3 的在線 Demo(https://laravel-nuxt3.ruti.page/)

Laravel + SSR nuxt: 如何保存登錄狀態?

Laravel + 客戶端渲染的 Vue 確實寫起來比較快,但是我們有些時候確實很需要 SEO,比如說電商、門戶網站、論壇;而且對于大型項目,相比起客戶端渲染,服務器端渲染帶來的首屏加載時間上的優勢確實是碾壓的。

但是很多同學卡在了 SSR 下如何保存登錄狀態 這個問題下面,即如何像傳統的 PHP/JSP 頁面那樣,刷新頁面后仍保有登錄狀態

準備工作

首先準備 2 個接口,一個是

GET http://example.com/api/auth/user
登錄后復制

用戶獲取當前登錄用戶信息

POST http://example.com/api/auth/tokens
登錄后復制

用于請求授權

這里有一個包含 GitHub OAuth 的完整例子 ? laravel-nuxt3-api,并且測試覆蓋率是 100%

Laravel+SSR實現保存登錄狀態(步驟詳解)

開始 SSR

  • Nuxt3

在 Nuxt3 中,可以很自由地創建一個 server only 的腳本,在 initial 整個 Nuxt App 時,可以在渲染 html 前執行這個 server only 的腳本,并在渲染 html 時使用其返回的結果。

我們可以在 plugins 下面創建一個 *.server.[js|ts] 的 server only 的腳本,

plugins/init.server.js  import { defineNuxtPlugin } from '#app'; import { useAuth } from '~/store/auth.js'; function cookieFromRequestHeaders (key) {     const headers = useRequestHeaders(['cookie']);     if ('cookie' in headers) {         const cookie = headers.cookie.split(';').find(             c => c.trim().startsWith(`${key}=`)         );         if (cookie) {             return cookie.split('=')[1];         }     }     return ''; } export default defineNuxtPlugin(async (nuxtApp) => {     const token = cookieFromRequestHeaders('token');     if (token) {         const auth = useAuth(nuxtApp.$pinia);         auth.setToken(token);         await auth.fetchUser();     } });
登錄后復制

在 store/auth.js 定義管理全局狀態的 pinia,并在其中發送異步請求

import { defineStore } from 'pinia'; import { useCustomFetch } from '~/composables/useCustomFetch.js'; import cookie from 'js-cookie'; export const useAuth = defineStore('auth', {     state: () => ({         _token: '',         _user: {},     }),     getters: {         token() {             return this._token;         },         user() {             return this._user;         },     },     actions: {         async fetchUser() {             const { data, error } = await useCustomFetch('/auth/user');             if (error.value) {                 this.reset();             }             else {                 this.setUser(data.value);             }         },         // ...     }, });
登錄后復制

注意: Nuxt3 中不推薦使用 axios 等第三方的 http 包,而是使用其內置的 useFetch()

完整的例子 ? laravel-nuxt3-web

  • Nuxt2

在 Nuxt2 中,不同于 Nuxt3,Nuxt2 只能在 store/index.js 中的 nuxtServerInit() 中運行 server only 的腳本(但是這里我們可以使用 axios)

store/index.js

export const actions = {     nuxtServerInit({ commit, dispatch, route }, { req }){         const token = cookieFromRequest(req, 'token');         if (!!token) {             commit('auth/setToken', token);         }     } };
登錄后復制

store/auth.js

import Cookie from 'js-cookie'; export const state = () => ({     user: null,     token: null }); export const getters = {     user: state => state.user,     token: state => state.token,     check: state => state.user !== null }; export const mutations = {     setToken(state, token){         state.token = token;     },     fetchUserSuccess(state, user){         state.user = user;     },     fetchUserFailure(state){         state.user = null;     },     logout(state){         state.token = null;         state.user = null;     },     updateUser(state, { user }){         state.user = user;     } } export const actions = {     saveToken({ commit }, { token, remember }){         commit('setToken', token);         Cookie.set('token', token);     },     async fetchUser({ commit }){         try{             const { data } = await this.$axios.get('/auth/user');             commit('fetchUserSuccess', data);         }catch(e){             Cookie.remove('token');             commit('fetchUserFailure');         }     },     // ... }
登錄后復制

更完整的代碼 ? Nuxt middleware to check if user is logged in not working

推薦學習:《laravel視頻教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
国产免费xxx| 日本男女交配视频| 日韩 欧美 高清| 91免费黄视频| 91成人在线观看喷潮教学| 国产911在线观看| 波多野结衣三级在线| 国产精品自在自线| 热这里只有精品| 男女爱爱视频网站| 免费视频爱爱太爽了| 日韩精品视频在线观看视频 | 99精品免费在线观看| 黄色国产精品视频| 91aaa精品| 乱熟女高潮一区二区在线| 性高湖久久久久久久久aaaaa| 91精品国产毛片武则天| 国产在线视频在线| 国内性生活视频| 成人三级视频在线播放| 超碰成人在线播放| 国产成人三级视频| 69sex久久精品国产麻豆| 精品免费国产一区二区| 国产又黄又猛的视频| 久久www视频| 天堂在线资源视频| 亚洲视频在线不卡| 你懂的av在线| 国产91av视频在线观看| 免费 成 人 黄 色| 九九热精品在线播放| 国产盗摄视频在线观看| 国产精品欧美激情在线观看| 午夜大片在线观看| 中国丰满人妻videoshd| 在线观看中文av| 日日碰狠狠丁香久燥| 免费国产成人看片在线| 国产精品天天av精麻传媒| 男插女免费视频| 国产高潮免费视频| 久久久久久久久久久99| www,av在线| 动漫av免费观看| 国产乱淫av片杨贵妃| 中国黄色片一级| 亚洲性生活网站| 精品视频在线观看一区| 国产免费xxx| 国产又爽又黄ai换脸| 88av.com| 99视频精品免费| 男人添女人下面高潮视频| 少妇久久久久久被弄到高潮| 人人爽人人爽av| 五月婷婷之婷婷| 日本美女视频一区| 亚洲 激情 在线| 91淫黄看大片| 久久美女福利视频| 5月婷婷6月丁香| 欧美在线一区视频| 国产精品国产对白熟妇| 草草草视频在线观看| 日韩欧美一级在线| 五月六月丁香婷婷| 91手机视频在线| 亚洲欧美一二三| 久久久久久久香蕉| avav在线播放| 男女猛烈激情xx00免费视频| 欧美人成在线观看| 两根大肉大捧一进一出好爽视频| 日韩av在线播放不卡| av免费观看国产| 欧美一级裸体视频| 欧美视频国产视频| 日韩精品视频网址| 欧美乱做爰xxxⅹ久久久| 毛片在线视频播放| 99热手机在线| 国产探花在线观看视频| 欧美高清中文字幕| 日本精品www| 中文 日韩 欧美| 国产在线视频综合| 可以在线看的黄色网址| 天天干天天玩天天操| 激情图片qvod| 黄色一级免费大片| 日本三日本三级少妇三级66| 日本国产在线播放| 国产乱女淫av麻豆国产| 国产真实老熟女无套内射| 虎白女粉嫩尤物福利视频| 亚洲第一色av| 日日摸日日碰夜夜爽无码| 欧美成人福利在线观看| 国产 日韩 亚洲 欧美| 日本在线一二三区| 日本a在线免费观看| 国产精品自在自线| aaa毛片在线观看| 97av中文字幕| 国产精品v日韩精品v在线观看| 日韩激情视频一区二区| 亚洲一区日韩精品| 国产中文字幕二区| 国产奶头好大揉着好爽视频| 麻豆传传媒久久久爱| 六月婷婷在线视频| 国产日产欧美一区二区| 麻豆三级在线观看| av观看免费在线| 青青青青草视频| 国产成人艳妇aa视频在线| 亚洲精品视频导航| 人妻内射一区二区在线视频| 成人午夜视频免费观看| 一级日本黄色片| 中文字幕网av| 男人的天堂99| 欧美性久久久久| 无码人妻丰满熟妇区96| av在线观看地址| 男的插女的下面视频| 97精品国产97久久久久久粉红| 黄色永久免费网站| 另类小说色综合| www.夜夜爽| 国产无遮挡猛进猛出免费软件| 超碰影院在线观看| 亚洲视频在线a| 天天视频天天爽| 嫩草视频免费在线观看| 黄色a级三级三级三级| 久久久精品视频国产| 亚洲小说欧美另类激情| 国产一区二区三区在线免费| 亚洲精品天堂成人片av在线播放 | 人人干视频在线| 黄色片一级视频| 黄色在线视频网| 国产精品久久久久久久99| 手机在线免费毛片| 日本五级黄色片| 欧美激情国产精品日韩| 日本 片 成人 在线| 婷婷中文字幕在线观看| 粉嫩av一区二区三区天美传媒| 久久综合亚洲精品| 国产原创popny丨九色| 天天干天天干天天干天天干天天干| 久久久国产欧美| 国产手机视频在线观看| 久久国产精品网| 99热这里只有精品在线播放| 国产大尺度在线观看| 亚洲熟妇无码另类久久久| 午夜激情在线观看视频| 日本美女爱爱视频| 无遮挡又爽又刺激的视频| 国产欧美激情视频| 国产伦精品一区二区三区四区视频_ | 中文国产在线观看| 日韩欧美国产综合在线| 污色网站在线观看| 97超碰在线人人| 91小视频在线播放| 日本国产在线播放| 午夜精品免费看| 男人添女人下面高潮视频| 久久精品一卡二卡| 亚洲色图久久久| 欧美在线观看成人| 91制片厂免费观看| 欧美成人福利在线观看| 欧美黑人经典片免费观看 | 欧美性久久久久| www.好吊操| 伊人网在线免费| 欧美丝袜在线观看| a在线观看免费视频| 日本免费黄视频| 国产午夜福利100集发布| 超薄肉色丝袜足j调教99| 成年网站免费在线观看| 99视频精品免费| 国产福利一区视频| 欧美牲交a欧美牲交| 欧美一级视频在线播放| 18视频在线观看娇喘| 午夜啪啪福利视频| 91国在线高清视频| 欧美 国产 精品| 国产黄色激情视频| 国产日韩亚洲欧美在线| 久久这里只有精品23|