uni-app---第三方登录

  • 使用uniapp开发app,难免涉及到第三方账号登录
    • 使用`uni.log`inAPI实现第三方登录
      • 两个界面
        • `my.vue` 页面
        • `login.vue` 页面
      • 解释
        • uni.login
        • uni.getUserInfo
        • uni.request

使用uniapp开发app,难免涉及到第三方账号登录

使用uni.loginAPI实现第三方登录

  • 参考官方文档

两个界面

  • login.vue 登录界面
  • my.vue 我的界面,存放校验登录的函数

my.vue 页面

  • 如果登录过,不跳转,直接return
  • 如果没有登录过,就跳转到login.vue 并携带两个参数(登录成功之后的跳转界面,跳转方式)
<script>var loginRes;export default {onLoad:function(){loginRes = this.checkLogin('../my/my', '2');if(!loginRes){return;}}}
</script>

login.vue 页面

  • 用到了三个方法
  • uni.login() 登录方法
  • uni.getUserInfo() 获取用的信息方法
  • uni.request() 请求数据的方法
<script>
// 自己的后台登录接口地址
var _self;
export default {data() {return {backpage:'',backtype:''};},onLoad:function(options){_self = this;/* #ifdef APP-PLUS */uni.login({success: (res) => {/* console.log(JSON.stringify(res))第三方登陆res 对象格式{"code":"***","authResult":{"openid":"***","scope":"snsapi_userinfo","refresh_token":"**","code":"****","unionid":"***","access_token":"***","expires_in":7200},"errMsg":"login:ok"} */uni.getUserInfo({success: (info) => {/* console.log(JSON.stringify(info))info 对象格式{"errMsg":"getUserInfo:ok","rawData":"..."userInfo":{"openId":"***","nickName":"***","gender":1,"city":"Xi'an","province":"Shaanxi","country":"China","avatarUrl":"头像","unionId":"oU5Yyt_agt547zWyA0v0eLfFPqxo"},"signature":""} *//* 与服务器交互将数据提交到服务端数据库 */uni.request({url: _self.apiServer+'member&m=login',method: 'POST',header: {'content-type' : "application/x-www-form-urlencoded"},data: {openid: info.userInfo.openId,name: info.userInfo.nickName,face: info.userInfo.avatarUrl,},success: res => {console.log(JSON.stringify(res))res = res.data;if(res.status == 'ok'){uni.showToast({title: '登陆成功',mask: false,duration: 1500});uni.setStorageSync('SUID' , res.data.u_id + '');uni.setStorageSync('SRAND', res.data.u_random + '');uni.setStorageSync('SNAME', res.data.u_name + '');uni.setStorageSync('SFACE', res.data.u_face + '');/* 判断跳转方式 */if(options.backtype == '1'){uni.redirectTo({url:options.backpage});}else{uni.switchTab({url:options.backpage});}}else{uni.showToast({title:res.data});}},fail: () => {console.log('登陆失败')},complete: () => {}});},fail: () => {uni.showToast({title:"微信登录授权失败"});}})},fail: () => {uni.showToast({title:"微信登录授权失败"});}})/* #endif */console.log(options)}
}
</script>

解释

uni.login

  • 用于触发第三方登录,掉漆微信登录,登录成功之后返回对象格式如下
{    "code":"***","authResult":{"openid":"***","scope":"snsapi_userinfo","refresh_token":"**","code":"****","unionid":"***","access_token":"***","expires_in":7200},"errMsg":"login:ok"
}

uni.getUserInfo

  • 获取用户信息,通过上方的uni.login 方法会得到用户assess_token,古
  • uni.getUserInfo在此基础上获取的用户信息openiduserInfo(头像,昵称)等信息
{"errMsg":"getUserInfo:ok","rawData":"...""userInfo":{"openId":"***","nickName":"***","gender":1,"city":"Xi'an","province":"Shaanxi","country":"China","avatarUrl":"头像","unionId":"oU5xxxxxxxxxxeLfFPqxo"},"signature":""
}

uni.request

  • 次方法uni-app中用于网络请求,详情见官方手册:uni.request

