uni_app授权登录及授权麦克风防止用户点击拒绝按钮,权限无法再次被挂起。

在用uni-app开发小程序的时候我们经常会遇到,需要授权的时候,用户没有点击确认按钮,然后用户再次点击的时候,系统默认执行失败回调函数,权限获取无法再次被挂起。

1、授权登录

先调取uni.getUserProfile  设置desc: 'Wexin'

再调去uni.login

然后用返回的code码向接口换取open-id

再用open-id向接口请求userid完成登录

2、获取麦克风授权

直接上一个示例点击函数

startRecord() {
                this.ti = '00:00'
                this.minutes = 0
                this.seconds = 0;
                recorderManager.stop();
                // console.log('开始录音');
                let that = this
                uni.authorize({
                    scope: 'scope.record',
                    success() { //1.1 允许授权
                        that.opening = false,
                            that.closeing = true,
                            that.timer = setInterval(that.startTimer, 1000),
                        recorderManager.start()
                    },
                    fail() { //1.2 拒绝授权
                        uni.showModal({
                            content: '检测到您没打开录音功能权限,是否去设置打开?',
                            confirmText: "确认",
                            cancelText: '取消',
                            success: (res) => {
                                if (res.confirm) {
                                    uni.openSetting({
                                        success: (res) => {
                                            // console.log(res.authSetting);
                                            if (res.authSetting == true) {
                                                that.opening = false,
                                                    that.closeing = true,
                                                that.timer = setInterval(that.startTimer,
                                                        1000),
                                                    recorderManager.start()
                                            } else {
                                                // console.log("什么也不做");
                                            }

                                        }
                                    })
                                } else {
                                    // console.log('取消');
                                    return false;
                                }
                            }
                        })
                        return false;
                    }
                })
            },

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值