zipe
zipe
  • 发布:2021-09-29 18:33
  • 更新:2021-09-30 22:30
  • 阅读:1042

【报Bug】 手机一键登录 uniCloud.getPhoneNumber 部分机型 和手机不能调取成功 云函数接收不到参数

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10企业版LTSC 1809

HBuilderX类型: 正式

HBuilderX版本号: 3.2.9

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: 华为

手机机型: nova 2s

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
'use strict';  
// 云函数  
exports.main = async function (event){  
  const res = await uniCloud.getPhoneNumber({  
    appid: '__UNI__3D620F8', // 替换成自己开通一键登录的应用的DCloud appid  
      provider: 'univerify',  
      apiKey: '', // 在开发者中心开通服务并获取apiKey  
      apiSecret: '', // 在开发者中心开通服务并获取apiSecret  
      access_token: event.access_token,  
      openid: event.openid  
  })  
  // 执行入库等操作,正常情况下不要把完整手机号返回给前端  
  return res  
}
uni.login({  
                    provider: 'univerify',  
                    univerifyStyle: {  
                        fullScreen: true,  
                        icon: {  
                            path: "static/img/sys/0409/192.png"  
                        },  
                        authButton: {  
                            normalColor: "#005792",  
                        },  
                        otherLoginButton: {  
                            visible: false  
                        },  
                        buttons: { // 自定义页面下方按钮仅全屏模式生效(3.1.14+ 版本支持)  
                            iconWidth: "80px", // 图标宽度(高度等比例缩放) 默认值:45px  
                            list: [{  
                                provider: "other",  
                                iconPath: "/static/img/other-login.png" // 图标路径仅支持本地图片  
                            }, ]  
                        }  
                    },  
                    success: (res) => {  
                        let {  
                            access_token,  
                            openid  
                        } = res.authResult  
                        uniCloud.callFunction({  
                            name: 'localPhoneNumber', // 你的云函数名称  
                            data: {  
                                access_token: access_token, // 客户端一键登录接口返回的access_token  
                                openid: openid // 客户端一键登录接口返回的openid  
                            }  
                        }).then(result => {  
                            this.login(result.result.phoneNumber)  
                        }).catch(err => {  
                            uni.closeAuthView()  
                        })  
                    },  
                    fail: (fail) => {  
                        if (fail.code == 30008 && fail.provider == 'other') {  
                            uni.closeAuthView()  
                        }  
                    }  
                })

操作步骤:

随机性

预期结果:

能正常获取参数和调用成功

实际结果:

部分机型 有时能云函数能获取参数 有时不能 调用失败

bug描述:

手机一键登录 uniCloud.getPhoneNumber 部分机型 和手机不能调取成功 云函数接收不到参数 到时一键登录失败

2021-09-29 18:33 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

失败的时候的错误信息错误码发一下

  • zipe (作者)

    就是那个一键登录的云函数,获取不到有时候获取不到传入的参数,偶发性的,国庆后我再去看下,发您。

    2021-09-30 21:54

  • zipe (作者)

    真机调试 连接的云端函数 调用云函数报错 【连接本地调试服务失败,请检查客户端是否和主机在同一局域网下】

    2021-09-30 22:30

zipe

zipe (作者)

真机调试 连接的云端函数 调用云函数报错 【连接本地调试服务失败,请检查客户端是否和主机在同一局域网下】
【复现步骤】先取消移动数据连接 然后再开启 再调用一键登录 偶发报这个错误。

该问题目前已经被锁定, 无法添加新回复