微信小程序> 微信小程序之授权登录的实现button按钮-小程序注册后如何使用-小程序开通流程

微信小程序之授权登录的实现button按钮-小程序注册后如何使用-小程序开通流程

浏览量:3220 时间: 来源:醉卧码场君莫笑

前言:由于微信官方修改了getUserInfo、authorize接口,无法弹出授权窗口,所以现在无法实现一进入微信小程序就弹出授权窗口,只能通过button去触发

1.实现思路

微信授权登录仅适用于使用微信用户信息的用户,如果自己的项目有完善的用户信息(一套式开发项目),可不使用微信用户信息;如果仅为微信小程序,则要授权、获取用户信息

自己写一个微信授权登录页面让用户实现点击的功能,也就是实现了通过button组件去触发getUserInof接口。在用户进入微信小程序的时候,判断用户是否授权了,如果没有授权的话就显示下面“界面简介”的第一个图,让用户去执行授权的操作。如果已经授权了,则直接跳过这个页面,进入首页。

2.界面简介3.源码

authorize.html

viewwx:if="{{canIUse}}"viewclass='header'imagesrc='/images/wx_login.png'/image/viewviewclass='content'view申请获取以下权限/viewtext获得你的公开信息(昵称,头像等)/text/viewbuttonclass='bottom'type='primary'open-type="getUserInfo"lang="zh_CN"bindgetuserinfo="bindGetUserInfo"授权登录/button/viewviewwx:else请升级微信版本/view

authorize.wxss

.header{margin:90rpx090rpx50rpx;text-align:center;width:650rpx;height:300rpx;line-height:450rpx;}.headerimage{width:200rpx;height:200rpx;}.content{margin-left:50rpx;margin-bottom:90rpx;}.contenttext{display:block;color:#9d9d9d;margin-top:40rpx;}.bottom{border-radius:80rpx;margin:70rpx50rpx;font-size:35rpx;}

authorize.json

{"navigationBarTitleText":"授权登录"}

authorize.js

constapp=getApp();Page({data:{//判断小程序的API,回调,参数,组件等是否在当前版本可用。canIUse:wx.canIUse('button.open-type.getUserInfo')},onLoad:function(){varthat=this;//查看是否授权wx.getSetting({success:function(res){if(res.authSetting['scope.userInfo']){wx.getUserInfo({success:function(res){//从数据库获取用户信息that.queryUsreInfo();//用户已经授权过wx.switchTab({url:'/pages/index/index'})}});}}})},bindGetUserInfo:function(e){if(e.detail.userInfo){//用户按了允许授权按钮varthat=this;//插入登录的用户的相关信息到数据库wx.request({url:app.globalData.urlPath+'user/add',data:{openid:getApp().globalData.openid,nickName:e.detail.userInfo.nickName,avatarUrl:e.detail.userInfo.avatarUrl,province:e.detail.userInfo.province,city:e.detail.userInfo.city},header:{'content-type':'application/json'},success:function(res){//从数据库获取用户信息that.queryUsreInfo();console.log("插入小程序登录用户信息成功!");}});//授权成功后,跳转进入小程序首页wx.switchTab({url:'/pages/index/index'})}else{//用户按了拒绝按钮wx.showModal({title:'警告',content:'您点击了拒绝授权,将无法进入小程序,请授权之后再进入!!!',showCancel:false,confirmText:'返回授权',success:function(res){if(res.confirm){console.log('用户点击了“返回授权”')}}})}},//获取用户信息接口queryUsreInfo:function(){wx.request({url:app.globalData.urlPath+'user/userInfo',data:{openid:app.globalData.openid},header:{'content-type':'application/json'},success:function(res){console.log(res.data);getApp().globalData.userInfo=res.data;}});},})

代码的wx.request是小程序发起网络请求,用于用户与数据的交互。官网地址:https://developers.weixin.qq.com/miniprogram/dev/api/network-request.htmlURL分析:app.globalData.urlPath(全局url;例如:https://www.baidu.com)user/userInfo(接口具体地址)

小程序源码地址:https://github.com/cuigeg/wxchat.git

拓展

安利一下,微信小程序什么情况下需要授权:授权代码:

注意:wx.authorize({scope:“scope.userInfo”}),无法弹出授权窗口,请使用buttonopen-type="getUserInfo"/button

wx.getSetting({success(res){if(!res.authSetting['scope.record']){wx.authorize({scope:'scope.record',success(){//用户已经同意小程序使用录音功能,后续调用wx.startRecord接口不会弹窗询问wx.startRecord()}})}}})

如果此篇博客对您或者您的朋友有帮助,请予以收藏或者转发,感谢您的查看,始终信仰:每一次分享都会帮助一些采坑中的道友,爱分享,能让道友时候踩一个坑是我们的幸福,如果有什么不对的地方,请于评论区提示,及时发现问题解决问题会让我们进步更快,谢谢参考文章地址:https://blog.csdn.net/weidong_y/article/details/79636386

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