优化 VIP 会员加载逻辑,支持无头像用户展示,增加错误处理和日志记录。更新 VIP 相关接口,确保用户状态查询和资料更新功能正常,新增 VIP 资料字段以提升用户体验。
This commit is contained in:
@@ -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 }))
|
||||
|
||||
Reference in New Issue
Block a user