From ebe0467c482755b4c2b6749462e5002fe27a44ae Mon Sep 17 00:00:00 2001 From: Default User Date: Wed, 28 Jan 2026 16:38:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A4=B4=E5=83=8FURL?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E9=97=AE=E9=A2=98=EF=BC=9A=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?processAvatarUrl=E6=96=B9=E6=B3=95=EF=BC=8C=E7=A1=AE=E4=BF=9D?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E8=A7=A3=E6=9E=90=E5=AD=98=E5=82=A8=E4=B8=BA?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E5=BD=A2=E5=BC=8F=E7=9A=84OSS=20URL=E5=A4=B4?= =?UTF-8?q?=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/profile/index.js | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/pages/profile/index.js b/pages/profile/index.js index 5f76728..43fe239 100644 --- a/pages/profile/index.js +++ b/pages/profile/index.js @@ -55,6 +55,37 @@ Page({ return phoneStr.substring(0, 3) + '****' + phoneStr.substring(7) }, + // 处理头像URL,确保正确解析数组形式的OSS URL + processAvatarUrl(avatarUrl) { + if (!avatarUrl) { + return 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'; + } + + // 如果是字符串,尝试解析为JSON数组 + if (typeof avatarUrl === 'string') { + try { + const parsedUrl = JSON.parse(avatarUrl); + // 如果解析成功且是数组且不为空,使用第一个元素 + if (Array.isArray(parsedUrl) && parsedUrl.length > 0) { + return parsedUrl[0]; + } + // 如果解析成功但不是数组,直接返回 + return avatarUrl; + } catch (e) { + // 解析失败,直接返回 + return avatarUrl; + } + } + + // 如果是数组且不为空,使用第一个元素 + if (Array.isArray(avatarUrl) && avatarUrl.length > 0) { + return avatarUrl[0]; + } + + // 其他情况返回默认头像 + return 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'; + }, + // 加载用户信息 loadUserInfo() { console.log('开始加载用户信息') @@ -64,10 +95,14 @@ Page({ const localUserInfo = wx.getStorageSync('userInfo') || {} if (app.globalData.userInfo) { const userInfo = { ...app.globalData.userInfo } + // 处理头像URL + userInfo.avatarUrl = this.processAvatarUrl(userInfo.avatarUrl); userInfo.hiddenPhoneNumber = this.hidePhoneNumber(userInfo.phoneNumber) this.setData({ userInfo }) } else { const userInfo = { ...localUserInfo } + // 处理头像URL + userInfo.avatarUrl = this.processAvatarUrl(userInfo.avatarUrl); userInfo.hiddenPhoneNumber = this.hidePhoneNumber(userInfo.phoneNumber) app.globalData.userInfo = userInfo this.setData({ @@ -199,6 +234,9 @@ Page({ ...serverUserInfo } + // 处理头像URL + updatedUserInfo.avatarUrl = this.processAvatarUrl(updatedUserInfo.avatarUrl); + // 添加隐藏的电话号码 updatedUserInfo.hiddenPhoneNumber = this.hidePhoneNumber(updatedUserInfo.phoneNumber) @@ -232,6 +270,9 @@ Page({ ...serverUserInfo } + // 处理头像URL + updatedUserInfo.avatarUrl = this.processAvatarUrl(updatedUserInfo.avatarUrl); + // 添加隐藏的电话号码 updatedUserInfo.hiddenPhoneNumber = this.hidePhoneNumber(updatedUserInfo.phoneNumber)