diff --git a/backend/src/modules/admin/admin.controller.ts b/backend/src/modules/admin/admin.controller.ts index 0100a51..b231348 100644 --- a/backend/src/modules/admin/admin.controller.ts +++ b/backend/src/modules/admin/admin.controller.ts @@ -86,6 +86,7 @@ export class AdminController { { phone: { $regex: escaped, $options: 'i' } }, { nickname: { $regex: escaped, $options: 'i' } }, { email: { $regex: escaped, $options: 'i' } }, + { wxOpenid: { $regex: escaped, $options: 'i' } }, ] // 支持按 MongoDB _id 搜索(24位 hex) if (/^[0-9a-f]{24}$/i.test(keyword)) { @@ -250,7 +251,7 @@ export class AdminController { @Get('admins') async getAdmins() { - const admins = await this.userModel.find({ role: 'admin' }).select('phone nickname email createdAt isSystemAdmin').lean().exec() + const admins = await this.userModel.find({ role: 'admin' }).select('phone nickname email wxOpenid gravity plan role createdAt isSystemAdmin').lean().exec() return { admins } } diff --git a/zhiyin-app/src/pages/admin/admin.vue b/zhiyin-app/src/pages/admin/admin.vue index 3e41feb..f6c49f4 100644 --- a/zhiyin-app/src/pages/admin/admin.vue +++ b/zhiyin-app/src/pages/admin/admin.vue @@ -491,23 +491,53 @@ 当前管理员 - - {{ a.phone || '--' }} - {{ a.nickname || '--' }} - {{ a.email }} - 系统 - 设置:{{ a.createdAt?.slice(0,10) }} + + + {{ a.phone || '--' }} + {{ a.nickname || '--' }} + 管理 + 系统 + + + + openid:{{ a.wxOpenid.slice(0,12) }}.. + + + ID: {{ a._id }} + + + 引力:{{ a.gravity ?? 0 }} + {{ a.plan === 'growth' || a.plan === 'sprint' ? a.plan==='sprint'?'冲刺':'会员' : '免费' }} + + + 设置:{{ a.createdAt?.slice(0,16).replace('T',' ') }} + 暂无管理员 - 搜索结果 + 搜索结果 - - {{ searchResult.phone || '--' }} - {{ searchResult.nickname || '--' }} - {{ searchResult.email }} - 设为管理员 - 已是管理员 + + + {{ searchResult.phone || '--' }} + {{ searchResult.nickname || '--' }} + 管理 + + + + openid:{{ searchResult.wxOpenid.slice(0,12) }}.. + + + ID: {{ searchResult._id }} + + + 引力:{{ searchResult.gravity ?? 0 }} + {{ searchResult.plan === 'growth' || searchResult.plan === 'sprint' ? searchResult.plan==='sprint'?'冲刺':'会员' : '免费' }} + + @@ -1090,9 +1120,6 @@ onMounted(() => { doVerify() }) .iv-tag.score { background: #EEF2FF; color: var(--color-primary); } .iv-tag.filler { background: #FFF7ED; color: #D97706; } .section-label { font-size: 24rpx; font-weight: 600; color: var(--color-text); margin-bottom: 12rpx; margin-top: 12rpx; } -.admin-row { background: #FFF; padding: 20rpx; border-radius: var(--radius-sm); margin-bottom: 8rpx; display: flex; flex-wrap: wrap; gap: 8rpx; align-items: center; } -.admin-phone { font-size: 24rpx; font-weight: 600; color: var(--color-text); } -.admin-name { font-size: 22rpx; color: var(--color-text-secondary); flex: 1; } .admin-set-btn { font-size: 22rpx; color: var(--color-primary); padding: 4rpx 16rpx; border: 2rpx solid var(--color-primary); border-radius: var(--radius-round); } .admin-set-btn.done { color: var(--color-success); border-color: var(--color-success); } .admin-badge { font-size: 18rpx; background: var(--color-primary); color: #FFF; padding: 2rpx 10rpx; border-radius: var(--radius-round); }