feat: add app management pages
This commit is contained in:
45
src/views/app/.workbuddy/memory/2026-06-04.md
Normal file
45
src/views/app/.workbuddy/memory/2026-06-04.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 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`)
|
||||
- 新增视频播放弹窗:`<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`
|
||||
- 操作失败时自动回滚开关状态
|
||||
|
||||
Reference in New Issue
Block a user