feat: add app management pages

This commit is contained in:
yuhaiming
2026-07-01 10:18:30 +08:00
parent 6bc3c618fe
commit f5dc2e2c3a
32 changed files with 3981 additions and 182 deletions

View File

@@ -0,0 +1,45 @@
# 2026-06-04
## user/index.vue - 人脸列多图片展示
- 将人脸列从单张 `image-preview` 改为多张 `el-image` 缩略图布局
- 新增 `faceUrls()` 工具函数,将逗号分隔的 `faceAddr` 拆分为数组
- 每张缩略图 40x40flex 横排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`
- 新增视频播放弹窗:`<video>` 标签 + `controls` + `autoplay`,宽度 100%,最大高度 60vh
- `videoDialog`: `{ visible: boolean; url: string }`,关闭弹窗时清空 url
- 无视频时显示 `-`
## message/index.vue - 视频地址改为在线播放ZLMediaKit HTTP-FLV
- 安装 `xgplayer` + `xgplayer-flv` 依赖npm install --save
- 视频地址列从纯文本改为"播放"按钮(`VideoPlay` 图标)
- 点击按钮弹出视频播放弹窗720px 宽),内嵌 xgplayer 实例
- `initPlayer(url)`: 创建 xgplayer配置 `flv.mediaDataSource.isLive=true``type=flv`
- `destroyPlayer()`: 弹窗关闭时销毁播放器,防止内存泄漏
- `nextTick` 延迟初始化确保 DOM 渲染完毕
- 播放器容器 CSS: 60vh 高度、黑色背景、圆角、overflow hidden
## family/index.vue - 状态改为 el-switch 开关
- API: `d:\code\plus-ui\src\api\app\family\index.ts` 新增 `changeFamilyStatus(id, status)``PUT /app/family/changeStatus`
- 移除重复的纯文本"账号状态"列,保留 el-switch 列
- `handleStatusChange`: 修复从错误引用(`phonenumber/email/userName``changeUserStatus`)改为 FamilyVO 字段(`parentName/id`)和 `changeFamilyStatus`
- 操作失败时自动回滚开关状态