下面是代码,获取不到,有没有又类似经验大大佬看下,是否支持在H5页面获取微信用户的手机号,有没有类似的代码或给看下下面的代码
// 初始化微信 JS-SDK
async function initWechatJSAPI() {
try {
const data = await getWechatSignature({ url: window.location.href.split('#')[0] })
if (!data) {
console.error('获取微信签名数据为空')
ElMessage.error('获取微信签名数据失败,请刷新重试')
}
console.error('获取微信签名数据为空',data)
ElMessage.error('获取微信签名数据成功1',data)
ElMessage.error('获取微信签名数据成功2',data.appId+data.timestamp+data.nonceStr+data.signature)
wx.config({
debug: false, // 关闭调试模式
appId: data.appId, // 公众号的唯一标识
timestamp: data.timestamp, // 生成签名的时间戳
nonceStr: data.nonceStr, // 生成签名的随机串
signature: data.signature, // 签名
jsApiList: ['getPhoneNumber'], // 需要使用的JS接口列表
})
return new Promise((resolve, reject) => {
wx.ready(() => {
console.log('微信JS-SDK初始化成功')
ElMessage.info('微信JS-SDK初始化成功')
resolve() // 初始化成功,resolve
})
wx.error((err) => {
console.error('微信JS-SDK初始化失败', err)
ElMessage.error('初始化微信JS-SDK失败,请刷新重试1', err)
reject(err) // 初始化失败,reject
})
})
} catch (error) {
console.error('初始化微信 JS-SDK 失败:', error)
ElMessage.error('初始化微信JS-SDK失败,请刷新重试2', err)
throw error // 抛出错误,便于上层捕获
}
}
// 获取用户手机号
async function getWechatPhoneNumber() {
try {
await initWechatJSAPI() // 确保微信JS-SDK初始化成功
return new Promise((resolve, reject) => {
ElMessage.error('获取用户手机号1')
wx.getPhoneNumber({
success: async (res) => {
ElMessage.error('获取用户手机号2', res)
const { encryptedData, iv } = res
try {
const { phoneNumber } = await decryptPhoneNumber({ encryptedData, iv })
ElMessage.error('获取用户手机号3', res)
resolve(phoneNumber)
} catch (error) {
console.error('解密手机号失败1:', error)
ElMessage.error('解密手机号失败,请重试1', error)
reject(error)
}
},
fail: (err) => {
console.error('获取手机号权限失败:', err)
ElMessage.warning('获取手机号失败,请检查授权', err)
reject(err)
},
})
})
} catch (error) {
console.error('获取手机号失败2:', error)
ElMessage.error('获取手机号失败,请刷新重试2', error)
}
}

哪个误人子弟的AI回答的代码啊。你用vue4、vue5都不行,h5没有获取手机号的api
都没有在h5页面获取用户手机号的接口啊。你这代码又是从ai那里抄过来的?
没有这样的接口,不支持。