主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
本文介绍了微信小程序的相关问题。 主要介绍微信小程序权限接口的相关内容,如用户认证接口、获取用户权限设置接口、打开用户权限设置等。 我们来看看界面和其他内容。 我希望这对你有帮助。
【相关学习推荐:小程序学习教程】
1、权限接口
有些接口需要经过用户批准后才能调用。 。 这些接口根据用途分为多个范围。 用户选择批准范围。 授权范围使其所有相应的接口直接可用。 如果调用这样的接口:
如果用户不接受或拒绝该权限,则会弹出窗口询问用户: 用户只有点击“集成”后才能调用该接口。 如果用户允许,可以直接调用该接口。 如果用户拒绝认证,则不会弹出弹窗,而是直接进入接口失败回调。
下表显示了此类接口权限的对象范围字段和接口之间的对应关系。
scopesscope.userLocationwx.getLocation、wx.chooseLocation、wx.startLocationUpdate 地理位置对应的接口说明scope.userLocationBackgroundwx.startLocationUpdateBackground 后台locationscope.recordwx.startRecord、wx.joinVoIPChat、RecorderManager.start Microphonescope 组件、wx .createVKSession。 camerascope.bluetoothwx.openBluetoothAdapter,wx.createBLEPeripheralServer Bluetoothscope.writePhotosAlbum wx.saveImageToPhotosAlbum,wx.saveVideoToPhotosAlbum 添加到相册scope.addPhoneContactwx.wx.addPhoneContact 已添加到联系人范围。 addPhoneCalendarwx.addPhoneRepeatCalendar、wx.addPhoneCalendar 添加到日历范围。 werunwx.getWeRunData 微信运动步scope.addresswx.chooseAddress 通讯地址(已取消审批,可直接调用) 对应接口)scope.invoiceTitlewx.chooseInvoiceTitle 发票头(已完成审批) 如果取消,可直接调用对应接口)scope.invoicewx.chooseInvoice 获取发票(已取消授权,可直接调用对应接口)scope.userInfowx.getUserInfo 用户信息(小程序已回收,请输入)头像昵称)
小程序提供了三种接口集。 接口权限执行相应的操作: wx.getSetting() 获取用户当前的认证状态。 wx.openSetting() 打开设置界面并引导用户启用身份验证。 wx.authorize() 改变授权状态。
1.1 用户授权接口 wx.authorize(Object object)
提前向用户发起授权请求。 调用这个接口立刻会弹出一个窗口询问用户是否要授权小程序使用某个功能或者检索用户的一些数据,但对应的接口实际上并没有被调用。 如果用户之前同意授权,则不会弹出弹窗,直接返回成功。 属性如下表所示。
属性类型 默认值 必需 说明scopestring 是应获取权限的范围。 更多信息请参见范围列表 successfunction 接口调用成功时无回调函数 failedfunction 接口调用失败时无回调函数 Completefunction 退出时无回调函数 接口调用(成功调用,失败时执行)
官网示例代码:
// 可以使用wx.getSetting。g 首先,检查用户是否已授权“scope.record”。 thisscopewx.getSetting({ success(res) { if (!res.authSetting['scope.record']) { wx.authorize({scope: 'scope.record ', success () { // 用户可以同意后续调用 wx.startRecord 接口不会提示您输入 wx.startRecord() } }) } }})1.2 检索用户权限设置接口 wx.getSetting(Object object)
该接口检索用户当前的设置。 只有小程序向用户请求的权限才会出现在返回值中。 属性是:
属性类型 默认值 必填 描述 最低版本 withSubscriptionsBooleanfalse 是否同时检索用户订阅消息的订阅状态。 默认不检索。 注意:withSubscriptions 只会返回用户选中“始终保留我的选择”的订阅消息,并且不要在订阅面板中再次询问我。 2.10.1successfunction none 接口调用成功回调函数 failedfunction none 接口调用失败回调函数completefunction none 接口调用终止回调函数(调用成功和失败都会执行)
object.success 回调函数为:
属性类型说明最低版本authSettingAuthSetting 用户认证结果subscriptionsSettingSubscriptionsSetting 仅当指定接口参数时,才会返回用户订阅消息设置。 withSubscriptions 值为 true。 2.10.1 小程序AuthSettingAuthSet插件内调用ting时,当前主机小程序的用户认证结果
官网示例代码:
wx.getSetting({ success (res) { console.log(res.authSetting) / / res.authSetting = { // "scope.userInfo": true, // "scope.userLocation": true // } }})1.3 打开用户权限设置界面 wx.openSetting(Object object)
该接口调用客户端小程序配置接口并返回用户配置操作的结果。 设置界面中仅显示小程序向用户请求的权限。
属性类型 默认值 必填 描述 最低版本 withSubscriptionsBooleanfalse 是否同时检索用户订阅消息的订阅状态。 默认不检索。 注意:withSubscriptions 只会返回用户选中“始终保留我的选择”的订阅消息,并且不要在订阅面板中再次询问我。 2.10.3successfunction none 接口调用成功回调函数 failedfunction none 接口调用失败回调函数completefunction none 接口调用终止回调函数(调用成功和失败都会执行)
object.success 回调函数为:
属性类型说明最低版本authSettingAuthSetting 用户认证结果subscriptionsSettingSubscriptionsSetting 仅当指定接口参数时,才会返回用户订阅消息设置。 withSubscriptions 值为 true。 2.10.3 注意:从2.3.0版本开始,用户只能点击后打开设置页面并管理其凭据。
官网示例代码:
wx.openSetting({ success (res) { console.log(res.authSetting) // res.authSetting = { // "scope.userInfo": true, // "scope.userLocation": true // } }}) 2. 授权案例
this例如使用位置获取接口wx.getLocation()和录音启动接口wx.startRecord()进行相关操作。 两个接口都需要设置操作权限。
Setting.wxml代码如下:
获取地理位置{{context}}开始录制
Setting.js代码 类似
//index.js//获取应用程序实例 const app = getApp()Page({ data: { }, onLoad : function () { context:'' }, location1:function( ){//获取地理位置 var that=this wx.getSetting({//获取用户权限设置。 interface success(res) { console.log(res) if (!res.authSetting['scope.userLocation']) { wx.authorize({//授权范围: 'scope.userLocation',//地理位置权限,查看上述范围对应的参数 success() { wx.getLocation({ //获取当前地理位置 success: function(res) { console.log(res) that.setData({ context: "你的经度是" + res.latitude+"你的纬度是"+res.longitude}) }, }) } }) } } }) }, location2: function () {//记录 var that = this wx.getSetting({ success(res ) { console.log(res.authSetting) if (!res.authSetting['scope.record']) { wx.openSetting({//打开用户权限设置界面 success(res) { console.log(res) wx.startRecord({//开始录制success(res) { const tempFilePath = res.tempFilePath console.log("录制结束") } }) } }) }} }) }})
Location()1 函数获取地理位置 实现该函数。 。 该函数首先调用wx.getSetting()接口获取授权状态,然后调用wx.authorize()接口更改地理位置权限的scope.userLocation。 location2()函数实现录音功能。 该函数首先调用wx.getSetting()接口获取权限状态,然后调用wx.openSetting()接口打开录音权限设置界面并更改录音权限。 从这个例子可以看出,设置权限时,首先要调用wx.getSetting()接口来改变权限的状态。 如果没有开放权限,可以通过调用wx.authorize()或wx.openSetting()接口来更改权限状态。 看来wx.authorize()接口没有改变权限的操作权限,但是wx.openSetting()接口似乎有改变权限的操作接口。
本例的效果是:
单击以获取您的地理位置。
单击允许显示您当前位置的纬度和经度。
点击“开始录音”按钮,系统会提示您授权麦克风:
【相关学习推荐: 【小程序学习教程】
下载微信App
微信是一款支持通过手机网络发送语音消息、视频、照片和文字的移动通讯软件。 微信带来了全新的移动通信体验,您可以单独或群组聊天,还可以根据您的地理位置查找附近的人。 有需要的朋友,请快来保存您的下载体验吧!
这几篇文章你可能也喜欢:
- 总结分享微信小程序常见面试题(微信小程序面试题)
- 轻松分析微信小程序元素(微信小程序配置)
- 微信小程序WXML模板语法概述(微信小程序v-html)
- 微信小程序视图层详解(微信小程序视图层和逻辑层)
- 微信小程序页面路由知识总结(微信小程序路由)
本文由主机参考刊发,转载请注明:总结整理微信小程序的权限接口(微信小程序的权限管理在哪里) https://zhujicankao.com/141064.html
评论前必须登录!
注册