收藏
回答

获取手机号报错

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 微信安卓客户端 6.5.3 2.0.0

https://developers.weixin.qq.com/miniprogram/dev/component/button.html<template>

    <view>

        <button open-type="getPhoneNumber" @getphonenumber="onGetPhoneNumber">获取手机号</button>

    </view>

</template>


<script setup>

import Taro from '@tarojs/taro'


const onGetPhoneNumber = async (event) => {

    try {

        if (event.detail.errMsg === 'getPhoneNumber:ok') {

            // 用户同意授权,获取加密的手机号和初始向量

            const encryptedData = event.detail.encryptedData;

            const iv = event.detail.iv;


            // 这里应该将encryptedData和iv发送到后端服务器进行解密

            // 同时可能需要wx.login获取的code来辅助解密

            // 注意:实际发送请求和解密过程应放在这里

            console.log('加密的手机号:', encryptedData, '初始向量:', iv);


            // 假设你有发送请求的方法 sendToServer,这里仅为示例

            // await sendToServer({ encryptedData, iv });


        } else {

            console.error('获取手机号失败', event.detail.errMsg);

            setting()

        }

    } catch (error) {

        console.error('处理获取手机号过程中发生错误', error);

    }

};

function setting() {

    Taro.showModal({

        title: '提示',

        content: '为了提供更好的服务,我们需要获取您的手机号,请授权允许。',

        confirmText: '去授权',

        success: (res) => {

            if (res.confirm) {

                Taro.openSetting({

                    success: (res) => {

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

                            // 用户已授权,可以再次尝试获取手机号

                            this.getPhoneNumber();

                        } else {

                            // 用户仍然拒绝授权

                            Taro.showToast({ title: '您已拒绝授权,部分功能可能无法使用', icon: 'none' });

                        }

                    },

                });

            }

        },

    });

}

</script>


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

1 个回答

  • 寒烟柔
    寒烟柔
    06-03

    报啥错发一下,是不是没有设置隐私协议

    06-03
    有用
    回复
登录 后发表内容