微信小程序实现同步请求授权的实例分析
这篇文章主要介绍了微信小程序 同步请求授权的详解的相关资料,在小程序首次打开的时候,我需要同时请求获取多个权限,由用户逐一授权,这样的需求实现,需要的朋友可以参考下
微信小程序 同步请求授权的详解
需求分析:
1.在小程序首次打开的时候,我需要同时请求获取多个权限,由用户逐一授权。
([‘scope.userInfo',‘scope.userLocation',‘scope.address',‘scope.record',‘scope.writePhotosAlbum'])
问题分析:
1. wx.authorize接口同时调用,请求多个权限,由于异步原因,将授权请求一并发出,显然不符合要求。
2. promise能很好的解决问题,试着尝试了一下,下面代码分为两个文件。
// scope.js import es6 from '../helpers/es6-promise' // 获取用户授权 function getScope(scopeName) { return new es6.Promise(function (resolve, reject) { // 查询授权 wx.getSetting({ success(res) { if (!res.authSetting[scopeName]) { // 发起授权 wx.authorize({ scope: scopeName, success() { resolve(0) }, fail() { resolve(1) } }) } } }) }) } module.exports = { getScope: getScope }
// index.js import scope from "../../service/scope" Page({ onShow() { let list = ["scope.userInfo", "scope.userLocation", "scope.address", "scope.record"]; // 记录请求结果 let num = 0; // 问题1:怎么改成循环方式? scope.getScope(list[0]).then(function (res) { num += res; scope.getScope(list[1]).then(function (res) { num += res; scope.getScope(list[2]).then(function (res) { num += res; scope.getScope(list[3]).then(function (res) { num += res; // 调起设置界面 if (num) { wx.openSetting({ success(res) { // 允许获取用户信息 if (res.authSetting["scope.userInfo"]) userService.login() } }) } else { userService.login() } }) }) }) }) })
分析求解:
1.代码中问题1写法过于笨,但是尝试通过循环方式调用写法,又不知道如何处理回调问题。
2.wx.authorize接口,success参数官方给出的解释是(接口调用成功的回调函数),其实不然,实际上是接口调用成功,并且获取到了scope指定的权限
以上是微信小程序实现同步请求授权的实例分析的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

当我们不想要继续使用当前的win10企业版2016长期服务版的时候可以选择切换成专业版,方法也很简单,只需要改一些内容然后进行系统镜像的安装就可以了。win10企业版2016长期服务版怎么改专业版1、按下win+R,然后输入“regedit”2、直接在上面的地址栏里面粘贴下面的这个路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion3、然后找到EditionID,将里面的内容替换成“professional”确

实现微信小程序中的卡片翻转特效在微信小程序中,实现卡片翻转特效是一种常见的动画效果,可以提升用户体验和界面交互的吸引力。下面将具体介绍如何在微信小程序中实现卡片翻转的特效,并提供相关代码示例。首先,需要在小程序的页面布局文件中定义两个卡片元素,一个用于显示正面内容,一个用于显示背面内容,具体示例代码如下:<!--index.wxml-->&l

本站10月31日消息,今年5月27日,蚂蚁集团宣布启动“汉字拾光计划”,最近又迎来新进展:支付宝上线“汉字拾光-生僻字”小程序,用于向社会征集生僻字,补充生僻字库,同时提供不同的生僻字输入体验,以帮助完善支付宝内的生僻字输入方法。目前,用户搜索“汉字拾光”、“生僻字”等关键词就可以进入“生僻字”小程序。在小程序里,用户可以提交尚未被系统识别录入的生僻字图片,支付宝工程师在确认后,将会对字库进行补录入。本站注意到,用户还可以在小程序体验最新的拆字输入法,这一输入法针对读音不明确的生僻字设计。用户拆

uniapp如何实现小程序和H5的快速转换,需要具体代码示例近年来,随着移动互联网的发展和智能手机的普及,小程序和H5成为了不可或缺的应用形式。而uniapp作为一个跨平台的开发框架,可以在一套代码的基础上,快速实现小程序和H5的转换,大大提高了开发效率。本文将介绍uniapp如何实现小程序和H5的快速转换,并给出具体的代码示例。一、uniapp简介unia

如何使用Flask-Security实现用户认证和授权引言:在现代的Web应用程序中,用户认证和授权是必不可少的功能。为了简化这个过程,Flask-Security是一个非常有用的扩展,它提供了一系列工具和功能,使用户认证和授权变得简单而便捷。本文将介绍如何使用Flask-Security来实现用户认证和授权。一、安装Flask-Security扩展:在开始

抖音,作为当下热门的社交媒体平台,不仅为人们提供了丰富的娱乐内容,也成为了众多品牌和商家推广产品、实现销售的重要渠道。其中,抖音切片带货成为了一种新颖且高效的营销方式。那么,抖音切片带货怎么拿授权呢?一、抖音切片带货怎么拿授权?抖音切片带货是将长视频分解成短视频片段,并在其中嵌入商品推广信息,以吸引观众购买。在抖音上进行切片带货,首要步骤是取得原视频的授权。在寻找合适的授权方时,您可以考虑利用抖音平台、社交媒体及行业论坛等多种途径。寻找具有热门视频内容的创作者或版权所有者,并积极与他们建立联系,

UniApp实现用户登录与授权的细节解析在现代移动应用开发中,用户登录和授权是必不可少的功能。UniApp作为一个跨平台的开发框架,提供了一种方便的方式来实现用户登录和授权。本文将探讨UniApp中实现用户登录和授权的细节,并附上相应的代码示例。一、用户登录功能的实现创建登录页面用户登录功能通常需要一个登录页面,该页面包含用户输入账号和密码的表单以及登录按钮

小程序备案操作步骤:1、准备个人身份证复印件、企业营业执照复印件、法人身份证复印件等备案材料;2、登录小程序管理后台;3、进入小程序设置页面;4、选择“基本设置”;5、填写备案信息;6、上传备案材料;7、提交备案申请;8、等待审核结果,如果备案不通过要根据原因进行修改,并重新提交备案申请;9、备案后续操作即可。
