微信小程序怎么同步请求授权
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本文小编为大家详细介绍"微信小程序怎么同步请求授权",内容详细,步骤清晰,细节处理妥当,希望这篇"微信小程序怎么同步请求授权"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。微
千家信息网最后更新 2025年01月21日微信小程序怎么同步请求授权
本文小编为大家详细介绍"微信小程序怎么同步请求授权",内容详细,步骤清晰,细节处理妥当,希望这篇"微信小程序怎么同步请求授权"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
微信小程序 同步请求授权的详解
需求分析:
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指定的权限
读到这里,这篇"微信小程序怎么同步请求授权"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
程序
问题
同步
接口
文章
权限
用户
分析
成功
代码
内容
写法
同时
多个
方式
尝试
循环
妥当
两个
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何清理服务器内存
辽宁省国税局网络安全法
北京云畅天下网络技术有限公司
db2数据库怎么用
魔兽怎么选择新开的服务器
网络安全包括安全管理及
计算机网络技术有没有前途
网络安全班会内容安排
数据库等间距抽样
天津电商软件开发应用
董文磊网络安全
网络安全与信息化委职责员会
上海大承网络技术
贵州因然网络技术有限公司
开封网络技术选择
云南管理软件开发价格
java 数据库添加列
在云服务器里怎么打开进程管理
数据库的学习多久能熟练掌握
湖南全球软件开发大会
查询数据库表的拥有者
数据库运行
网络安全法七类禁止
服务器下载速度对照表
30多岁转行网络安全怎么样
开封网络技术选择
网络安全等级保护技术大会
什么叫保护网络安全
软件开发人员提成办法
数据库查询不同学分的课程门数