微信小程序手机号登录
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 ...
随机推荐
- 【论文解读】Faster sorting algorithm
一.简要介绍 基本的算法,如排序或哈希,在任何一天都被使用数万亿次.随着对计算需求的增长,这些算法的性能变得至关重要.尽管在过去的2年中已经取得了显著的进展,但进一步改进这些现有的算法路线的有 ...
- servlet一些笔记、详解
一.什么是servlet? 处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西.理解这个的前提是了解一些http协议的东西,并且知道 ...
- 我发布了一款相亲平台《i相遇》
因缘际会之下,我踏入了相亲平台的领域.起初,是为一位客户打造专属相亲应用,过程中深入体验了众多同类平台,却遗憾地发现它们普遍掺杂着欺诈的阴影--高昂的费用.兼职托儿的身影.以及虚假的钓鱼信息,不一而足 ...
- SuperMap iServer&iPortal&iEdge结合CAS 5.3服务器实现单点登录
2023-10-19 更新,由于阿里云maven镜像仓库里缺失了很多CAS5.3 依赖,如果缺少可以用附件里的同步到本地仓库 链接:https://pan.baidu.com/s/14DhRci_Am ...
- 如何判断一个网站是用的Nginx,还是Apache
事件起因: 接手了同事移交过来的一个网站,但是不知道这个网站是用什么做代理的,于是就去网上查资料 解决办法: 打开cmd窗口,输入以下命令即可 curl --head 域名/IP 注意,--hea ...
- EAS之WALT算法介绍
EAS调度器缘起 Linux内核的一直都使用完全公平调度器CFS(Completely Fair Scheduler)作为默认调度器,但是在使用中发现CFS如下几个问题. CFS主要是为了服务器性能优 ...
- Android 常用的性能分析工具详解:GPU呈现模式
此篇将重点介绍几种常用的Android性能分析工具: 一.Logcat 日志 选取Tag=ActivityManager,可以粗略地知道界面Displaying的时间消耗.当我们打开一个Activit ...
- C++ 第一节课 名字空间 ,输入输出函数,和 C 语言的区别
#include <iostream> // #include 头文件,C++标准库的头文件都不带 .h (.h 是C库头文件添加的) #include <cstdio> #i ...
- ES检索服务搜索结果高亮
一.前言 在实际使用中搜索结果中的关键词前端通常会以特殊形式展示,比如标记为红色使人一目了然.我们可以通过 ES 提供的高亮功能实现此效果. 二.代码实现 前文查询是通过一个继承 Elasticsea ...
- LeetCode题目练习记录 _数组和链表01 _20211007
LeetCode题目练习记录 _数组和链表01 _20211007 26. 删除有序数组中的重复项 难度简单2247 给你一个有序数组 nums ,请你原地 删除重复出现的元素,使每个元素 只出现一次 ...