In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)05/31 Report--
本文小编为大家详细介绍"微信小程序怎么同步请求授权",内容详细,步骤清晰,细节处理妥当,希望这篇"微信小程序怎么同步请求授权"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
微信小程序 同步请求授权的详解
需求分析:
1.在小程序首次打开的时候,我需要同时请求获取多个权限,由用户逐一授权。
(['scope.userInfo','scope.userLocation','scope.address','scope.record','scope.writePhotosAlbum'])
问题分析:
1. wx.authorize接口同时调用,请求多个权限,由于异步原因,将授权请求一并发出,显然不符合要求。
2. promise能很好的解决问题,试着尝试了一下,下面代码分为两个文件。
// scope.jsimport 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.jsimport 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指定的权限
读到这里,这篇"微信小程序怎么同步请求授权"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.