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

微信小程序手机号码授权登录

文章目录

  • 一、微信小程序开发
  • 二、使用步骤
    • 1.前端代码
    • 2.后台配置
    • 3.后台代码
  • 总结


一、微信小程序开发

目前个人的小程序无法使用手机号码授权登录,可以使用测试号进行开发

二、使用步骤

1.前端代码

代码如下(示例):

<button open-type="getPhoneNumber" bindgetphonenumber="getUserPhoneNumber">立即登录</button>
Page({getUserPhoneNumber(event) {if(event.detail.errMsg != "getPhoneNumber:ok") {// 授权失败return false;}// 发起请求,进行授权登录wx.request({url: app.globalData.basePath + '/system/applet/login',data: {phoneCode: event.detail.code},method:'POST',success: res => {console.log(res.data);wx.setStorageSync('applet', res.data);}})}
}}

2.后台配置

# 小程序配置
applet:appId: wx53fda****c6b0a3appSecret: ade99d6dca77****f52fecd5d35039b5grantType: authorization_code

3.后台代码

代码如下(示例):

package com.ruoyi.system.domain.io;public class AppletLoginInput {private String phoneCode;private String iv;private String encryptedData;public String getPhoneCode() {return phoneCode;}public void setPhoneCode(String phoneCode) {this.phoneCode = phoneCode;}public String getIv() {return iv;}public void setIv(String iv) {this.iv = iv;}public String getEncryptedData() {return encryptedData;}public void setEncryptedData(String encryptedData) {this.encryptedData = encryptedData;}
}
package com.ruoyi.system.domain.io;public class AppletLoginOutput {/*** token信息*/private String token;public String getToken() {return token;}public void setToken(String token) {this.token = token;}
}
/*** 微信小程序手机号码授权登录* @param input*/
@Anonymous
@PostMapping("/login")
public AppletLoginOutput login(@RequestBody AppletLoginInput input) {AppletLoginOutput appletLoginOutput = new AppletLoginOutput();// 首先获取最新的token信息String tokenParam = "appid=" + appletConfig.getAppId() + "&secret=" + appletConfig.getAppSecret() + "&grant_type=client_credential";String tokenResult = HttpUtils.sendGet("https://api.weixin.qq.com/cgi-bin/token", tokenParam);JSONObject tokenJSONObject = JSONObject.parseObject(tokenResult);// 通过登录信息获取用户的手机号码// 获取token 信息String body = "{\"code\": \"" + input.getPhoneCode() + "\"}";HttpRequest post = HttpUtil.createPost("https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + tokenJSONObject.getString("access_token"));post.header("Content-Type", "application/json");post.body(body);HttpResponse execute = post.execute();AppletResultModel resultModel = JSONObject.parseObject(execute.body(), AppletResultModel.class);String jsonString = JSONObject.toJSONString(resultModel);System.out.println(jsonString);// {"errcode":0,"errmsg":"ok","phone_info":{"countryCode":"86","phoneNumber":"178****3721","purePhoneNumber":"178****3721","watermark":{"appid":"wx53fda****1c6b0a3","timestamp":1754865784}}}return appletLoginOutput;
}

总结

人生物语:别哭泣,别叹息。悲伤唤不回逝去的时光。做一个简单的人,看得清世间繁杂却不在心中留下痕迹,保持平常心,简单,快乐。请别把我当傻瓜,有些事不是我不知道,只是我看在眼里,埋在心里。一个人最好记性不要太好,因为回忆越多,幸福感越少。

相关文章:

微信小程序手机号码授权登录

文章目录 一、微信小程序开发二、使用步骤1.前端代码2.后台配置3.后台代码 总结 一、微信小程序开发 目前个人的小程序无法使用手机号码授权登录&#xff0c;可以使用测试号进行开发 二、使用步骤 1.前端代码 代码如下&#xff08;示例&#xff09;&#xff1a; <butto…...

【网络编程开发】1.网络结构 2.IP地址与端口号 3.字节序

网络编程开发 两台计算机要互相传送文件需解决很多问题&#xff1a; 必须有一条传送数据的通路。发起方必须激活通路。要告诉网络如何识别接收方。发起方要清楚对方是否已开机&#xff0c;且与网络连接正常。发起方要清楚对方是否准备好接收和存储文件。若文件格式不兼容&…...

读取文件

自学python如何成为大佬(目录):自学python如何成为大佬(目录)_利用python语言智能手机的默认语言实战一-CSDN博客 在Python中打开文件后&#xff0c;除了可以向其写入或追加内容&#xff0c;还可以读取文件中的内容。读取文件内容主要分为以下几种情况&#xff1a; 1 读取指…...

Allure在jenkins中无法显示的问题

jenkins中使用allure生成报告需要注意工作环境和路径的配置 前提条件&#xff1a; jenkins容器中已安装jdk和allure jenkins中配置全局工具环境&#xff1a; 项目中配置allure路径&#xff1a; 路径来源&#xff1a; Path需要选择相对路径的allure-report、allure-results...

建筑建筑一建考试试题及答案,分享几个实用搜题和学习工具 #其他#职场发展

收录了大量考试类型的题库&#xff0c;大到考公&#xff0c;小到知识竞赛&#xff0c;题库资源算是比较丰富的了。操作起来也不难&#xff0c;我们只需输入题目内容&#xff0c;即可快速搜索出答案&#xff0c;而且它在给出答案的同时还会附带解析。最重要的是&#xff0c;搜题…...

[240607] Jina AI 发布多模态嵌入模型 | PHP 曝新漏洞 | TypeScript 5.5 RC 发布公告

目录 Jina AI 多模态嵌入模型 - jina-clip-v1PHP 漏洞 CVE-2024-4577TypeScript 5.5 RC 发布公告 Jina AI 多模态嵌入模型 - jina-clip-v1 jina-clip-v1 是 Jina AI 最新推出的多模态嵌入模型。与 OpenAI CLIP 相比&#xff0c;它大幅提升了纯文本检索方面的性能&#xff0c;同…...

LeetCode 算法:滑动窗口最大值c++

原题链接&#x1f517;&#xff1a;滑动窗口最大值 难度&#xff1a;困难⭐️⭐️⭐️ 题目 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动…...

荆州餐饮环保在行动:清洗油烟净化器,守护城市环境

我最近分析了餐饮市场的油烟净化器等产品报告&#xff0c;解决了餐饮业厨房油腻的难题&#xff0c;更加方便了在餐饮业和商业场所有需求的小伙伴们。 在荆州&#xff0c;餐饮业不仅是美食爱好者的天堂&#xff0c;更是城市生活的重要组成部分。然而&#xff0c;随着餐饮业的发…...

AIConnect赋能加持丨AI+DEPIN 共同推动AI发展的技术与运用峰会圆满落幕

6月6日&#xff0c;由AIConnect主办&#xff0c;JuCoin协办的「AIDePIN 共同推动AI发展的技术与应用」峰会在胡志明市圆满落幕&#xff01;此次活动不仅是AIConnect生态在市场推广和技术应用方面的重要一步&#xff0c;也标志着JuCoin在推动AI与DePIN技术融合中的又一里程碑。 …...

【自定义View】Android圆饼进度条

源码 自定义属性 <?xml version"1.0" encoding"utf-8"?> <resources><declare-styleable name"ArcProgressView"><attr name"android:textSize" /><attr name"bgBorderWidth" format"d…...

AI重塑搜索和浏览器,360打造AIPC轻量化方案

6月6日&#xff0c;360AI新品发布会暨开发者沟通会在京举办&#xff0c;360集团发布全新360AI搜索、360AI浏览器&#xff0c;360集团创始人周鸿祎在现场使用360AI搜索为2024年高考语文作文押题。同时&#xff0c;“360AI甄选”平台及会员体系“360AI大会员”正式上线&#xff0…...

Meta Llama 3 RMSNorm(Root Mean Square Layer Normalization)

Meta Llama 3 RMSNorm&#xff08;Root Mean Square Layer Normalization&#xff09; flyfish 目录 Meta Llama 3 RMSNorm&#xff08;Root Mean Square Layer Normalization&#xff09;先看LayerNorm和BatchNorm举个例子计算 LayerNormRMSNorm 的整个计算过程实际代码实现结…...

MySQL-6、单表访问方法

前言 前面介绍了MySQL表空间相关的内容。包括区、段、碎片区&#xff0c;还有一些不同的页类型的作用。 &#xff08;如果没有看前面五篇文章&#xff0c;不建议看此篇文章&#xff09; 传送门&#xff1a; MySQL-1、InnoDB行格式 MySQL-2、InnoDB数据页 MySQL-3、索引 M…...

C语言实现三角波生成

C语言实现三角波生成 #include <stdio.h>#define SAMPLE_RATE 10000 // 采样率10kHz=10000Hz 对应100us=0.1ms #define UP_TIME 12.5 //上升时间12.5ms #...

WPF国际化的最佳实践

WPF国际化的最佳实践 1.创建项目资源文件 如果你的项目没有Properties文件夹和Resources.resx文件&#xff0c;可以通过右键项目-资源-常规-添加创建或打开程序集资源 2.添加国际化字符串 打开Resources.resx文件&#xff0c;添加需要翻译的文本字符&#xff0c;并将访问修…...

ctfshow web

【nl】难了 <?php show_source(__FILE__); error_reporting(0); if(strlen($_GET[1])<4){echo shell_exec($_GET[1]); } else{echo "hack!!!"; } ?> //by Firebasky //by Firebasky ?1>nl //先写个文件 ?1*>b //这样子会把所有文件名写在b里…...

【力扣】矩阵中的最长递增路径

一、题目描述 二、解题思路 1、先求出以矩阵中的每个单元格为起点的最长递增路径 题目中说&#xff0c;对于每个单元格&#xff0c;你可以往上&#xff0c;下&#xff0c;左&#xff0c;右四个方向移动。那么以一个单元格为起点的最长递增路径就是&#xff1a;从该单元格往上…...

语音深度鉴伪识别项目实战:基于深度学习的语音深度鉴伪识别算法模型(二)音频数据预处理及去噪算法+Python源码应用

前言 深度学习技术在当今技术市场上面尚有余力和开发空间的&#xff0c;主流落地领域主要有&#xff1a;视觉&#xff0c;听觉&#xff0c;AIGC这三大板块。 目前视觉板块的框架和主流技术在我上一篇基于Yolov7-LPRNet的动态车牌目标识别算法模型已有较为详细的解说。与AIGC相…...

网络原理——http/https ---http(1)

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 今天你敲代码了吗 网络原理 HTTP/HTTPS HTTP,全称为"超文本传输协议" HTTP 诞⽣与1991年. ⽬前已经发展为最主流使⽤的⼀种应⽤层协议. 实际上,HTTP最新已经发展到 3.0 但是当前行业中主要使用的HT…...

Docker安装、使用,容器化部署springboot项目

目录 一、使用官方安装脚本自动安装 二、Docker离线安装 1. 下载安装包 2. 解压 3.创建docker.service文件 4. 启动docker 三、docker常用命令 1. docker常用命令 2. docker镜像命令 3. docker镜像下载 4.docker镜像push到仓库 5. docker操作容器 6.docker …...

5大场景重构AI协作流程:Awesome Claude Skills实战指南

5大场景重构AI协作流程&#xff1a;Awesome Claude Skills实战指南 【免费下载链接】awesome-claude-skills A curated list of awesome Claude Skills, resources, and tools for customizing Claude AI workflows 项目地址: https://gitcode.com/GitHub_Trending/aw/awesom…...

惊艳!Pi0具身智能v1动作轨迹可视化:关节控制曲线清晰呈现

惊艳&#xff01;Pi0具身智能v1动作轨迹可视化&#xff1a;关节控制曲线清晰呈现 1. 具身智能的动作可视化革命 在机器人实验室里&#xff0c;工程师小李正盯着屏幕上一堆杂乱的数据点发愁——这是他们最新研发的机械臂在执行抓取任务时生成的关节角度数据。理论上这些数字应…...

保姆级教程:在RTX 5090上跑通CosyVoice2语音合成,并集成vLLM加速

在RTX 5090上部署CosyVoice2语音合成&#xff1a;从环境配置到vLLM加速实战 当你刚拿到Nvidia RTX 5090显卡时&#xff0c;最兴奋的莫过于用它来跑最新的AI模型。CosyVoice2作为当前最先进的语音合成框架之一&#xff0c;结合vLLM的推理加速能力&#xff0c;能在RTX 5090上实现…...

FLUX.1-dev像素艺术模型效果对比:原生FLUX.1-dev vs Pixel Dream微调版差异

FLUX.1-dev像素艺术模型效果对比&#xff1a;原生FLUX.1-dev vs Pixel Dream微调版差异 1. 像素艺术生成技术概览 像素艺术作为一种独特的数字艺术形式&#xff0c;近年来在游戏开发、NFT创作和数字设计领域重新焕发活力。传统像素艺术创作需要艺术家手动绘制每个像素点&…...

Blender多材质合并与Three.js统一渲染:从烘焙到GLB导出的完整指南

1. 多材质模型合并的核心痛点 在Blender中合并多个模型时&#xff0c;即使将它们合并为单一Mesh对象&#xff0c;导出为GLB格式后在Three.js中仍然会被拆分成多个Mesh。这个问题困扰过不少开发者&#xff0c;我自己在早期项目中也踩过这个坑。根本原因在于&#xff1a;Three.js…...

OpenCV插值方法实战指南:从原理到性能优化

1. 图像插值&#xff1a;为什么它如此重要&#xff1f; 想象一下你在手机上查看一张老照片&#xff0c;想把它放大看清楚细节。这时候&#xff0c;手机就需要"创造"出原本不存在的像素来填充放大后的空白区域。这就是图像插值最直观的应用场景。作为计算机视觉的基础…...

避坑指南:思科模拟器做链路聚合时,你可能会遇到的5个报错及解决方法

思科模拟器链路聚合实战&#xff1a;5个典型报错分析与精准排错指南 在Packet Tracer中配置链路聚合时&#xff0c;最令人头疼的往往不是基础配置步骤&#xff0c;而是那些突如其来的报错信息。上周有位学员在CCNA备考群里发了一张截图&#xff1a;%EC-5-CANNOT_BUNDLE2: Fa0/2…...

别再手动调参了!用Matlab+NRBO-BP+NSGAII搞定工艺优化,自动生成最优参数组合Excel

工艺优化新范式&#xff1a;基于NRBO-BP与NSGAII的智能参数寻优系统 在化工、材料、制造等领域的工艺优化过程中&#xff0c;工程师和研究人员常常面临一个共同的挑战&#xff1a;如何在有限的实验资源和时间约束下&#xff0c;从海量的参数组合中找到最优解。传统的手动调参方…...

OpenHarmony 5.0.2 音频驱动适配实战:从ADM配置到耳机/扬声器切换

1. OpenHarmony音频驱动适配背景与问题定位 最近在RK3568平台上适配OpenHarmony 5.0.2的音频功能时&#xff0c;遇到了一个典型问题&#xff1a;使用RK809音频芯片时&#xff0c;耳机可以正常发声&#xff0c;但内置扬声器完全没声音&#xff0c;而且插入耳机后扬声器也不会自动…...

5大维度解析Mac Mouse Fix:从工具到体验的蜕变之旅

5大维度解析Mac Mouse Fix&#xff1a;从工具到体验的蜕变之旅 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix Mac Mouse Fix是一款让普通鼠标在macOS系统上…...