原生小程序一个按钮如何触发用户信息授权弹框 和 手机授权 弹框?

发布于 2022-09-13 00:54:49 字数 885 浏览 16 评论 0

现在页面上有一个按钮,点击之后,希望提示用户同时授权“用户信息”、“手机号码”,但是一个按钮只能有一个 open-type 属性,该如何处理呢?

<button @tap='signIn' open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">微信登录</button>
    getPhoneNumber (e) {
      let postDatas = e.detail

      Taro.getUserInfo({
        success: (res) => {
          //待调试
          wx.login({
            success: res3 => {
              postDatas.code = res3.code
              console.log(postDatas)
              api.getPhoneNumber(postDatas).then(res2 => {
                setStorageSync('phoneNumber', res2.phoneNumber || '')
              })
            }
          })
        }
      })
    },
    signIn() {
      Taro.getUserProfile({ //可以弹用户授权框
        desc:'正在获取',//不写不弹提示框
        success: (res) => {
          
        }
      })
    },

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柠栀 2022-09-20 00:54:49

没办法,现在就得分两步进行,必须先授权登录拿个人信息、再授权绑定手机号,你看哪个小程序可以可以同时授权俩了?

taro 代码如下:

<button @tap='signIn' open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">微信登录</button>
getPhoneNumber (e) {
      let postDatas = e.detail

      Taro.getUserInfo({
        success: (res) => {
          //待调试
          wx.login({
            success: res3 => {
              postDatas.code = res3.code
              console.log(postDatas)
              api.getPhoneNumber(postDatas).then(res2 => {
                setStorageSync('phoneNumber', res2.phoneNumber || '')
              })
            }
          })
        }
      })
    }
    signIn() {
      let openId = getOpenId()

      //没有授权信息
      if(!openId) {
        //弹出授权框
        Taro.getUserProfile({
          desc:'正在获取',//不写不弹提示框
          success: (res) => {
            //用户授权,储存授权信息
           
          },

        })
      }
    },
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文