# 2026-07-03

## 用户页面新增角色展示
- 在 `src/pages/user/user.tsx` 用户信息卡片中新增当前登录用户的系统角色展示
- 通过 `listUserRole` API (`GET /system/user-role?userId=xxx`) 获取用户角色列表
- 角色以蓝色圆角徽章形式展示在昵称下方，与会员等级徽章并排
- 支持多角色展示（flex-wrap），支持下拉刷新同步更新
- 登录/退出/API失败等边界情况均已处理

## 个人信息页新增门店名称和门店地址展示
- 在 `src/pages/user/profile.tsx` 中新增两个只读字段：门店名称、门店地址
- 通过 `getMyStore()` API (`GET /shop/shop-store/my-store`) 获取当前用户关联的门店信息
- 在页面挂载时（user 可用后）异步加载，无门店关联时显示"暂无"
- 门店名称存储到 `sys_user.merchantName`，门店地址存储到 `sys_user.address`
- 门店地址改为普通 Input 手输（与门店名称一致）

## 用户信息卡片绿色渐变背景
- user.tsx 用户信息卡片改为绿色渐变背景 (#15803d → #22c55e → #4ade80)
- 添加装饰光晕效果，头像加白色边框，文字全部白色
- 徽章、数据概览、骨架屏颜色均适配绿色主题

## 新增升级VIP会员功能
- 在 user.tsx 功能菜单中"我的钱包"上方新增"升级VIP会员"入口
- 入口使用金色渐变背景 + "推荐"红色标签，与普通菜单明显区分
- 新建 `src/pages/user/vip-upgrade/index.tsx` 页面
- 页面含绿色渐变顶部、提示卡片、门店名称+门店地址表单、VIP权益预览
- 保存时调用 `addShopDealerApply` API 提交到 `shop_dealer_apply` 表
- `ShopDealerApply` model 新增 `merchantName` 和 `address` 字段
- 提交时设置 `applyType: 10`（需后台审核）、`applyStatus: 10`（待审核）
- 页面加载时检查已有申请记录：待审核/已通过时表单只读，隐藏提交按钮，显示状态提示
- 已在 `app.config.ts` 中注册页面路由
