当前位置: 首页 > news >正文

随手记:uniapp小程序登录方式和小程序使用验证码登录

小程序登录方式:


方式一:小程序授权登录
通过uni.login获取 临时登录凭证code,向后端换取token。

<u-button type="primary" shape="circle" @click="login">登 录</u-button>login() {uni.login({provider: 'weixin',success: loginRes => {console.log('loginRes', loginRes);//使用获取到的loginRes.code调用后端的登录接口}});
}


方式二:手机号授权登录
通过button按钮的设置open-type=“getPhoneNumber”事件,弹出手机号授权+调用 uni.login() 获取 临时登录凭证code,向后端换取token。会弹出用户确认弹窗

<u-button type="primary" shape="circle" @click="login" open-type="getPhoneNumber"  @getphonenumber="getPhoneNumber">登 录</u-button>getPhoneNumber(e) {if (!e.detail.hasOwnProperty("encryptedData")) { // 没有encryptedData代表用户拒绝授权return}// 授权登录获取用户codeuni.login({provider: 'weixin',success: loginRes => {console.log(loginRes);this.miniProgramCode = loginRes.code;console.log(e)uni.showLoading({mask: true,title: '授权登录中'})// 调接口传递给后端参数获取手机号码-完成授权并做页面跳转wxMiniProgramLogin({jsCode: this.miniProgramCode,code: e.detail.code,hospitalId: getApp().globalData.hospitalId || ''}).then(res => {console.log(res)uni.hideLoading();uni.setStorageSync('_USER_OPENID', res.data.openid);this.settingToken(res.data.token);this.getUserInfo().then(response => {let url = '';this.initIm();uni.showToast({ title: '登录成功', icon: 'none'});url = '/pages/index/main'setTimeout(() => { uni.switchTab({ url }) }, 500);})})}});},


方式三:用户信息授权登录
通过 uni.getUserProfile() 获取用户信息+调用 uni.login() 获取 临时登录凭证code,获取到用户加密数据后,向后端换取token

<u-button type="primary" shape="circle" @click="login" >登 录</u-button>login() {uni.getUserProfile({desc: '完善用户信息',success:userRes => {console.log('userRes', userRes);//拿到所需要的参数调用后端接口}})
}

小程序验证+验证码登录:


流程思路:
用户进入页面 > 输入手机号 > 点击获取验证码 > 输入验证码 > 点击登录时调用uni.login获取code,code获得后把 (code,手机号,验证码,若还有其他参数)这些参数传给登录接口 > 登录成功后端返回token openid > 前端把token openid缓存下来 > 登录完成 >跳转页面(首页或者指定页面)

代码后续更新...

相关文章:

随手记:uniapp小程序登录方式和小程序使用验证码登录

小程序登录方式&#xff1a; 方式一&#xff1a;小程序授权登录 通过uni.login获取 临时登录凭证code&#xff0c;向后端换取token。 <u-button type"primary" shape"circle" click"login">登 录</u-button>login() {uni.login({p…...

【Hadoop|HDFS篇】DataNode概述

1. DataNode的工作机制 1&#xff09;一个数据块在DataNode上以文件形式存储在磁盘上&#xff0c;包括两个文件&#xff0c;一个是数据本身&#xff0c;一个是元数据包括数据块的长度&#xff0c;块数据的校验和&#xff0c;以及时间戳。 2&#xff09;DataNode启动后向NameNod…...

Vue2 VueRouter学习笔记

VueRouter 官方文档 版本对应 vue2&#xff1a;3.x.x vue3&#xff1a;4.x.x 路由&#xff1a;访问路径与vue组件&#xff08;页面&#xff09;之间的映射关系 VueRouter&#xff1a;Vue官方提供的插件&#xff0c;本质上是一个 JavaScript 库&#xff0c;用于在 Vue.js 应用…...

3D培训大师,化工企业安全教育与应急演练的新助力

化工企业的生产安全培训&#xff0c;作为保障员工生命安全与企业稳定运营的基石&#xff0c;其重要性不言而喻。传统的培训方式内容僵化、形式单一缺乏互动、效果难以评估&#xff0c;越来越不适应化工企业的实际需求。因此&#xff0c;探索和应用更为高效、创新的培训工具&…...

斯坦福大学论文润色chat-gpt指令

Quick Prompts快速提示 To enhance text clarity-为了增强文本清晰度 As a non-native English speaker, kindly help me revise the following text for improved understand clarity. Please check for spelling and sentence structure errors and suggest alternatives.为…...

简单硬件在环搭建(ROS+Prescan+Carsim+simulink)

本文通过ROSPrescanCarsimsimulink搭建简单的硬件在环仿真测试平台。 系统架构如下&#xff1a; 在Windows中运行prescan场景仿真软件&#xff0c;在jetson Nano中运行ROS&#xff0c;硬件上两台电脑通过一根网线相连传输信息&#xff1b; 1.prescan与carsim的集成 在C:\car…...

【Python 数据分析学习】Pandas基础与应用(1)

题目 1 Pandas 简介1.1 主要特征1.2 Pandas 安装 2 Pandas中的数据结构2.1 Series 数据结构和操作2.1.1 Series的数据结构2.1.2 Seres的操作 2.2 DataFrame 数据结构和操作2.2.1 DataFrame 数据结构2.2.2 Dataframe 操作2.2.3 DateFrame 的特殊操作 2.3 Series 和 DataFrame 的…...

pytorch入门(1)——pytorch加载数据初认识

环境配置及其安装&#xff1a; 2023最新pytorch安装&#xff08;超详细版&#xff09;-CSDN博客 pytorch加载数据初认识 Dataset&#xff1a;创建可被Pytorch使用的数据集 提供一种方式获取数据及其label Dataloader&#xff1a;向模型传递数据 为网络提供不同的数据形式 …...

Spring下载文件

1、controller /*** 下载文件通过ID** param auditInformationDTO 靓号稽核文件DTO* param servletResponse 响应体*/ GetMapping(value "/downloadAuditFileByAuditFileId") public void downloadAuditFileByAuditFileId(ModelAttribute final GoodNumberAuditInf…...

如何在数据库中备份表:操作指南与注意事项

在数据库管理中&#xff0c;备份表是一种常见的操作&#xff0c;它可以帮助我们保存数据的当前状态&#xff0c;以便在需要时进行恢复或分析。备份表可以通过创建一个新表并复制原表的所有数据到新表中来实现。 以下是具体的SQL语句&#xff1a; CREATE TABLE backup_table A…...

【数据结构】第八节:链式二叉树

个人主页&#xff1a; NiKo 数据结构专栏&#xff1a; 数据结构与算法 源码获取&#xff1a;Gitee——数据结构 一、二叉树的链式结构 typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTreeNode* left; // 左子树根节点struct BinaryT…...

Fair Graph RepresentationLearning via Diverse Mixture-of-Experts

发表于&#xff1a;WWW23 推荐指数&#xff1a; #paper/⭐⭐ 问题背景&#xff1a; 背景 现实世界的数据很多样&#xff0c;阻止GNN学习公平的表示。当去偏见化后&#xff0c;他们面临着可学知识不足且属性有限的重大问题 解决方法&#xff1a; 应对公平训练导致可学习知识…...

电机驱动开发之驱动板

目录 1.主要器件选型2.原理图设计3.PCB绘制电源调理驱动电路电流反馈位置反馈 4.PCB绘制5.打板验证6.总结 1.主要器件选型 器件参数封装理由LDOLM317DCYR &#xff08;24V-12V 12V-5V&#xff09;SOT-223小电流应用 LDO比DCDC噪声小响应快更为稳定预驱FD6288TTssop-20常见无刷…...

STM32F1 HAL库笔记2_HAL 系统驱动程序

1、HAL 固件驱动程序 API 1.1、如何使用此驱动程序 通用 HAL 驱动程序包含一组通用的 API&#xff0c;PPP 外设驱动程序可以使用这些 API 来开始使用 HAL。HAL 包含两个 API 类别&#xff1a; • 常见的 HAL API • 服务 HAL API 1.2、初始化和去初始化函数 本节提供的功能&a…...

el-table实现当内容过多时,el-table显示滚动条,页面不显示滚动条

估计有不少小伙伴在开发公司的ERP使用el-table都会遇到这么一个问题&#xff0c;就是产品经理提出&#xff0c;页面不出现滚动条&#xff0c;因为不美观。但是当el-table内容过多&#xff0c;超过页面的宽度时候&#xff0c;页面就会有滚动条。那应该如何解决呢?能不能让滚动条…...

Java面试篇基础部分-Java中的异常以及异常处理

导语   在实际的开发过程中,往往会遇到各种各样的编程异常,如何处理这些异常,直接会影响到整个程序和系统的稳定性,如果不能在合适的地方抛出合适的异常或者是对异常进行捕获。那么就会影响到整个程序的运行。所以如何处理异常,是作为每个开发者来说必不可少的开发技能。…...

win11 MySQL的坑

最近升级了系统&#xff0c;导致以前的安装的两个版本MySQL服务无法启动&#xff0c;只能在mysql的bin目录&#xff0c;执行mysqld --console才能启动&#xff0c;mysqld都无法启动&#xff0c; 所幸进行了数据库初始化&#xff0c;这次在MySQL的bin目录执行 mysqld或者mysqld …...

stm32单片机个人学习笔记1(简单介绍)

前言 本篇文章属于stm32单片机&#xff08;以下简称单片机&#xff09;的学习笔记&#xff0c;来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记&#xff0c;只能做参考&#xff0c;细节方面建议观看视频&#xff0c;肯定受益匪浅。 STM32入门教程-2023版 细…...

python中@staticmethod、@classmethod用法

1、类的基础介绍 类对象&#xff1a;定义的类就是类对象 类属性&#xff1a;定义在__init__ 外部的变量 类方法&#xff1a;定义在类中&#xff0c;且被classmethod 装饰的方法 实例对象&#xff1a;类对象实例化后就是实例对象 实例属性&#xff1a;定义在__init__内部带…...

Harmony Next 文件命令操作(发送、读取、媒体文件查询)

查询文件位置 hdc shell mediatool query IMG_20240902_204224.jpg 输出示例 拉取文件 hdc file recv /storage/cloud/100/files/Photo/4/IMG_1725281044_036.jpg aa.jpg 发送文件 hdc file send aa.jpg /storage/media/100/local/files/Docs/Download/ab.jpg 下载目录位置…...

Qwen3.5-35B-A3B-AWQ-4bit企业落地应用:教育题图分析、医疗影像初筛、工业图纸解读

Qwen3.5-35B-A3B-AWQ-4bit企业落地应用&#xff1a;教育题图分析、医疗影像初筛、工业图纸解读 1. 多模态AI在企业场景的价值 在当今企业运营中&#xff0c;视觉内容处理已成为关键环节。教育机构需要快速分析教材插图&#xff0c;医疗机构面临海量影像筛查压力&#xff0c;工…...

Z-Image-Turbo-rinaiqiao-huiyewunv 模型微调实战:使用自定义数据集训练专属风格

Z-Image-Turbo-rinaiqiao-huiyewunv 模型微调实战&#xff1a;使用自定义数据集训练专属风格 想不想让AI画出专属于你的独特风格&#xff1f;比如&#xff0c;你是一位插画师&#xff0c;希望AI能学会你笔下那种温暖治愈的线条&#xff1b;或者你经营一个品牌&#xff0c;需要…...

VBA延时技术全解析:从基础Timer到高精度API的避坑指南

1. VBA延时技术入门&#xff1a;为什么需要精确控制时间&#xff1f; 在自动化办公场景中&#xff0c;VBA脚本经常需要控制操作节奏。比如批量处理Excel数据时&#xff0c;如果连续快速操作可能导致系统资源冲突&#xff1b;或者开发用户界面时需要实现按钮点击后的缓冲效果。这…...

nli-distilroberta-base在智能客服中的应用:自动判断用户问句与知识库答案的关系

nli-distilroberta-base在智能客服中的应用&#xff1a;自动判断用户问句与知识库答案的关系 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)Web服务&#xff0c;专门用于判断两个句子之间的逻辑关系。在智能客服场景中&#xff0c;这项…...

WarcraftHelper:魔兽争霸3兼容性问题的全方位解决方案

WarcraftHelper&#xff1a;魔兽争霸3兼容性问题的全方位解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 问题发现&#xff1a;现代系统下的经…...

MWGA 双线编译技术方案:一份代码,双端生成

核心技术原理MWGA 的双线编译基于模块化架构与跨平台编译引擎&#xff0c;实现「一份代码&#xff0c;双向生成」。代码分层&#xff1a; 将代码划分为核心业务逻辑层与端侧 UI 适配层。核心层包含数据模型、算法、权限校验等通用功能&#xff0c;纯 C# 编写且不依赖端侧 API&a…...

开发者必备:OpenClaw+Qwen3-32B镜像调试Python脚本全攻略

开发者必备&#xff1a;OpenClawQwen3-32B镜像调试Python脚本全攻略 1. 为什么选择OpenClawQwen3-32B组合&#xff1f; 去年冬天调试一个图像处理项目时&#xff0c;我每天要反复执行十几个Python脚本&#xff0c;手动检查日志、截图比对结果。直到发现OpenClaw这个"数字…...

矩阵LED与矩阵按键的扫描驱动原理及实现

1. 矩阵LED与矩阵按键的硬件结构解析 第一次接触矩阵LED和矩阵按键时&#xff0c;我完全被那些交叉的线路搞晕了。后来才发现&#xff0c;它们的本质就是行和列的交叉网络。想象一下围棋棋盘&#xff0c;横线是行&#xff0c;竖线是列&#xff0c;每个交叉点就是一颗棋子——在…...

探索前沿技术:如何利用AI优化现代软件开发流程

1. AI如何改变现代软件开发的面貌 十年前我刚入行时&#xff0c;软件开发还停留在"人肉编程"阶段。每个功能都要手动敲代码&#xff0c;调试全靠print大法&#xff0c;项目管理用Excel表格记录进度。现在回想起来&#xff0c;当时的开发方式就像用手工织布机做衣服—…...

DanKoe 视频笔记:数字时代财富创造指南:思想是新石油

在本节课中&#xff0c;我们将探讨在数字时代创造财富的新范式。我们将分析传统投资和房地产的局限性&#xff0c;并揭示“思想”如何成为这个时代最宝贵的、可无限开采的资源。通过理解并构建“数字房地产”&#xff0c;任何人都可以踏上一条全新的致富之路。 概述&#xff1…...