ProfilePage 用户中心
基于 uniboot-ui 的 UAvatar 与用户中心布局封装的 个人资料页:渐变背景 + 居中内容区、左上角返回、左侧 头像 / 昵称 / 角色标签 / 垂直菜单,右侧为 #panel(或按菜单 key 的 #panel-${key})渲染的业务内容。布局与交互对齐 uniboot-web-template 用户中心(views/user-center 一类页面)的常见形态。
基础用法
传入 menus、nickName、roleNames 与 avatar-src;右侧用 #panel 接收 active-key,在插槽内按 key 切换模块(或使用 #panel-info / #panel-security 等具名插槽分别挂载)。v-model:active-key 与左侧菜单同步;onBack / back 处理返回。
以下为静态示例,无真实接口。
基本信息
账号Admin
昵称Chuck
性别女
生日2010-07-28
登录信息
上次登录 IP222.180.149.94
上次登录时间2024-11-21 16:01:10
ProfilePage 属性
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| fullPage | 是否使用整页渐变背景与内边距;文档内嵌可设为 false | boolean | true |
| background | 外层背景(CSS background) | string | 与模板工程用户中心一致的蓝紫渐变 |
| centerMaxWidth | 主区域最大宽度 | string | 960px |
| sidebarWidth | 左侧栏宽度(px) | number | 277 |
| avatarSrc | 头像地址 | string | '' |
| avatarSize | 头像尺寸(px,同 UAvatar 数字 size) | number | 92 |
| nickName | 昵称 | string | '' |
| roleNames | 角色名列表,展示为左侧主色描边标签 | array | [] |
| menus | 左侧菜单项({ key, title }) | array | — |
| showBack | 是否显示返回按钮(可用 #back 完全自定义) | boolean | true |
| onBack | 点击返回时调用,先于 back 事件 | function | — |
双向绑定
| 名称 | 说明 |
|---|---|
| active-key | 当前选中的菜单 key |
事件
| 名称 | 说明 |
|---|---|
| back | 点击默认返回按钮时 |
| menu-change | 左侧菜单切换为新 key |
插槽
| 名称 | 说明 |
|---|---|
| back | 替换左上角返回区域 |
| avatar | 替换头像 |
| nickname | 替换昵称文案 |
| roles | 替换角色标签区域 |
| sidebar-extra | 左侧菜单下方附加区域 |
| panel | 右侧主内容;作用域参数 active-key |
| panel-$ | 按菜单 key 拆分右侧内容(优先级高于 panel 默认内容) |
整页最小高度为 calc(100vh - var(--upro-profile-navbar-height, 0px)),可与顶栏高度对齐:在页面根节点设置 --upro-profile-navbar-height(例如与 --navbar-height 一致)。
源码位于 packages/components 仓库的 profile-page。