# 2026-06-04 ## user/index.vue - 人脸列多图片展示 - 将人脸列从单张 `image-preview` 改为多张 `el-image` 缩略图布局 - 新增 `faceUrls()` 工具函数,将逗号分隔的 `faceAddr` 拆分为数组 - 每张缩略图 40x40,flex 横排,gap 4px - 通过 `preview-src-list` + `initial-index` 实现点击任意一张可轮播预览全部 - 添加 hover 放大动效和图片加载失败的占位 icon ## user/index.vue - 用户账号列展示优化 - "用户账号"列改为优先展示手机号、其次邮箱、最后 userName 的降级逻辑 - 模板表达式:`phonenumber || email || userName || '-'` ## user/index.vue - 仿 sysuser 添加重置密码 - API: `d:\code\plus-ui\src\api\app\user\index.ts` 新增 `resetUserPwd(userId, password)` → `PUT /app/user/resetPwd` - View: 操作列新增"重置密码"按钮(Key 图标),权限 `app:user:resetPwd` - `handleResetPwd`: ElMessageBox.prompt 弹窗输入新密码,校验 5-20 位、禁非法字符 `<>"'|\` - 成功提示包含新密码明文 ## user/index.vue - 账号状态改为 el-switch 开关 - API: `d:\code\plus-ui\src\api\app\user\index.ts` 新增 `changeUserStatus(userId, status)` → `PUT /app/user/changeStatus` - 状态列从纯文本改为 `el-switch`,`active-value="0"`(启用)、`inactive-value="1"`(停用) - `handleStatusChange`: 切换前弹确认框,操作失败时回滚开关状态 ## message/index.vue - 视频地址改为在线播放 - 视频地址列从纯文本改为"播放"按钮(`VideoPlay` 图标 + 点击触发 `handlePlayVideo`) - 新增视频播放弹窗:`