Browse Source

修复头像URL解析问题:添加processAvatarUrl方法,确保正确解析存储为数组形式的OSS URL头像

pull/18/head
Default User 1 month ago
parent
commit
ebe0467c48
  1. 41
      pages/profile/index.js

41
pages/profile/index.js

@ -55,6 +55,37 @@ Page({
return phoneStr.substring(0, 3) + '****' + phoneStr.substring(7) 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() { loadUserInfo() {
console.log('开始加载用户信息') console.log('开始加载用户信息')
@ -64,10 +95,14 @@ Page({
const localUserInfo = wx.getStorageSync('userInfo') || {} const localUserInfo = wx.getStorageSync('userInfo') || {}
if (app.globalData.userInfo) { if (app.globalData.userInfo) {
const userInfo = { ...app.globalData.userInfo } const userInfo = { ...app.globalData.userInfo }
// 处理头像URL
userInfo.avatarUrl = this.processAvatarUrl(userInfo.avatarUrl);
userInfo.hiddenPhoneNumber = this.hidePhoneNumber(userInfo.phoneNumber) userInfo.hiddenPhoneNumber = this.hidePhoneNumber(userInfo.phoneNumber)
this.setData({ userInfo }) this.setData({ userInfo })
} else { } else {
const userInfo = { ...localUserInfo } const userInfo = { ...localUserInfo }
// 处理头像URL
userInfo.avatarUrl = this.processAvatarUrl(userInfo.avatarUrl);
userInfo.hiddenPhoneNumber = this.hidePhoneNumber(userInfo.phoneNumber) userInfo.hiddenPhoneNumber = this.hidePhoneNumber(userInfo.phoneNumber)
app.globalData.userInfo = userInfo app.globalData.userInfo = userInfo
this.setData({ this.setData({
@ -199,6 +234,9 @@ Page({
...serverUserInfo ...serverUserInfo
} }
// 处理头像URL
updatedUserInfo.avatarUrl = this.processAvatarUrl(updatedUserInfo.avatarUrl);
// 添加隐藏的电话号码 // 添加隐藏的电话号码
updatedUserInfo.hiddenPhoneNumber = this.hidePhoneNumber(updatedUserInfo.phoneNumber) updatedUserInfo.hiddenPhoneNumber = this.hidePhoneNumber(updatedUserInfo.phoneNumber)
@ -232,6 +270,9 @@ Page({
...serverUserInfo ...serverUserInfo
} }
// 处理头像URL
updatedUserInfo.avatarUrl = this.processAvatarUrl(updatedUserInfo.avatarUrl);
// 添加隐藏的电话号码 // 添加隐藏的电话号码
updatedUserInfo.hiddenPhoneNumber = this.hidePhoneNumber(updatedUserInfo.phoneNumber) updatedUserInfo.hiddenPhoneNumber = this.hidePhoneNumber(updatedUserInfo.phoneNumber)

Loading…
Cancel
Save