uni-app---第三方登录相关推荐

  1. web app 第三方登录-微博登录(一)

    在最近参与的一个android项目中,使用的是web app 的形式,就是android提供容器,但是里面的内容都由H5实现.由于不是原生的app,给集成第三方登录带来一些困难.下面把集成的过程分享下 ...

  2. web app 第三方登录-微博登录(二)

    在上一篇文章中,我们讲了android与js间如何交互,说白了就是在H5页面上的登录按钮如何触发android中的处理流程. 本篇文章主要讲的是当你点击登录按钮之后发生的事. 首先,在js中触发了交互 ...

  3. php支付宝第三方授权,原生 PHP 实现支付宝 App 第三方登录获取用户信息,_PHP_ 少侠科技...

    详细内容 背景 App 项目要求实现第三方 微信 和 支付宝 登录,微信可以直接在 App 端完成认证拿到用户信息,支付宝则需要后端获取. 流程 1.服务端先拿到 App 端 调用 支付宝 SDK 所 ...

  4. app第三方登录利弊

    转自: http://www.infoq.com/cn/news/2014/11/third-party-login-drawbacks http://www.williamlong.info/arc ...

  5. App第三方登录微信遇到code以及无法弹出微信登录界面libs包不对等一系列问题解决

    1.首先code,我刚开始是下载的登录微信的demo,后来下载后发现没有code,网上说那个token就是.确实可以用.这就解决了code找不到的问题. 2.登录界面弹不出来的问题,即使你AppID都 ...

  6. php app 第三方登录接口开发文档,申请appid和appkey

    申请appid和appkey 申请appid和appkey 申请地址: http://connect.qq.com/intro/login/ 申请流程: 1. 点击页面上的"申请加入&quo ...

  7. uni app和php开发微信登录代码,uniapp如何实现微信授权登录

    uniapp实现微信授权登录的方法:首先获取对应的appid和appsecret:然后在uniapp项目的manifest.json中进行APP SDK配置和模块权限配置.最后实现编码. 本教程操作环 ...

  8. 微信第三方登录(PC网站、APP、移动网页)

    最近搞微信第三方登录,搞蒙圈了. 我们的业务有两个场景需要使用微信第三方登录: 1.APP 第三方登录 2.H5网页第三方登录,具体流程:用户微信端收到一个二维码--->扫码后同意微信授权--& ...

  9. uni-app入门教程(7)第三方登录和分享

    文章目录 前言 一.通用配置 1.微信小程序端配置 2.APP端配置 二.微信小程序第三方登录 1.判断是否登录 2.登录页面开发 三.APP第三方登录 四.分享接口 1.小程序分享 2.APP分享 ...

  10. android 第三方登录界面,Android App集成第三方登录与换肤指南

    Android App集成第三方登录与换肤指南 文档编辑 概述 本文主要是介绍了如何通过开源框架快速支持QQ和微信登录,并介绍了如何实现app快速换肤 QQ登录接入 APP要支持QQ登录,需要先到腾讯 ...

最新文章

  1. IO模式——同步(堵塞、非堵塞)、异步
  2. ApkTool反编译出错brut.common.brutexception及java.io.filenotfoundexception 之一
  3. Spring Cloud构建微服务架构:服务容错保护(Hystrix断路器)【Dalston版】
  4. 树大招风:英伟达证实遭遇攻击,核心源代码惨遭泄露,75GB机密数据被公开
  5. css设置子盒子水平垂直居中(四种方式)
  6. 两台设备有三条链路,请问如何添加?
  7. 狗屎的Easy UI ,链接页面出错!搞了我一上午!
  8. Atitit 前端 dom 的艺术 attilax著 目录 1. 概念 1 2. 发展历程 1 2.1. 厂商各自为政 2 2.2. 1.4 制定标准 标准化 w3cdom 2 2.3. 1.4.
  9. 22_粗粒度权限控制
  10. 酒店消防安全知识培训PPT模板
  11. 微服务面试题 - Spring Cloud
  12. 推荐10款适合C/C++开发人员的IDE
  13. 逆向CS生成的exe马
  14. 苹果safari浏览器video视频无法播放
  15. 微信重磅更新!上线4个实用功能,尝鲜体验有木有你想要的功能
  16. 配音赚钱的软件有哪些 ?推荐以下这3个平台
  17. Resilience4j简介
  18. PS合成图片#ps抠图#ps视频教程入门基础学习课程小白
  19. 怎样学好软件工程专业!!!
  20. linux根文件系统配置,Linux学习笔记__ Linux根文件系统详解

热门文章

  1. layer 关闭一个弹窗打不开新的的弹窗_电脑小技巧关闭FF弹窗
  2. 搭建JIRA避坑指南
  3. C++用unordered_map查表代替if else/switch case多判断语句
  4. JavaFX入门(一):我的第一个JavaFX程序
  5. js点击箭头旋转的实现
  6. get和post详解
  7. 登录谷歌账号出现浏览器不安全的提示
  8. 谷歌文件系统GFS理解
  9. Searching for MobileNetV3翻译
  10. 电脑一般预装access吗_我告诉你惠普预装office是永久的吗