一、解题思路:

微信授权登录(获取用户信息)
1.先获取用户信息——用户授权允许后,通过调用uni.login 可以获取到code。
2.拿着获取到的code去调用——登录接口,可以获取到token。
3.把token存入缓存。就可以在页面判断是否登录了。

二、代码

<view @click="getUserInfo()">点击登录</view><script>export default {data() {return {localtoken: ''}},onLoad() {},onHide() {},onShow() {this.localtoken = uni.getStorageSync('localtoken');},methods: {getUserInfo() {var that = this;uni.showLoading({ // 展示加载框title: '加载中',});uni.getUserProfile({ //获取到用户信息desc: '登录后可同步数据',success: async (obj) => {console.log('obj', obj);that.nickName = obj.userInfo.nickName //用户名that.avatarUrl = obj.userInfo.avatarUrl //用户头像// 调用 action ,请求登录接口uni.login({provider: 'weixin',success: (res) => {console.log('res-login', res);//获取到codethat.code = res.code;// console.log('code', res.code);//请求登录接口if (res.errMsg == 'login:ok') {var params = {code: that.code,nickname: that.nickName,avatar: that.avatarUrl}that.$api.appPlateForm('POST', 'auth/login', params, function(res) {if (res.code == 200) {uni.showToast({title: '登录成功',icon: 'success',mask: true,});//获取到token 存入缓存。通过有无token来判断是否登录// console.log('登录接口',res)uni.setStorageSync('localtoken', res.data.data.access_token)that.myProfile()  //用户信息接口that.getHistoryList()   //足迹接口}}, function(err) {uni.showToast({icon: 'none',title: err.msg})});}},});},fail: () => {uni.showToast({title: '授权已取消',icon: 'error',mask: true,});},complete: () => {// 隐藏loadinguni.hideLoading();},});},//退出登录logOut() {var that = thisuni.showModal({title: '确定要退出登录吗?',success: function(res) {if (res.confirm) {uni.removeStorageSync('token')that.nickname = ''that.headimgurl = ''} else if (res.cancel) {// console.log('用户点击取消');}}});},}}
</script>

三、效果展示


ending~

【微信授权登录】uniapp开发小程序,实现获取微信授权登录功能相关推荐

  1. 【微信小程序】uniapp开发小程序如何使用微信云托管或云函数进行云开发

    一. 申请微信云托管 这个不用说吧必须的,官方地址在这.直接进去申请就行. 但是前提是你得会创建docker file,学习掌握一些基本的docker知识,会让你创建环境变得简单一点.环境创建完成之后 ...

  2. uniapp开发小程序推送微信消息

    效果 //处理自己的逻辑freeClick() {this.getPushTempletes(()=> {this.$u.post('/fkmpPay/getExperiencePackage' ...

  3. uni-app开发 小程序直播功能

    uni-app开发小程序直播功能 1.微信后台申请插件开通 2.微信后台开通直播功能 3.代码中接入直播插件AppID 4.[直播组件]如何使用 5.直播组将状态获取 微信开发直播功能,需要企业账号: ...

  4. uni-app 开发小程序,使用到u-charts.js时会出现弹框或下拉框部分与图标重叠的情况(还有在解决过程中出现 vasToTempFilePath: fail canvas is empty)

    如下图,是我用uni-app开发小程序时出现视图与弹框或下拉框重叠的效果图,在微信开发工具上显示正常,但到了真机上就这样. 解决措施: 在小程序中canvas层级过高,导致z-index也无法让弹窗置 ...

  5. uniapp开发小程序,引入腾讯兔小巢插件,兔小巢页面导航头部样式错乱问题

    uniapp开发小程序,引入腾讯兔小巢插件,导航头部样式错乱问题 uniapp开发小程序,引入腾讯兔小巢插件,导航头部样式错乱问题 uniapp开发微信小程序,所有页面头部导航都是自定义的,引入腾讯兔 ...

  6. uni-app开发小程序并运行起来(使用ColorUI)

    uni-app开发小程序步骤详解 最近接到一个项目 开发一个小程序 主要是早教的培训机构使用 打算用uni-app来开发小程序 到时候打包成小程序就可以了 主要是用uni-app配合colorui使用 ...

  7. 微信小程序 - 使用 uni-app 开发小程序以及部分功能实现

    文章目录 一.uni-app 1.简介 2.开发工具 3.新建 uni-app项目 4.把项目运行到微信开发者工具 二.实现tabBar效果 1.创建tabBar页面 2.配置tabBar 三.配置网 ...

  8. Uniapp开发小程序引入微信快递跟踪(快递100)插件

    目录 1.小程序插件接入 2.代码示例 3.页面接收参数 4.常用快递100公司编码表 1.小程序插件接入 微信快递100插件地址:快递100-快递查询(免费接入) | 微信服务市场 (qq.com) ...

  9. uni-app开发小程序以及项目部署流程

    作者也是刚开始接触小程序开发,本次小程序开发使用的uni-app,记录下小程序的开发过程. 前期准备工作 作者使用的开发工具:HBuilder x.微信开发者工具. 创建uni-app项目 详细步骤可 ...

  10. 腾讯系:微信,公众号,小程序,企业微信开发知识概括

    腾讯系:公众号,小程序,企业微信等等开发知识概括 企业微信 公众号 小程序 微信开放平台 总结 企业微信 第三方应用开发(sass服务商): 概述:第三方应用接口旨在方便企业微信管理员通过简单的操作来 ...

最新文章

  1. python re match groups_【原创】如何治疗使用python中re模块group、groups与findall分组匹配后产生的“眩晕反应”...
  2. wxWidgets:wxAccessible类用法
  3. linux安全检测及防护,Linux安全检测及防护-单选题.doc
  4. 迪杰斯特拉算法 两点间最短路径的选择
  5. windows7更改开始菜单外观的方法
  6. tomcat性能调优和性能监控(visualvm)
  7. c语言数组前缀和,关于最大子数组问题
  8. Java中timer的schedule()和schedualAtFixedRate()函数的区别
  9. echarts 去掉Y轴分割线
  10. python 字符串子串_Python字符串子字符串
  11. nginx配置错误页面
  12. 2022计算机毕业设计如何选题?
  13. 阿里巴巴国际站 | 如何做数据分析?
  14. 硕士毕业论文框架怎么搭建?
  15. DRILLNET 2.0------第十三章 尾管固井扭矩/摩阻模型
  16. cad计算机清空按键,cad delete键不能用怎么办-解决cad按delete键不能删除的方法 - 河东软件园...
  17. unity3d 任务系统设计 mmo
  18. linux服务器光衰,交换机、linux光衰查询
  19. C/C++函数调用约定(基于X86架构下)
  20. Philcoin-人民的货币

热门文章

  1. 什么是日活,什么是月活,统计了有什么意义?
  2. 华为路由器接口如何区分_华为路由器的usb接口是什么意思
  3. 今日头条校招真题——异或
  4. 如果长颈鹿哭了,它会不会要哽咽好久
  5. 对向传播神经网络(CPN)
  6. Windows11专业版安装USBCAN-II驱动后报错“……无法加载这个硬件的设备驱动程序……(代码39)”解决方案
  7. c# 检测中英输入法_用C#控制当前输入法
  8. LeetCode 1528. 重新排列字符串
  9. 梁宁-产品思维-笔记
  10. linux dd命令实战