V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
chaleaoch
V2EX  ›  程序员

前端如何获取当前用户名和其他用户信息 需要一个 单独的 api 吗

  •  
  •   chaleaoch · Jun 18, 2021 · 2310 views
    This topic created in 1776 days ago, the information mentioned may be changed or developed.
    如果不需要如何实现,假设用 react.
    Supplement 1  ·  Jun 18, 2021
    结论是单独的接口实现.

    结贴.

    感谢各位大佬.
    chaleaoch
        1
    chaleaoch  
    OP
       Jun 18, 2021
    登录成功之后会返回当前用户信息.

    但是切到别的 component 或者关掉浏览器之后在打开. 前端如何处理呢?

    session 是有效的,但是前端不知道当前用户是谁了.

    local storage?
    wotemelon
        2
    wotemelon  
       Jun 18, 2021   ❤️ 1
    需要一个获取用户信息的接口。如果是 ssr 更好,直接写到 store
    Vegetable
        3
    Vegetable  
       Jun 18, 2021   ❤️ 1
    常见的系统设计中,一般是以下 3 个情况

    - 登录返回信息
    - 登录不返回+独立获取信息接口
    - 登录返回+独立获取信息接口

    前端通常会将用户的信息持久化到本地,方案如 cookie 或者 local storage,至少也是使用 redux 之类的工具在内存里留一份,避免需要的时候只能再次请求接口
    keepeye
        4
    keepeye  
       Jun 18, 2021   ❤️ 1
    GET /profile
    keepeye
        5
    keepeye  
       Jun 18, 2021   ❤️ 1
    一般是需要一个单独的接口的,登录返回的不靠谱,万一数据变了呢?
    chenluo0429
        6
    chenluo0429  
       Jun 18, 2021   ❤️ 1
    用户信息肯定需要提供查询接口的,如果用户信息是静态不变的情况下,可以合并给登录接口来返回,但是只要用户信息可变动,那就一定需要独立的查询接口。
    chaleaoch
        7
    chaleaoch  
    OP
       Jun 18, 2021
    @chenluo0429
    @keepeye
    @keepeye
    @Vegetable
    @wotemelon

    谢谢大佬们的热心解答.
    Rocketer
        8
    Rocketer  
       Jun 18, 2021 via iPhone
    jwt 里直接读就好啊
    liyang5945
        9
    liyang5945  
       Jun 18, 2021
    前端存储 token 到 cookie 或 local storage 里,用这个 cookie 调一个接口获取用户信息,保存到 store 里,这样切到别的 component 或者关掉浏览器之后再打开也没问题了
    leven87
        10
    leven87  
       Jun 18, 2021
    以上大佬说的都对
    samin
        11
    samin  
       Jun 18, 2021
    JWT 了解一下
    skypyb
        12
    skypyb  
       Jun 18, 2021
    按照楼上几位的说法, 要是用户的权限在关闭浏览器时变动了。再次打开浏览器直接拿 localStore 里的信息就有问题了吧。

    我还是倾向于每次打开都要去请求一下
    lybcyd
        13
    lybcyd  
       Jun 18, 2021
    我习惯用单独接口,每次打开页面请求一下。单独的接口合理一点,因为不一定能保证当前用户和登录时返回的信息一致。
    IvanLi127
        14
    IvanLi127  
       Jun 18, 2021 via Android
    倾向于从接口拿 。除了是小玩具或者登录不登录区别的大的网页。毕竟这个接口还承担着踢用户下线的功能呐
    walpurgis
        15
    walpurgis  
       Jun 18, 2021 via Android
    功能独立较好,方便复用,登录只返回 token
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5420 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 09:03 · PVG 17:03 · LAX 02:03 · JFK 05:03
    ♥ Do have faith in what you're doing.