优化 VIP 会员加载逻辑,支持无头像用户展示,增加错误处理和日志记录。更新 VIP 相关接口,确保用户状态查询和资料更新功能正常,新增 VIP 资料字段以提升用户体验。

This commit is contained in:
Alex-larget
2026-02-26 14:26:31 +08:00
parent 548cf4229c
commit f5ee93dd84
123 changed files with 19484 additions and 85 deletions

View File

@@ -120,24 +120,32 @@ Page({
async loadSuperMembers() {
try {
// 优先加载VIP会员
// 优先加载 VIP 会员(购买 1980 fullbook/vip 订单的用户)
let members = []
try {
const res = await app.request({ url: '/api/miniprogram/vip/members', silent: true })
if (res && res.success && res.data) {
members = res.data.filter(u => u.avatar || u.vip_avatar).slice(0, 4).map(u => ({
id: u.id, name: u.vip_name || u.nickname || '会员',
avatar: u.vip_avatar || u.avatar, isVip: true
// 不再过滤无头像用户,无头像时用首字母展示
members = (Array.isArray(res.data) ? res.data : []).slice(0, 4).map(u => ({
id: u.id,
name: u.vip_name || u.nickname || '会员',
avatar: u.vip_avatar || u.avatar || '',
isVip: true
}))
if (members.length > 0) {
console.log('[Index] 超级个体加载成功:', members.length, '人')
}
}
} catch (e) {}
// 不足4个则用有头像的普通用户补充
} catch (e) {
console.log('[Index] vip/members 请求失败:', e)
}
// 不足 4 个则用有头像的普通用户补充
if (members.length < 4) {
try {
const dbRes = await app.request({ url: '/api/miniprogram/users?limit=20', silent: true })
if (dbRes && dbRes.success && dbRes.data) {
const existIds = new Set(members.map(m => m.id))
const extra = dbRes.data
const extra = (Array.isArray(dbRes.data) ? dbRes.data : [])
.filter(u => u.avatar && u.nickname && !existIds.has(u.id))
.slice(0, 4 - members.length)
.map(u => ({ id: u.id, name: u.nickname, avatar: u.avatar, isVip: u.is_vip === 1 }))