手机版

简化微信小程序用户授权

时间:2021-12-03 来源:互联网 编辑:宝哥软件园 浏览:

在开发小程序中,获取用户授权是一个繁琐的步骤,觉得不错,请点赞哦

简化微信小程序用户授权(图1)

相关API

wx。getsetting({ success(RES){ console。日志(RES . authsetting)//RES . authsetting={/'作用域。用户信息' : true,/'范围。用户位置' : true/} } })复制代码//可以通过wx.getSetting先查询一下用户是否授权了范围.记录这个范围wx。GetSetting({ success(RES){ if(!RES . authsetting['范围。记录']){ wx。授权({ scope : ' scope。记录',成功(){ //用户已经同意小程序使用录音功能,后续调用wx.startRecord接口不会弹窗询问wx.startRecord() } }) })复制代码

Promisify相关API

微信小程序的应用程序接口都是回调函数,一不小心就是回调地狱。我们可以用承诺封装下

const promisify=fn=(arg={ })=new Promise((解析,拒绝)={ arg。成功=函数(RES){ resolve(RES)} arg。失败=函数(err){拒绝(err)} fn(arg)})复制代码使用:

const wxGetSetting=promisify(wx。getsetting)wxGetSetting().然后(res=console.log(res))复制代码

解释

//承诺接受一个【数学】函数函数const promisify=function(fn){//promisify返回一个函数,这个函数可以接受一个银参数//arg默认是空对象,因为微信小程序美国石油学会(美国石油协会)都是接受一个对象参数的返回函数(arg={}){ //该参数执行后,返回一个承诺对象返回新的承诺((解决,拒绝)={ //给参数加上成功和失败参数。成功=函数(RES){ resolve(RES)} arg。失败=功能(失败){拒绝(失败)}//执行fn fn(arg)//fn是传进来的wx.getSetting }) }}复制代码

简化授权

const wxGetSetting=promisify(wx。getsetting)const wxAuthorize=promisify(wx。授权)函数my authorize(authSetting){ 0返回新的承诺(解析,拒绝)={ wxGetSetting().然后(RES={ if(RES . authSetting[authSetting]){ resolve(' ok ')} else { return wxAuthorize({ scope : authSetting }).然后(res={ resolve('ok') }).catch(err={ reject(' fail ')})})复制代码使用:

我的授权('范围。用户位置').然后(res=console.log(res)).catch(err=console.log(err))复制代码

版权声明:简化微信小程序用户授权是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。