主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
简介
小程序在开发过程中很多时候都需要用户的批准。 您需要检查用户是否有权限。 如果没有批准,系统将提示用户进行批准。 所以我们把这个过程封装起来,方便小可爱们参考,甚至评论,让我们一起进步。
流程图
封装是非常有必要的,因为判断用户是否授权的逻辑可能会用到项目中的各个地方。 为了说明一般过程,我们以位置验证为例。
许多应用程序要求用户在输入地理位置后立即进行身份验证。 您可以获取用户的经度和纬度并计算到用户的距离。 一个简单的流程图如下所示。
开发者首先要通过wx.getSetting()获取用户当前的设置,这是官方文档。 如果用户有权限继续下一步,则不会再次要求用户打开权限,否则用户点击“否”,授权将失败。 如果用户同意,则调用wx.openSetting()启动客户端小程序设置界面,并返回用户设置操作的结果(官方文档)。 打开设置页面后,如果用户在未开启身份验证的情况下返回,则会看到身份验证失败的结果。 如果开启认证并返回上一页,则认证成功。
这里需要注意的一件事是将以下代码添加到您的 app.json 以获得地理批准。
"permission": { "scope.userLocation": { "desc": "您的位置用于显示有关您所在城市的信息" } }复制代码 主代码
在实用程序文件夹 auth 中创建一个新文件.js,用于授权操作,两行代码直接执行。
/***微信授权*/const authList = { userInfo: { apiName: ['getUserInfo'], authTitle: '必须使用用户信息', '必须使用用户信息'请检查您的信息,授权' }, userLocation: { apiName: ['getLocation', 'chooseLocation'], authTitle: '请求当前位置授权', authContent: '必须检索地理位置。 请确认授权' }, address : { apiName: ['chooseAddress'], authTitle: '您必须使用电子邮件地址', authContent: '您必须使用电子邮件地址。 请确认授权' }, invoiceTitle: { apiName: ['chooseInvoiceTitle'], authTitle: '必须使用发票标头', authContent: '必须使用发票标头。 请确认授权。' 请' }, werun: { apiName: ['getWeRunData'], authTitle: '我需要获取微信运动数据', authContent: '我需要获取微信运动数据。 请确认授权' } , writePhotosAlbum: { apiName: ['saveImageToPhotosAlbum', 'saveVideoToPhotosAlbum'], authTitle: '请求相册授权', authContent: '需要使用相册。 请检查认证' },}/*** @description: 仅返回值 显示小程序向用户请求的权限* @param {String} 权限名称* @return {Boolean} 您有权限吗?骗局st getWxSetting = key => { if (typeof key === 'string' && !authList[key]) return false return new Promise(function (resolve) { wx.getSetting({ success: async res => { var result = res.authsetting} else {//未授权或不允许*/const _showmodal = console.log(authlist [key] .authcontent) return new Promise(resolve) {wx.showmodal( { title: authList [key].authTitle, Content : authList[key].authContent, 成功: function (res) { if (res.confirm) { wx.openSetting({ ({ Title: '认证成功', Icon: '成功', 100 -------------------------------------------------------------------------------- wx.showToast({ Title : ' } else if (res.cancel) { wx.showToast({ title: '身份验证失败', icon : 'none',uration: 1000 }) } } }) })}module.exports = {getWxSetting}复制代码
Page js引入auth.js并调用getWxSetting方法,定义在传递创建的authList对应的属性名。 auth.js
//index.js//获取应用实例 const app = getApp()const wxApi = require('../../utils/auth.js')Page({ data: { }, //打开地图 openMap: function ( ) { wxApi.getWxSetting('userLocation').then(()=>{ // 以下代码也可以根据您的需求提取到公共文件中,无论是否已授权 wx.getLocation( { type: 'wgs84' , success: res => { wx.openLocation({ latitude: res.latitude, longitude: res.longitude, }) }, failure: err => { wx.showToast({ title: '手机请检查位置权限 ' , icon : 'None', period: 200 }) / 下面的代码,无论是已经批准的还是尚未批准的,也可以根据您的要求提取到公共文件中。 //imgs.solui.cn/avatar.png',成功。cess:function(res){wx.saveimagetophotosalbum({filepath:res.tempfilepath, success:function(res){wx.showtoast({title: 'sasteically', .err){wx.showtoast({title:'' '保存失败', icon: '无'})}})})})}, only: 授权操作后,这里的wx.getLocation也可以提取公共文件,所以这里不详细解释。 。
PHP 快速学习视频免费教程(入门到精通)
如何学习 PHP?我应该从哪里学习 PHP?别担心。 这里有一些提示提供简单的 PHP 学习教程(从初学者到专家)。 您可以保存并下载您想向其学习的朋友。
下载
这几篇文章你可能也喜欢:
本文由主机参考刊发,转载请注明:小程序获取用户位置认证完整说明(微信小程序获取用户当前位置) https://zhujicankao.com/123186.html
评论前必须登录!
注册