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一区二区
日本精品一区在线| 韩国黄色一级大片| 国产原创popny丨九色| av动漫在线播放| 艳母动漫在线观看| 亚洲一区二区三区av无码| 久久久久久人妻一区二区三区| 亚洲成人动漫在线| 冲田杏梨av在线| www.黄色网址.com| 少妇激情一区二区三区| 亚洲男人天堂av在线| av免费观看大全| 五月天av在线播放| 男人日女人下面视频| wwww.国产| 免费拍拍拍网站| 中文字幕av导航| 日韩欧美色视频| 日韩一区二区三区久久| 日本www.色| 天天碰免费视频| 潘金莲一级淫片aaaaa免费看| 91亚洲一区二区| 九色porny自拍| 成年人午夜视频在线观看| 国产精品欧美激情在线观看| 18禁免费观看网站| 欧美黄色免费影院| 99re在线视频免费观看| 777av视频| 国内自拍中文字幕| 国产a级一级片| 日本国产在线播放| 成人性免费视频| 国产高潮呻吟久久久| 男人天堂网站在线| 国产av不卡一区二区| 交换做爰国语对白| 日本77777| 成年人网站国产| 日韩欧美不卡在线| 婷婷激情四射五月天| 亚洲精品午夜在线观看| 色乱码一区二区三区熟女| mm131午夜| www日韩在线观看| 一本色道久久亚洲综合精品蜜桃| 亚洲欧美日韩三级| www.日本在线播放| 欧美一级黄色录像片| 国产毛片视频网站| 无码人妻精品一区二区三区99v| 国产女人18毛片| 免费激情视频在线观看| 在线观看污视频| 不卡的在线视频| 中文字幕第80页| 国产精品一区二区羞羞答答| 日本黄色播放器| 色免费在线视频| 青青草av网站| 免费国产成人av| 成人性做爰aaa片免费看不忠| 成人免费视频91| 男人插女人视频在线观看| av丝袜天堂网| 五月天婷婷在线观看视频| 成年人视频网站免费观看| 给我免费播放片在线观看| 国内自拍中文字幕| 3d动漫一区二区三区| 18禁免费观看网站| 一二三在线视频| 99久久久无码国产精品6| 男女无套免费视频网站动漫| 国产女主播自拍| 亚洲欧洲日产国码无码久久99| 2022中文字幕| 久久人人爽av| 激情综合在线观看| 熟妇熟女乱妇乱女网站| 国产va亚洲va在线va| 奇米777在线视频| 毛片av免费在线观看| aaaaaaaa毛片| 国产午夜伦鲁鲁| 日本一区午夜艳熟免费| 亚洲天堂av线| 日韩视频在线免费看| 久久久久99精品成人片| 亚洲第一页在线视频| 激情五月婷婷久久| 91淫黄看大片| 成人黄色一区二区| 超碰在线播放91| 国产又大又硬又粗| 99精品免费在线观看| 欧美 丝袜 自拍 制服 另类| 国产91porn| 日本一本二本在线观看| 欧美日韩在线一| 欧美精品无码一区二区三区| 成人在线看视频| 日韩欧美亚洲另类| www.久久com| 久久久免费视频网站| 黄色小视频免费网站| 妞干网在线播放| www.天天射.com| 草b视频在线观看| 一本岛在线视频| 777精品久无码人妻蜜桃| 日本va中文字幕| 精品久久久久久无码中文野结衣| 欧美日韩亚洲一| 成人毛片100部免费看| 免费看国产曰批40分钟| 激情视频免费网站| 各处沟厕大尺度偷拍女厕嘘嘘| 亚洲免费看av| 欧美日韩亚洲第一| 国产人妻777人伦精品hd| 99中文字幕在线| 四虎成人在线播放| 欧美婷婷精品激情| 日本a√在线观看| 成人性免费视频| xxxx18hd亚洲hd捆绑| 国产 福利 在线| 日韩中文字幕在线免费| 在线免费观看av网| 手机免费av片| 特级毛片在线免费观看| 日韩精品福利片午夜免费观看| 婷婷激情综合五月天| 欧美午夜精品理论片| 91九色国产ts另类人妖| 三级黄色片播放| 久久成人福利视频| 777米奇影视第四色| 黄色一级片免费的| 成人在线免费高清视频| 国产美女在线一区| 992kp快乐看片永久免费网址| 加勒比av中文字幕| 日韩国产精品毛片| 天天干天天爽天天射| 欧美在线观看黄| 手机在线免费观看毛片| 日韩一二区视频| 四季av一区二区三区| 成人毛片一区二区| av日韩在线看| 波多野结衣网页| 色婷婷一区二区三区av免费看| 91午夜在线观看| 成人小视频在线观看免费| 午夜免费一区二区| 欧美视频第三页| 日韩一级性生活片| 男女私大尺度视频| 丝袜人妻一区二区三区| 公共露出暴露狂另类av| 黄色www在线观看| 三级一区二区三区| 性欧美在线视频| 欧美 日韩 国产精品| 日韩美女爱爱视频| 国产一区亚洲二区三区| 91激情视频在线| 一级全黄肉体裸体全过程| 99精品视频网站| 欧美日韩性生活片| 中文字幕第17页| 中国女人做爰视频| 尤蜜粉嫩av国产一区二区三区| 青青青在线播放| 天天想你在线观看完整版电影免费| 三日本三级少妇三级99| 免费不卡av在线| www.51色.com| 污污视频网站免费观看| 看一级黄色录像| 三日本三级少妇三级99| 北条麻妃av高潮尖叫在线观看| 中文字幕制服丝袜在线| 国产白丝袜美女久久久久| 亚洲第一综合网站| 九色porny91| 久久人人爽av| 中文久久久久久| 欧美性猛交xxx乱久交| 欧美成人xxxxx| 91九色在线观看视频| 91网站在线观看免费| 五月天综合婷婷| 性生活免费观看视频| 国产四区在线观看| 青青草综合在线|