uni-app微信小程序登录授权的实现


Posted in Javascript onMay 22, 2020

微信小程序授权是非常简单和常用的功能,但为了方便,还是在此记录一下要点:

uni-app微信小程序登录授权的实现

首先是需要用到一个授权按钮来触发获取用户信息授权: 关键在于 open-type 为 getUserInfo , 然后有个@getuserinfo的事件,把获取授权接口写到该事件里面去

<button class="sys_btn" open-type="getUserInfo" lang="zh_CN" @getuserinfo="appLoginWx">{{loginInfo.openid != "" && loginInfo.openid != undefined ? "已授权" : "小程序授权"}}</button>

方法如下:

appLoginWx(){
        // #ifdef MP-WEIXIN
          uni.getProvider({
           service: 'oauth',
           success: function (res) {
            if (~res.provider.indexOf('weixin')) {
              uni.login({
                provider: 'weixin',
                success: (res) => {
                  _self.authorization = res.code;
                  uni.getUserInfo({
                    provider: 'weixin',
                    success: (info) => {//这里请求接口
                      console.log(res);
                      console.log(info);
                      
                    },
                    fail: () => {
                      uni.showToast({title:"微信登录授权失败",icon:"none"});
                    }
                  })
              
                },
                fail: () => {
                  uni.showToast({title:"微信登录授权失败",icon:"none"});
                }
              })
              
            }else{
              uni.showToast({
                title: '请先安装微信或升级版本',
                icon:"none"
              });
            }
           }
          });
          //#endif
      }

在 uni.login 和 uni.getUserInfo 被调用后,你可以获取到以下值用于继续请求后端给你的接口:

常用的值大概有:code 、iv 、encryptedData 和 个人基本信息,这些可以传给后端交换得到openid。

uni-app微信小程序登录授权的实现

如果需要知道用户当前是否已经授权,则可以使用如下代码:

uniapp的授权文档,可以判断不同的授权类型:https://uniapp.dcloud.io/api/other/authorize?id=authorize

// #ifdef MP-WEIXIN
      uni.getSetting({
       success(res) {
        console.log("授权:",res);
        if (!res.authSetting['scope.userInfo']) {
          //这里调用授权
          console.log("当前未授权");
        } else {
          //用户已经授权过了
          console.log("当前已授权");
        }
       }
      })
      //#endif

到此这篇关于uni-app微信小程序登录授权的实现的文章就介绍到这了,更多相关uni-app小程序登录授权内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js 获取服务器控件值的代码
Mar 05 Javascript
Jquery绑定事件(bind和live的区别介绍)
Aug 23 Javascript
jQuery拖动布局其结果保存到数据库
Oct 09 Javascript
javascript表单控件实例讲解
Sep 13 Javascript
JavaScript对象封装的简单实现方法(3种方法)
Jan 03 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
Apr 07 Javascript
10个最优秀的Node.js MVC框架
Aug 24 Javascript
setTimeout时间设置为0详细解析
Mar 13 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
Mar 28 Javascript
Node.js API详解之 net模块实例分析
May 18 Javascript
JavaScript Image对象实现原理实例解析
Aug 26 Javascript
详解vue 中 scoped 样式作用域的规则
Sep 14 Javascript
jQuery 选择器用法实例分析【prev + next】
May 22 #jQuery
jQuery--遍历操作实例小结【后代、同胞及过滤】
May 22 #jQuery
uni-app使用微信小程序云函数的步骤示例
May 22 #Javascript
AutoJs实现刷宝短视频的思路详解
May 22 #Javascript
jquery更改元素属性attr()方法操作示例
May 22 #jQuery
微信小程序转化为uni-app项目的方法示例
May 22 #Javascript
小程序分享链接onShareAppMessage的具体用法
May 22 #Javascript
You might like
php error_log 函数的使用
2009/04/13 PHP
php根据年月获取季度的方法
2014/03/31 PHP
php使用百度天气接口示例
2014/04/22 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
详解关于php的xdebug配置(编辑器vscode)
2019/01/29 PHP
PHP count_chars()函数讲解
2019/02/14 PHP
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
JavaScript内核之基本概念
2011/10/21 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
解决Webpack 热部署检测不到文件变化的问题
2018/02/22 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
利用js-cookie实现前端设置缓存数据定时失效
2019/06/18 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
Python编写电话薄实现增删改查功能
2016/05/07 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
django框架F&amp;Q 聚合与分组操作示例
2019/12/12 Python
python的列表List求均值和中位数实例
2020/03/03 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
考核工作实施方案
2014/03/30 职场文书
咖啡店创业计划书
2014/08/15 职场文书
安全标兵事迹材料
2014/08/17 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
企业承诺书格式范文
2015/04/28 职场文书
学会感恩主题班会
2015/08/12 职场文书
2016年度基层党建工作公开承诺书
2016/03/25 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
redis的list数据类型相关命令介绍及使用
2022/01/18 Redis