nuxt3 怎么把从数据库(redis)查询的用户数据发送给客户端?

作者站长头像
站长
· 阅读数 31

业务场景:

  1. 用户在界面上输入用户名和密码;
  2. server端做权限验证,然后把用户数据存入redis;
  3. server端,把用户关键信息jwt写入cookie,(jwt解码后是:{ userid: 1 },之后可以通过userid从redis查用户数据);
  4. 之后每次加载页面,能把用户数据传到客户端页面html;(SSR)

我想像掘金的那样,但是不知道他是怎么做的。(存储在 --NUXT-- 里)

我现在用的是最笨的方法,通过服务端插件重写html,这样在在前端还要处理一次,没有做到前后端状态共享:nuxt3 怎么把从数据库(redis)查询的用户数据发送给客户端?nuxt3 怎么把从数据库(redis)查询的用户数据发送给客户端?

麻烦大佬们看下,愿意v100

回复
1个回答
avatar
test
2024-06-19

我不理解,为什么不认真看文档呢……

  1. 用户的数据写入 cookie 后,发起请求时会携带
  2. 所以 SSR 的时候你能拿到 cookie 和 header
  3. 但是因为可能涉及用户隐私数据,所以从 SSR 里发起的请求默认不会携带用户的 header 和 cookie,你需要自己处理
  4. 通过 useRequestHeaderuseCookie 你就可以拿到这些数据
  5. 然后放到请求里即可
  6. 至于 SSR 你直接用 useAsyncData 或者 useFetch 就好
  7. 之后 Nuxt 会帮你把数据发到前端,你就当它们存在,直接使用就好。
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容