xuhao
xuhao
  • 发布:2024-01-24 14:35
  • 更新:2024-01-24 14:43
  • 阅读:111

【报Bug】uniCloud.getPhoneNumber获取手机号报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.99

手机系统: Android

手机系统版本号: Android 14

手机厂商: 华为

手机机型: 荣耀v30pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

云函数内容
exports.main = async (event, context) => {
//event为客户端上传的参数
const res = await uniCloud.getPhoneNumber({
appid: 'xxxx', // 替换成自己开通一键登录的应用的DCloud appid,使用callFunction方式调用时可以不传(会自动取当前客户端的appid),如果使用云函数URL化的方式访问必须传此参数
provider: 'univerify',
access_token: event.queryStringParameters.access_token,
openid: event.queryStringParameters.openid
})
// 执行用户信息入库等操作,正常情况下不要把完整手机号返回给前端
// 如果数据库在uniCloud上,可以直接入库
// 如果数据库不在uniCloud上,可以通过 uniCloud.httpclient API,将手机号通过http方式传递给其他服务器的接口,详见:https://uniapp.dcloud.net.cn/uniCloud/cf-functions?id=httpclient
//返回数据给客户端
return {
code: 0,
message: '获取手机号成功',
data: res
}
}

云函数报错日志
请求入参: {
"args": {
"path": "/",
"httpMethod": "POST",
"headers": {
"content-length": "445",
"cookie": "acw_tc=ac11000117060771325737275e05cabce5e3d8872f529952d42f95f981ef57; aliyungf_tc=2095bbff2ee5f6e2dffed5a0c11bb3047e87c238aa8d791550cc9241840af08b",
"postman-token": "50a605dd-ed27-4ece-97bf-0996112d3563",
"x5-uuid": "264aec9df7e46a6009aec04b2c1a3945",
"x-client-ip": "60.24.14.42",
"x-forwarded-for": "60.24.14.42, 118.178.15.147, 39.96.119.203",
"accept": "/",
"x-real-ip": "60.24.14.42",
"x-sinfo": "on",
"host": "fc-mp-eff5c0e6-6cf7-4ca5-abf7-281f6501b2d7.next.bspapp.com",
"content-type": "multipart/form-data; boundary=--------------------------432763011242833951379464",
"x-forwarded-by": "172.28.195.0:80",
"accept-encoding": "gzip, deflate, br",
"user-agent": "PostmanRuntime/7.29.2"
},
"queryStringParameters": {
"access_token": "000gtc_eb45c0a3b2a22d9078770d1fe157245f66",
"openid": "U1RzaWQwMDAwMDAxNzA2MDc3NDUwOTg1bWwyT2VwTDRXOXp6MDAwMG9UcWQ4SHQ4cjl6c05QdTh8fDF8djJ8MXxiZTBiMWZmOWY2MzNmZjcxMThkNmFkMzZhNTY3YmJkMg=="
},
"isBase64Encoded": false,
"body": ""
},
"requestId": "ac1cc3001706077726462159343"
}
[getPhoneNumber/ac1cc3001706077726462159343/970ms/ERROR] Cannot read property 'mobile' of undefined
TypeError: Cannot read property 'mobile' of undefined
at Object.C [as univerify] (/tmp/function/@common_modules/uni-cloud-verify/index.js:1:5295)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:189:7)
请求响应状态: fail

操作步骤:

使用一键登录获取到的access_token、openid提交给云函数

预期结果:

获取到手机号

实际结果:

云函数报错

bug描述:

2024年1月23号还能正常获取手机号,第二天也就是1月24号获取手机号就报错了

2024-01-24 14:35 负责人:无 分享
已邀请:
xuhao

xuhao (作者)

已解决,是我自己的问题access_token 和 openid传反了

要回复问题请先登录注册