uniapp登录流程详解uni.login

2023-11-11

uni.login(OBJECT)登录

H5平台登陆注意事项:

微信内嵌浏览器运行H5版时,可通过js sdk实现微信登陆,需要引入一个单独的js,详见普通浏览器上实现微信登陆,并非开放API,需要向微信申请,仅个别开发者有此权限H5平台的其他登陆,比如QQ登陆、微博登陆,uni-app未封装,请在条件编译里按普通H5写法编写。

OBJECT 参数说明

参数名 类型 必填 说明 平台差异说明provider String 否 登录服务提供商,通过 uni.getProvider 获取,如果不设置则弹出登录列表选择界面
scopes String/Array 见平台差异说明 授权类型,默认 authbase。支持 authbase(静默授权)/ authuser(主动授权) / authzhima(芝麻信用) 支付宝小程序timeout Number 否 超时时间,单位ms 微信小程序、百度小程序success Function 否 接口调用成功的回调
fail Function 否 接口调用失败的回调函数
complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明

参数名 说明authResult 登录服务商提供的登录信息,服务商不同返回的结果不完全相同errMsg 描述信息

uni.login({
  provider: 'weixin',
  success: function (loginRes) {
    console.log(loginRes.authResult);
  }
});

uni.checkSession检查登录状态是否过期

属性 类型 必填 说明success function 否 接口调用成功的回调函数fail function 否 接口调用失败的回调函数complete function 否 接口调用结束的回调函数(调用成功、失败都会执行)

uni.getUserInfo(OBJECT)获取用户信息。

UNI-APP 开发微信公众号(H5)JSSDK 的使用方式

在 uniapp 中可以使用模块方式引用微信 js-sdk ,微信官网直接下载的使用有问题,可以使用 jweixin-module。

安装

下载使用方式下载地址:https://unpkg.com/jweixin-module@1.4.1/out/index.js

使用、

var jweixin = require('jweixin-module')  
jweixin.ready(function(){  
    // TODO  
});

一、小程序:

1、使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。

详情参考文档:

https://developers.weixin.qq.com/miniprogram/dev/component/button.html

2、使用 open-data 展示用户基本信息。

详情参考文档:

https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html

provider String 否 登录服务提供商,通过 uni.getProvider 获取
withCredentials Boolean 否 是否带上登录态信息。 微信小程序、头条小程序lang Number 否 指定返回用户信息的语言,默认为 en。更多值请参考下面的说明。 微信小程序timeout Number 否 超时时间,单位 ms。 微信小程序success Function 否 接口调用成功的回调
fail Function 否 接口调用失败的回调函数
complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)

userInfo 参数说明

参数 类型 说明 平台差异说明nickName String 用户昵称
openId String 该服务商唯一用户标识 5 AppavatarUrl String 用户头像

uni.login({
  provider: 'weixin',
  success: function (loginRes) {
    console.log(loginRes.authResult);
    // 获取用户信息
    uni.getUserInfo({
      provider: 'weixin',
      success: function (infoRes) {
        console.log('用户昵称为:'   infoRes.userInfo.nickName);
      }
    });
  }
});

说明:调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。

注意:

会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。临时登录凭证 code 只能使用一次

uni.getProvider(OBJECT)获取服务供应商。仅App平台支持。

在App平台,可用的服务商,是打包环境中配置的服务商,与手机端安装了什么app没有关系。

云打包在manifest中配置相关模块和SDK信息,离线打包在原生工程中配置。某个服务商配置被打包进去,运行时就能得到相应的服务供应商。

关于目前文章内容即涉及前端,PHP知识点,如果有兴趣即可关注,很荣幸,能被您发现,真是慧眼识英!也感谢您的关注,在未来的日子里,希望能够一直默默的支持我,我也会努力写出更多优秀的作品。我们一起成长,从零基础学编程,将 Web前端领域、数据结构与算法、网络原理等通俗易懂的呈现给小伙伴。分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯。

