|
|
|
@ -777,17 +777,69 @@ Page({ |
|
|
|
longitude: longitude |
|
|
|
}; |
|
|
|
|
|
|
|
// 构造上传的数据,包含authorized_region字段
|
|
|
|
const userInfo = { |
|
|
|
// 构造上传的数据,包含authorized_region字段和必要的phoneNumber
|
|
|
|
let userInfo = { |
|
|
|
authorized_region: JSON.stringify(locationData) // 将位置数据转换为JSON字符串存储
|
|
|
|
}; |
|
|
|
|
|
|
|
// 确保包含phoneNumber字段(服务器接口要求)
|
|
|
|
let phoneNumber = wx.getStorageSync('phoneNumber'); |
|
|
|
if (!phoneNumber) { |
|
|
|
// 尝试从用户信息中获取phoneNumber
|
|
|
|
const globalUserInfo = wx.getStorageSync('userInfo'); |
|
|
|
phoneNumber = globalUserInfo?.phoneNumber; |
|
|
|
} |
|
|
|
|
|
|
|
// 如果找到phoneNumber,添加到上传数据中
|
|
|
|
if (phoneNumber) { |
|
|
|
userInfo.phoneNumber = phoneNumber; |
|
|
|
} else { |
|
|
|
console.warn('位置上传警告: 未找到phoneNumber,可能导致上传失败'); |
|
|
|
} |
|
|
|
|
|
|
|
// 检查openid是否存在
|
|
|
|
let openid = wx.getStorageSync('openid'); |
|
|
|
if (!openid) { |
|
|
|
// 尝试从用户信息中获取openid
|
|
|
|
const globalUserInfo = wx.getStorageSync('userInfo'); |
|
|
|
openid = globalUserInfo?.openid; |
|
|
|
} |
|
|
|
|
|
|
|
// 确保openid存在
|
|
|
|
if (!openid) { |
|
|
|
console.error('位置上传失败: 未找到openid'); |
|
|
|
wx.showToast({ |
|
|
|
title: '位置上传失败,请先登录', |
|
|
|
icon: 'none', |
|
|
|
duration: 2000 |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
console.log('位置上传前检查openid:', openid); |
|
|
|
console.log('准备上传的位置数据:', userInfo); |
|
|
|
|
|
|
|
// 调用API上传位置数据
|
|
|
|
const api = require('../../utils/api.js'); |
|
|
|
api.uploadUserInfo(userInfo).then(res => { |
|
|
|
api.uploadUserInfo({ |
|
|
|
...userInfo, |
|
|
|
openid: openid // 明确传递openid
|
|
|
|
}).then(res => { |
|
|
|
console.log('位置数据上传成功:', res); |
|
|
|
// 显示上传成功提示
|
|
|
|
wx.showToast({ |
|
|
|
title: '位置更新成功', |
|
|
|
icon: 'success', |
|
|
|
duration: 1500 |
|
|
|
}); |
|
|
|
}).catch(err => { |
|
|
|
console.error('位置数据上传失败:', err); |
|
|
|
// 显示上传失败提示
|
|
|
|
wx.showToast({ |
|
|
|
title: '位置上传失败', |
|
|
|
icon: 'none', |
|
|
|
duration: 2000 |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
fail() { |
|
|
|
|