2***@qq.com
2***@qq.com
  • 发布:2023-08-21 17:51
  • 更新:2024-09-20 14:05
  • 阅读:578

一键登录uniCloud.callFunction无法调用云函数

分类:uniCloud

将下面一键登录代码运行到安卓基座上,可以弹出一键登录弹窗,但点击一键登录后,可以获取到openid以及access_token,但无法调用云函数,且并未报任何错误


<script>  
    export default {  
        data() {  
            return {  
                accessToken:'',  
                openid:''  
            }  
        },  
        methods: {  
            // 去登录  
            gotoLogin() {                 
                uni.login({  
                    provider: 'univerify',  
                    univerifyStyle: { // 自定义登录框样式  
                        "fullScreen": false, // 是否全屏显示,默认值: false  
                        "backgroundColor": "#f1d4cb",  // 授权页面背景颜色,默认值:#ffffff  
                        "backgroundImage": "", // 全屏显示的背景图片,默认值:"" (仅支持本地图片,只有全屏显示时支持)    
                        "icon": {    
                            "path": "/static/icon.jpg", // 自定义显示在授权框中的logo,仅支持本地图片 默认显示App logo  
                            "width":  "60px",  //图标宽度 默认值:60px  
                            "height": "60px"   //图标高度 默认值:60px  
                        },      
                        "phoneNum": {    
                            "color": "#202020"  // 手机号文字颜色 默认值:#202020    
                        },    
                        "slogan": {    
                            "color": "#BBBBBB"  //  slogan 字体颜色 默认值:#BBBBBB    
                        },    
                        "authButton": {    
                            "normalColor": "#ce4b3b", // 授权按钮正常状态背景颜色 默认值:#3479f5    
                            "highlightColor": " #db7c70",  // 授权按钮按下状态背景颜色 默认值:#2861c5(仅ios支持)    
                            "disabledColor": "#f1d4cb",  // 授权按钮不可点击时背景颜色 默认值:#73aaf5(仅ios支持)    
                            "textColor": "#ffffff",  // 授权按钮文字颜色 默认值:#ffffff    
                            "title": "本机号码一键登录", // 授权按钮文案 默认值:“本机号码一键登录”    
                            "borderRadius": "24px"  // 授权按钮圆角 默认值:"24px" (按钮高度的一半)  
                        },    
                        "otherLoginButton": {    
                            "visible": true, // 是否显示其他登录按钮,默认值:true    
                            "normalColor": "", // 其他登录按钮正常状态背景颜色 默认值:透明   
                            "highlightColor": "", // 其他登录按钮按下状态背景颜色 默认值:透明   
                            "textColor": "#656565", // 其他登录按钮文字颜色 默认值:#656565    
                            "title": "其他登录方式", // 其他登录方式按钮文字 默认值:“其他登录方式”    
                            "borderColor": "",  //边框颜色 默认值:透明(仅iOS支持)    
                            "borderRadius": "0px" // 其他登录按钮圆角 默认值:"24px" (按钮高度的一半)  
                        },  
                        "privacyTerms": {    
                            "defaultCheckBoxState":true, // 条款勾选框初始状态 默认值: true  
                            "isCenterHint":false, //未勾选服务条款时点击登录按钮的提示是否居中显示 默认值: false (3.7.13+ 版本支持)  
                            "uncheckedImage":"/static/check.png", // 可选 条款勾选框未选中状态图片(仅支持本地图片 建议尺寸 24x24px)(3.2.0+ 版本支持)     
                            "checkedImage":"/static/checked.png", // 可选 条款勾选框选中状态图片(仅支持本地图片 建议尺寸24x24px)(3.2.0+ 版本支持)     
                            "checkBoxSize":12, // 可选 条款勾选框大小,仅android支持  
                            "textColor": "#BBBBBB", // 文字颜色 默认值:#BBBBBB    
                            "termsColor": "#ce4b3b", //  协议文字颜色 默认值: #5496E3    
                            "prefix": "我已阅读并同意", // 条款前的文案 默认值:“我已阅读并同意”    
                            "suffix": "并使用本机号码登录", // 条款后的文案 默认值:“并使用本机号码登录”    
                            // "privacyItems": [  // 自定义协议条款,最大支持2个,需要同时设置url和title. 否则不生效    
                            //  {    
                            //      "url": "https://", // 点击跳转的协议详情页面    
                            //      "title": "用户服务协议" // 协议名称    
                            //  }    
                            // ]    
                        },  
                    },  
                    success(res){ // 登录成功 在该回调中请求后端接口,将access_token传给后端  
                        console.log(res.authResult);  // {openid:'登录授权唯一标识',access_token:'接口返回的 token'}   

                        this.accessToken = res.authResult['access_token'];  
                        console.log(this.accessToken);  

                        this.openid = res.authResult['openid'];  
                        console.log(this.openid);  

                        console.log("不行")  
                        // 在得到access_token后,通过callfunction调用云函数  
                        uniCloud.callFunction({  
                          name:'loginTelephone', // 你的云函数名  
                          data: {  
                            accessToken: this.accessToken, // 客户端一键登录接口返回的access_token  
                            openid: this.openid // 客户端一键登录接口返回的openid  
                          }  
                        }).then(res => {  
                          // res.result = {  
                          //   code: '',  
                          //   message: ''  
                          // }  
                          // 登录成功,可以关闭一键登录授权界面了  

                          console.log(res.result.message);  
                        }).catch(err=>{  
                          // 处理错误  
                        })  

                    },  
                    fail(res){  // 登录失败  
                        console.log(res.errCode)  
                        console.log(res.errMsg)  
                    }  
                })  
            }  
        }  
    }  
</script>  

云函数部分:

输出部分:

2023-08-21 17:51 负责人:无 分享
已邀请:
DCloud_云服务_moyang

DCloud_云服务_moyang

查看下云函数是否有调用日志

  • 2***@qq.com (作者)

    并没有调用日志

    2023-08-22 17:08

  • 划不来

    回复 2***@qq.com: 你后面怎解决,我也遇到无法调用云函数,走catch接口,说我Error: The signature we calculated is:,但是我是真机连接基座,不是打包呀

    2024-06-19 14:34

猎宠网

猎宠网

您好,您的一键登录的问题解决了吗

2***@qq.com

2***@qq.com - ddd

您好,请问解决了吗

1***@qq.com

1***@qq.com

您好,能出个解决的教程吗

要回复问题请先登录注册