若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。

请点赞!因为你们的赞同/鼓励是我写作的最大动力!

欢迎关注达达的CSDN!

这是一个有质量,有态度的博客

7d927f18ebd05ea1d505a572393fbc87.jpg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uniapp登录流程详解uni.login 的相关文章

  • 数据结构学习——链表(C语言版)

    数据结构学习 链表的简单解析 一 何为链表 1 概念 2 特点 二 链表的简单实现 1 头插法 2 尾插法 3 模拟学生管理系统 一 何为链表 1 概念 链表 Linked list 是一种常见的基础数据结构 是一种线性表 但是并不会按线性
  • 公司新招了几个00后,我愿称之为卷王之王

    前几天我们公司一下子也来了几个新人 这些年轻人是真能熬啊 本来我们几个老油子都是每天稍微加会班就打算走了 这几个新人一直不走 搞得我们也不好走 2023年秋招就要开始了 最近内卷严重 各种跳槽裁员 相信很多小伙伴也在准备今年的金九银十的面试
  • java spring boot 判断用户、客户端是移动端,还是pc端

    一 设计流程 一 创建一个API 用这个API的地址 生成二维码图片 这个图片给用户扫的 二 创建二维码链接信息 例 安卓跳转到baidu com ios跳转到taobao com 三 后端系统在用户扫描后 判断用户系统 并跳转到相应地址
  • Python实现删除某列中含有空值的行

    客户需求 查看销售人员不为空值的行 数据存储情况如图 代码实现 import pandas as pd data pd read excel test xlsx sheet name Sheet1 datanota data data 销售
  • TensorFlow:常用函数介绍

    学习网址 Tensorflow中文社区 http www tensorfly cn 一 tensorflow框架笔记 1 Variable 一个Variable代表一个可修改的张量 存在在TensorFlow的用于描述交互性操作的图中 它们
  • C程序头文件注释格式

    Copyright C 2010 2011 Your Company FileName 文件名 Author 作者 Version 版本 Date 完成日期 Description 用于主要说明此程序文件完成的主要功能 与其他模块或函数的接
  • 蓝牙设备上电提示Failed to set power on: org.bluez.Error.Blocked

    NEW Controller 74 2F 68 6A 37 44 moon 0 default NEW Device 00 07 61 76 8E 78 Logitech diNovo Edge Agent registered bluet
  • 03. 微信公众号消息接收、事件推送与响应处理

    1 消息接收 官方文档 当普通微信用户向公众账号发消息时 微信服务器将POST消息的XML数据包到开发者填写的URL上 gt 接口配置信息的URL 即开发时 接收信息的接口的访问路径与微信接入的URL一致 但为 POST 请求 请求参数 依
  • 计算机毕业设计Java的工资管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java的工资管理系统 源码 系统 mysql数据库 lw文档 计算机毕业设计Java的工资管理系统 源码 系统 mysql数据库 lw文档 本源码技术栈 项目架构 B S架构 开发语言 Java语言 开发软件 idea ec
  • QA 如何打造自身的核心竞争力?

    转载自微服务质量保障 20 讲嘉木老师 怎样理解 核心竞争力 在讲解竞争力之前先看下什么是能力 能力是指一个人完成一个目标或者任务所体现出来的素质 如技能 知识 经验以及行为等 解释中暗含了 能力是一个绝对值 正数 的意思 显得比较学术 而
  • 360度全景标定方法_一种360度全视角鸟瞰全景行车辅助标定方法与流程

    技术领域本发明涉及辅助驾驶领域 具体地说是一种360度全视角鸟瞰全景行车辅助标定方法 背景技术 随着图像和计算机视觉技术的快速发展 越来越多的技术被应用到汽车电子领域 传统的基于图像倒车影像系统在车尾安装摄像头 只能覆盖车尾周围有限的区域
  • 【Vue3源码】第四章 实现isReadonly和isReactive

    Vue3源码 第四章 实现isReadonly和isReactive 前言 上一章节我们实现readonly API 并且优化之前写的reactive API 这一章我们实现isReadonly和isReactive两个API 1 实现is
  • Vue中对于指令的介绍

    Vue指令 文章目录 Vue指令 1 介绍 2 指令介绍 2 1 v html 2 2 v show和v if 3 2 v else 和 v else if 3 3 v on 3 4 v bind 3 5 v for 3 6 v for 中
  • (十二)Mybatis鉴别器discriminator和延迟加载的用法

    这篇文章主要讲述Mybatis鉴别器discriminator和延迟加载的用法 对大家的学习或者工作具有一定的参考学习价值 需要的朋友们下面随着小编来一起学习学习吧 目录 什么是鉴别器 代码示例 总结 什么是鉴别器 mybatis可以使用d
  • 微信小程序 - 修改 button 边框和背景色

    为什么80 的码农都做不了架构师 gt gt gt 微信小程序开发中使用 button 设置禁用时候 按钮会有默认的背景色和边框 下面分享下修改按钮边框和背景色 wxml代码
  • 简述SQL Server内存不断增加的原因,以及如何解决该问题。

    在启用sqlserver服务后 发现进程sqlservr exe的内存使用量从开始的100多MB持续增加 很快就高达1G以上 造成机器运行缓慢 卡机 严重影响使用 sql server 在查询大数据量的数据时 总会占用大量的内存 并且居高不
  • centos7和centos6区别:

    1 内核 centos7的内核用的是3 10 centos6的内核用的是2 6 2 文件系统 centos6 X EXT4 EXT4的单个文件系统容量达到1EB 单个文件大小则达到16TB centos7 X XFS XFS默认支持8EB见

