fix:对接高德地图,修复地图bug

This commit is contained in:
2025-12-23 10:39:41 +08:00
parent d12986b85e
commit 76bdcd1aba
20 changed files with 964 additions and 399 deletions
+27 -55
View File
@@ -9,7 +9,7 @@
<view class="nickname">{{ userInfo.nickName || $t('user.clickToLogin') }}</view>
<view class="subtext">{{ userInfo.phone ? maskPhone(userInfo.phone) : $t('user.loginPrompt') }}</view>
</view>
<uv-icon type="right" size="16" color="#999"></uv-icon>
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
</view>
@@ -113,7 +113,7 @@
<u-popup ref="authPopup" mode="center" border-radius="15" width="600rpx" @open="onPopupOpen" @close="onPopupClose">
<view class="auth-popup">
<view class="auth-title">授权登录</view>
<view class="auth-desc">获取您的微信头像、昵称等公开信息</view>
<view class="auth-desc">获取您的支付宝头像、昵称等公开信息</view>
<view class="auth-buttons">
<button class="cancel-btn" @click="closeAuthPopup">取消</button>
<button class="confirm-btn" @click="getUserProfile">确定</button>
@@ -135,7 +135,7 @@
} from '@dcloudio/uni-app';
import {
wxLogin,
alipayLogin,
getUserInfo
} from '../../util/index.js';
import {
@@ -184,7 +184,7 @@ import {
'Content-Language': languageCode
},
data: {
appPlatform: 'wechat', // 微信平台
appPlatform: 'alipay', // 支付宝平台
appType: 'user' // 用户端
}
})
@@ -267,11 +267,12 @@ import {
// 初始化应用版本号(多端兼容,取可用信息)
const initVersion = () => {
// #ifdef MP-WEIXIN
// #ifdef MP-ALIPAY
try {
const info = wx.getAccountInfoSync && wx.getAccountInfoSync();
if (info && info.miniProgram && info.miniProgram.version) {
appVersion.value = info.miniProgram.version;
// 支付宝小程序获取版本号
const systemInfo = uni.getSystemInfoSync();
if (systemInfo && systemInfo.version) {
appVersion.value = systemInfo.version;
}
} catch (e) {}
// #endif
@@ -368,12 +369,13 @@ import {
redirectToLogin()
return
}
// #ifdef MP-WEIXIN
getUserProfile()
// #ifdef MP-ALIPAY
// 支付宝小程序通过页面跳转处理用户资料
navigateTo('/pages/userProfile/index')
// #endif
// #ifndef MP-WEIXIN
// #ifndef MP-ALIPAY
uni.showToast({
title: $t('auth.pleaseUseInWechat'),
title: $t('auth.pleaseUseInAlipay'),
icon: 'none'
})
// #endif
@@ -446,65 +448,35 @@ import {
// 这里可以添加弹窗关闭后的逻辑
};
// 获取微信用户个人信息
// 获取支付宝用户个人信息(已废弃,使用页面跳转方式)
const getUserProfile = () => {
// #ifdef MP-WEIXIN
uni.showLoading({
title: $t('common.getting'),
mask: true
});
wx.getUserProfile({
desc: '用于完善会员资料',
success: (res) => {
console.log('获取用户信息成功:', res);
updateUserInfo(res.userInfo);
uploadAvatarAndRefresh(res.userInfo);
},
fail: (err) => {
console.error('获取用户信息失败:', err);
uni.showToast({
title: '获取用户信息失败',
icon: 'none'
});
},
complete: () => {
uni.hideLoading();
closeAuthPopup();
}
});
// #ifdef MP-ALIPAY
// 支付宝小程序通过页面跳转处理用户资料
navigateTo('/pages/userProfile/index')
// #endif
// #ifndef MP-WEIXIN
// #ifndef MP-ALIPAY
uni.showToast({
title: $t('auth.pleaseUseInWechat'),
title: $t('auth.pleaseUseInAlipay'),
icon: 'none'
});
closeAuthPopup();
// #endif
};
// 更新用户信息
const updateUserInfo = async (wxUserInfo) => {
// 更新用户信息(支付宝小程序通过页面跳转处理)
const updateUserInfo = async (alipayUserInfo) => {
try {
// 更新本地用户信息
const updatedInfo = {
...userInfo.value,
nickName: wxUserInfo.nickName,
avatar: wxUserInfo.avatarUrl
nickName: alipayUserInfo.nickName,
avatar: alipayUserInfo.avatarUrl
};
userInfo.value = updatedInfo;
uni.setStorageSync('userInfo', updatedInfo);
// 这里可以添加调用后端API更新用户信息的代码
// const updateRes = await updateUserInfoApi({
// openId: openId.value,
// nickName: wxUserInfo.nickName,
// avatarUrl: wxUserInfo.avatarUrl,
// gender: wxUserInfo.gender
// });
uni.showToast({
title: $t('user.updateSuccess'),
icon: 'success'
@@ -522,9 +494,9 @@ import {
};
// 下载并上传头像,更新用户信息
const uploadAvatarAndRefresh = async (wxUserInfo) => {
const uploadAvatarAndRefresh = async (alipayUserInfo) => {
try {
const avatarUrl = wxUserInfo?.avatarUrl
const avatarUrl = alipayUserInfo?.avatarUrl
if (!avatarUrl) {
uni.showToast({
title: '未获取到头像地址',
@@ -532,7 +504,7 @@ import {
})
return
}
// 下载微信头像为本地临时文件
// 下载支付宝头像为本地临时文件
const tempFilePath = await new Promise((resolve, reject) => {
uni.downloadFile({
url: avatarUrl,