# Module Spec：store-user（登录/用户信息/登出/重置）

module:
  id: store-user
  name: User Store（登录/用户信息/登出/重置）
  type: store
  entrypoints:
    - src/store/modules/user.ts

public_api:
  concept:
    - "login/socialLogin：登录并 afterLogin（通知、设置 token）"
    - "getUserInfo：拉取 username/avatar/roles/permissions 并写入 acl"
    - "logout/resetAll：清空 token/acl/routes/tabs 并 resetRouter"

dependency_closure:
  runtime:
    - "api/user：login/getUserInfo/logout/socialLogin"
    - "utils/token：getToken/setToken/removeToken"
    - "config：tokenName"
    - "store：acl/routes/tabs/settings 联动"
    - "router：resetRouter"
    - "plugin-vab：gp.$baseNotify/$baseMessage（提示）"

acceptance:
  - "登录成功后 token 写入并能继续请求"
  - "getUserInfo 后 acl 中 roles/permissions 生效"
  - "logout 后 resetAll 清理完成且路由重置"

pitfalls:
  - "logout 内含 location.reload；迁移到新项目需确认是否保留该行为"