随机推荐

  • c++继承中的内存布局(转)

    今天在网上看到了一篇写得非常好的文章 是有关c 类继承内存布局的 看了之后获益良多 现在转在我自己的博客里面 作为以后复习之用 谈VC 对象模型 美 简 格雷 程化 译 译者前言 一个C 程序员 想要进一步提升技术水平的话 应该多了解一些语
  • ceph分布式存储-常见OSD故障处理.md

    2 常见 OSD 故障处理 进行 OSD 排障前 先检查一下 monitors 和网络 如果 ceph health 或 ceph s 返回的是健康状态 这意味着 monitors 形成了法定人数 如果 monitor 还没达到法定人数 或
  • C++——STL容器

    首先 适配器的概念 适配器的意思就是将某些已经存在的东西进行限制或者组合变成一个新的东西 这个新的东西体现一些新的特性 但底层都是由一些已经存在的东西实现的 STL中的容器 vector 矢量 并非数学意义上的 STL最简单的序列类型 也是
  • Redis 安装系统服务报错 HandleServiceCommands: system error caught. error c ode=1073, message = CreateS

    系统已经存在该服务 需要先卸载才能重新安装 点击查看详细操作链接
  • ARC149题解

    ARC149 没有 F 题 A A A 题意 给定 n m 找到一个数字长 n 位 每位数字都相同且是 m 的倍数 题解 直接模拟 代码 B B B 题意 给定序列 A B 每次可以同时交换
  • JDK动态代理UndeclaredThrowableException异常

    UndeclaredThrowableException异常背景 最近项目上出现了 JDK动态代理UndeclaredThrowableException异常 此异常之前没有接触过 那么该异常将会导致什么呢 UndeclaredThrowa
  • 深圳讯商丨wms仓储管理系统在国内的应用方向有哪些

    wms仓储管理系统往常运用的很多 而且运用wms仓储管理系统便当 关于wms仓储管理系统在国内的应用方向有哪些呢 1 配送中心应用的wms仓储管理系统 如连锁超市的配送中心 汽车企业零配件配送中心等 这样的应用比较典型 如某医药集团物流中心
  • ffmpeg文档34-音频滤镜

    34 音频滤镜 当你配置编译FFmpeg时 先采用 disable filters可以禁止所有的滤镜 然后显式配置想要支持的滤镜 下面是当前可用的音频滤镜 adelay 延迟一个或者多个音频通道 它接受如下选项 delays 参数是以 分隔
  • Markdown基本语法

    Markdown是一种纯文本格式的标记语言 通过简单的标记语法 它可以使普通文本内容具有一定的格式 优点 1 因为是纯文本 所以只要支持Markdown的地方都能获得一样的编辑效果 可以让作者摆脱排版的困扰 专心写作 2 操作简单 比如 W
  • WebUI自动化测试之Selenium学习笔记(二)浏览器控制

    文章目录 Selenium库中webdriver模块的使用 1 浏览器控制 用例 2 鼠标控制 用例 3 键盘控制 4 获取属性信息 用例 4 窗口切换 用例 5 警告框处理 用例 6 下拉框选择操作 用例 7 文件上传 8 cookie操
  • 并行算法解决list

    并行算法序列和字符串 Scan prefix sums List ranking Sorting Merging Medians Searching String matching Other string operations 并行算法的
  • linux下如何使用 tcpdump 进行抓包详细教程

    非功能测试总览 前面的非功能测试总览种提出的 tcp网络访问dump 进行的额外补充 1 tcpdum核心参数详解 2 理解tcpdump的输出 3 常规过滤规则 4 可选参数解析 5 过滤规则组合 6 特殊过滤规则 7 如何抓取更为准确的
  • 查看linux服务主机,Linux下CodeStriker Server的搭建

    分为以下几个步骤 1 检查并安装Perl解析程序 一般情况下Lnux系统中自带perl解析程序 运行rpm qa grep perl 可以检查是否安装有 在本次安装中 检查到目标机器上装有版本号为5 8 8 10的perl解析程序 如系统中
  • maven中的scope--依赖范围

    初学springboot 在maven配置中了解的 记录下来 在一个maven项目中 如果存在编译需要而发布不需要的jar包 可以用scope标签 值设为provided
  • Aspose转换功能演示:使用C#以编程方式将STL转换为PDF或图像

    STL 立体光刻的缩写 代表3D表面几何形状 这些通常在与CAD有关的应用程序中使用 使用Aspose可以轻松快捷地将STL文件转换为PDF 由于PDF格式的兼容性 这种文件格式转换在需要查看不同操作系统和环境中的信息的情况下很有用 同样
  • 【数据结构--顺序表】移除元素(移除数组中等于val的元素,返回移除后数组新长度)

    题目描述 思路1 定义一个指针str指向首元素 遍历数组nums 如果 str val 则将该元素后面的所有元素前挪一位覆盖该元素 若 str val 则str 然而我们来看看这种写法的时间复杂度 我们可否将时间复杂度优化一下呢 由此想到第
  • PyQty5—第一课:安装及简单的界面设计(附代码)

    在日常办公中我们将经常使用的代码与PyQty5进行配合 从而设计出GUI的小程序 这样不经界面好看而且可以进行打包 发给自己的亲朋好友们进行使用 那么今天我们就来进行PyQty5的第一节课 1 首先我们需要安装PyQty5的库 库名 安装
  • TypeScript 基本类型(一)

    1 boolean 布尔值 true false let isDone boolean false 2 number 数字 和JavaScript 一样 TypeScript 里的所有数字都是浮点数 另外支持二进制 八进制 十进制 十六进制
  • C++ QT连接SQL Server基操

    以下是一个使用C QT连接SQL Server的示例代码 include
  • uniapp登录流程详解uni.login

    uni login OBJECT 登录 H5平台登陆注意事项 微信内嵌浏览器运行H5版时 可通过js sdk实现微信登陆 需要引入一个单独的js 详见普通浏览器上实现微信登陆 并非开放API 需要向微信申请 仅个别开发者有此权限H5平台的其