微信小程序手机号登录
import { wxPhoneLogin, getPhoneNumber } from '../login'
// 后端接口
// 服务端接口 - 获取openid
function queryOpenIdFn(code) {
return new Promise((resolve) => {
wxPhoneLogin({
code,
})
.then((res: any) => {
if (res.code == 0) {
console.log('获取openid失败1', res.msg)
return
}
uni.setStorageSync('openId', res.data.openid)
resolve(res.data)
})
.catch((err) => {
console.log('获取openid失败2', err)
})
})
}
// 服务端接口 - 获取手机号
function getPhoneNumberFn(phoneCode, openId) {
return new Promise((resolve) => {
getPhoneNumber({
code: phoneCode,
openId,
})
.then((res) => {
if (res.code == 0) {
console.log('获取手机号失败1:', res.msg)
return
}
resolve(res)
})
.catch((err) => {
console.log('获取手机号失败2:', err)
})
})
}
// 微信api : 微信登录
function loginFn() {
return new Promise((resolve, reject) => {
uni.login({
success: async (res) => {
queryOpenIdFn(res.code).then((res) => {
resolve(res)
})
},
fail: (err) => {
console.log('login fail:', err)
},
})
})
}
export { loginFn, getPhoneNumberFn }
界面调用
loginFn().then((res: any) => {
// 微信登录&服务端获取openid
console.log(res, '接口换取的openid')
console.log('获取手机号的动态令牌:', e.detail.code) // 动态令牌
getPhoneNumberFn(e.detail.code, res.openid).then((res2: any) => {
// 服务端获取手机号
console.log(555, res2)
if (res2.code == 1) {
userStore.setUserInfs(res2.data?.userinfo)
uni.setStorageSync('token', res2.data.userinfo.token)
gonswi('/pages/index/index')
}
})
})
新建 login.ts
微信小程序手机号登录的更多相关文章
- SpringCloud微服务实战——搭建企业级开发框架(五十二):第三方登录-微信小程序授权登录流程设计和实现
在前面的设计和实现中,我们的微服务开发平台通过JustAuth来实现第三方授权登录,通过集成公共组件,着实减少了很多工作量,大多数的第三方登录直接通过配置就可以实现.而在第三方授权登录中,微信小程 ...
- php(ThinkPHP)实现微信小程序的登录过程
源码也在我的github中给出 https://github.com/wulongtao/think-wxminihelper 下面结合thinkPHP框架来实现以下微信小程序的登录流程,这些流程是结 ...
- 使用Shiro+JWT完成的微信小程序的登录(含讲解)
使用Shiro+JWT完成的微信小程序的登录 源码地址https://github.com/Jirath-Liu/shiro-jwt-wx 微信小程序用户登陆,完整流程可参考下面官方地址,本例中是按此 ...
- 完整微信小程序授权登录页面教程
完整微信小程序授权登录页面教程 1.前言 微信官方对getUserInfo接口做了修改,授权窗口无法直接弹出,而取而代之是需要创建一个button,将其open-type属性绑定getUseInfo方 ...
- 微信小程序获取登录手机号
小程序获取登录用户手机号. 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 <button> 组件的点击来触发. 首先,放置一个 button 按钮,将 ...
- uni-app开发经验分享二十: 微信小程序 授权登录 获取详细信息 获取手机号
授权页面 因为微信小程序提供的 权限弹窗 只能通用户确认授权 所以可以 写一个授权页面,让用户点击 来获取用户相关信息 然后再配合后台就可以完成登录 <button class="bt ...
- uni-app 微信小程序授权登录
1.微信小程序 获取用户信息 与获取手机号 详细信息看官方公告:https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce8 ...
- 微信小程序的登录流程
一.背景 传统的web开发实现登陆功能,一般的做法是输入账号密码.或者输入手机号及短信验证码进行登录 服务端校验用户信息通过之后,下发一个代表登录态的 token 给客户端,以便进行后续的交互,每当t ...
- 微信小程序之登录态维护(十一)
[未经作者本人同意,请勿以任何形式转载] >什么是登录态? 所谓登录态,就是程序在运行时,能够识别当前用户,能够证明自己的唯一性且合法. 我们知道,WEB服务器通过浏览器携带的cookie获取s ...
- 微信小程序维护登录态与获取用户信息
前言. 微信小程序的运行环境不是在浏览器下运行的.所以不能以cookie来维护登录态.下面我就来说说我根据官方给出的方法来写出的维护登录态的方法吧. 一.登录态维护 官方的文档地址:https://m ...
随机推荐
- ubuntu莫名的 系统出现文件系统只读
运维记录 日期:2024年9月15日 问题描述: 在安装多个 LNMP 服务后,系统重启出现了问题.当尝试运行 apt update 命令时,系统出现了如下错误信息: 忽略:1 http://secu ...
- 网络安全&密码学—python中的各种加密算法
网络安全&密码学-python中的各种加密算法 一.简介 数据加密是一种保护数据安全的技术,通过将数据(明文)转换为不易被未经授权的人理解的形式(密文),以防止数据泄露.篡改或滥用.加密后的数 ...
- 10 分钟快速搞懂 Lambda 表达式
Lambda简介 Lambda表达式是Java8引入的一个重要特性,相当于一个语法糖. 语法糖(Syntactic sugar)是指在编程语言中引入的一种语法,它可以使代码更易读.更简洁,但并没有引入 ...
- Brainstorm 了道题但是不会做
题 因为没想出来暂时没定数据范围,不过应该会在 \(n^{2}\) 到 \(n^{3}\) 级别 我的一个思路是先对合法的方案连并查集,然后并查集内判重,但是不会算方案数,因为假如找到重的了不能直接看 ...
- ServiceMesh 2:控制面和数据面的职责(图文总结)
★ ServiceMesh系列 1 Service Mesh介绍 之前的章节我们详细介绍了ServiceMesh的基础知识. ServiceMesh 是最新一代的微服务架构,作为一个基础设施层,能够与 ...
- kotlin类与对象——>数据类、密封类、泛型
数据类,用来保存数据的类,使用data对class进行标记 data class User(val name: String, val age: Int) //编译器自动从主构造函数中声明的所有属性导 ...
- 探索 PCI 转 PMC 载板转接卡:连接不同接口的桥梁
探索 PCI 转 PMC 载板转接卡:连接不同接口的桥梁 在计算机硬件领域,各种接口和总线标准不断演进,以满足日益增长的性能和功能需求.在这个过程中,不同接口之间的转换设备应运而生,其中 PCI 转 ...
- 基于 WeDataSphere Prophecis 与 KubeSphere 构建云原生机器学习平台
KubeSphere 开源社区的小伙伴们,大家好.我是微众银行大数据平台的工程师周可,接下来给大家分享的是基于 WeDataSphere 和 KubeSphere 这两个开源社区的产品去构建一个云原生 ...
- Java开发23种设计模式(转)
[转载]https://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html 设计模式(Design Patterns) --可复用面 ...
- C#/.NET/.NET Core技术前沿周刊 | 第 10 期(2024年10.14-10.20)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...