收藏
回答

微信小程序获取手机号,必须通过按钮点击触发吗?谢谢

我想把获取手机号的代码,写在onLoad里面,可是总是报错: {errMsg: "authorize:fail 系统错误,错误码:-12001,invalid scope"}

onLoad(){this.requestPhoneNumberAuthorization();

        },

methods: {

            requestPhoneNumberAuthorization() {

                  // 检查用户授权状态

                  wx.getSetting({

                    success: (res) => {

                      if (!res.authSetting['scope.phoneNumber']) {

                        // 如果用户没有授权手机号,自动请求授权

                        wx.authorize({

                          scope: 'scope.phoneNumber',

                          success: () => {

                            // 请求成功,可以请求用户手机号

                            wx.getPhoneNumber({

                              success: (res) => {

                                this.decryptPhoneNumber(res);

                              },

                              fail: (error) => {

                                console.log("获取手机号失败:", error);

                              }

                            });

                          },

                          fail: (error) => {

                            console.log("用户拒绝授权:", error);

                          }

                        });

                      } else {

                        // 用户已经授权,可以直接获取手机号

                        wx.getPhoneNumber({

                          success: (res) => {

                            this.decryptPhoneNumber(res);

                          },

                          fail: (error) => {

                            console.log("获取手机号失败:", error);

                          }

                        });

                      }

                    },

                    fail: (error) => {

                      console.log("获取设置失败:", error);

                    }

                  });

                },

这样写,总是报错:

用户拒绝授权: {errMsg: "authorize:fail 系统错误,错误码:-12001,invalid scope"}

出现不了让用户 授权或者拒绝 的界面,是怎么回事?是必须有按钮触发?还是我的代码有问题?谢谢!如果是按钮触发,有文档写着吗?文档链接是多少?谢谢

回答关注问题邀请回答
收藏

4 个回答

登录 后发表内容