微信小程序02: 使用微信快速验证组件code获取手机号

这篇具有很好参考价值的文章主要介绍了微信小程序02: 使用微信快速验证组件code获取手机号。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1.前言简介

上文为核心文章, 请先复制上文的代码后再复制此篇代码
里面是对微信小程序大部分操作的总结与封装

1.1 专栏传送门

本篇专栏地址:
=> 传送门: 微信小程序相关操作专栏 <=

专栏中的一个文章说明(可跳过此说明)

  • 有一个旧的文章, 里面有个获取手机号的demo,
  • 基本直接复制那篇也可以使用(不推荐)
  • => 传送门:(旧版本)获取手机号(不推荐)

1.1.1 上文小总结

上文为核心文章, 请先复制上文的代码后再复制此篇代码
里面是对微信小程序大部分操作的总结与封装

1.1.2 上文传送门

[===> 微信小程序00: 获取accessToken,手机号, 小程序二维码,openId与unionId 公共配置类(核心篇) ]

2. 微信小程序获取手机号

微信小程序官方文档: => 传送门 <=
微信小程序怎么从code里面获取手机号,# 小程序相关操作,微信小程序,spring boot,java,spring,maven

2.1 业务场景(使用与充值)

微信小程序手机号快捷验证, 当然了 2023年8月26日起开始收费了(功能就是下图展示的)
当然 用其他普通短信认证 都行 反正价格都差不多, 不免费了!!!
微信小程序怎么从code里面获取手机号,# 小程序相关操作,微信小程序,spring boot,java,spring,maven
=> 传送门: 微信小程序手机号快速验证-微信开放社区

2.2 准备工作

第一步: 请先复制核心篇微信小程序-00的统一封装类

=> 传送门: 微信小程序00: 微信小程序公共配置类(核心篇)

第二步: 请先复制上一篇 获取accessToken

=> 传送门: 微信小程序01: springboot获取accessToken方式

使用流程介绍

第一步: 是将微信小程序相关操作同一封装
第二步: 使用第一步封装代码并且获取accessToken
目的: 将获取到的accessToken用于本篇文章进行手机号快捷验证

2.3 具体代码使用与注释如下

2.2步骤说过 这里还是在强调一下

特别注意: 请先复制核心篇: ===> 微信小程序-00`的统一封装类
注意: 请先阅读上一篇: ===> 微信小程序01: springboot获取accessToken方式

2.3.1 代码解释(一)[无需复制]

找到WechatServiceUtils类 的 getPhoneByCode()方法
这个是通过微信code获取手机号信息

	/**
     * 获取手机号信息
     * @param code js_code
     * @return phone
     */
    public String getPhoneByCode(String code) {
        String phoneUrl = wechatConfigProperties.getPhoneUrl(getRedisCacheAccessToken());

        Map<String, Object> map = new HashMap<>();
        map.put("code", code);

        JSONObject jsonObject = sendPostRestTemplate(phoneUrl, map, JSONObject.class);
        System.out.println(jsonObject);

        if (jsonObject.containsKey("errcode")) {

            /*如果异常码是0 说明正常*/
            if (!Objects.equals(String.valueOf(jsonObject.get("errcode")), "0")) {
                log.error("===> 获取手机号的异常信息 : {}", jsonObject + "");

                throw new ServiceException("获取失败: " + jsonObject.get("errmsg"), (Integer) jsonObject.get("errcode"));
            }
        }

        JSONObject phoneInfo = jsonObject.getJSONObject("phone_info");

        return phoneInfo.getString("phoneNumber");
    }

2.3.2 代码解释(二)[无需复制]

自己封装一个发送post请求的模板(使用restTemplate, 使用其他方法随意)

    /**
     * 远程调用 restTemplate方法 post请求
     *
     * @param url
     * @param body
     * @return
     */
    public <T> T sendPostRestTemplate(String url, Map<String, Object> body, Class<T> responseType) {
        return restTemplate.exchange(url, HttpMethod.POST, new HttpEntity<>(body, null), responseType).getBody();
    }

2.4 最后一步 获取手机号信息

2.4.1 两行代码搞定(使用代码)

注意: 可以建立实体类请求对象 配合@Validated对参数进行校验

  String code = (String) jsonObject.get("code");

  String phone = wechatServiceUtils.getPhoneByCode(code);

2.4.2 异常码信息(常用)

错误码 错误描述 解决方案
-1 system error [系统繁忙,此时请开发者稍候再试]
40029 code 无效 [js_code无效]
45011 api minute-quota reach limit mustslower retry [next minute API 调用太频繁,请稍候再试]
40013 invalid appid [请求appid身份与获取code的小程序appid不匹配]

3. 文章的总结与预告

3.1 本文总结

  1. 使用微信手机号快捷验证组件获取手机号
  2. 找到充值位置与方式(核心呀...)
  3. 上面代码一复制就OK了, 注册的时候使用一次即可
  4. 其余可用openId/unionId进行判断

3.2 下文预告

  1. 获取openId与unionId
  2. 获取不限制小程序二维码
  3. 微信支付
  4. 微信提现


作者pingzhuyan 感谢观看
文章来源地址https://www.toymoban.com/news/detail-845897.html

到了这里,关于微信小程序02: 使用微信快速验证组件code获取手机号的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从0到1之微信小程序快速入门(02)

    目录 页面导航 - 声明式导航 1. 导航到 tabBar 页面 2. 导航到非 tabBar 页面 3. 后退导航 ​编辑 页面导航 - 编程式导航 页面导航 - 导航传参  页面事件 - 下拉刷新事件  监听下拉刷新事件 停止下拉刷新的效果 页面事件 - 上拉触底事件 监听页面的上拉触底事件  配置上拉触底距

    2024年02月07日
    浏览(38)
  • 微信小程序入门学习02-TDesign中的自定义组件

    我们上一篇讲解了TDesign模板的基本用法,如何开始阅读模板。本篇我们讲解一下自定义组件的用法。 官方模板在顶部除了显示图片外,还显示了一段文字介绍。文字是嵌套在容器组件里,先按照他的写法复制代码到我们自己创建的index.wxml文件里 因为我们的布局是从上到下,

    2024年02月10日
    浏览(49)
  • uniapp-vue2-微信小程序-滑块验证组件wo-slider

    wo-slider是一款支持高度自定义的滑块验证组件,采用uniapp-vue2编写 采用touchstart、touchmove、touchend事件实现的滑块组件,支持H5、微信小程序(其他小程序未试过,可自行尝试) 可到插件市场下载尝试: https://ext.dcloud.net.cn/search?q=wo-slider 使用示例

    2024年02月07日
    浏览(31)
  • 微信小程序使用code码获取用户信息提示errcode:40163 code been used,rid:

    后端在与前端小程序对接的时候,经常会要跟微信获取一些信息。 今天在使用code获取用户信息的时候报错:errcode:40163 code been used,rid: 在百度了很多中可能后 比如:同一个code被使用了多次,官网说只能用一次 请求地址多了空格或少了/,微信会帮忙拼接/再发起一次请求。。。

    2024年02月15日
    浏览(35)
  • 微信小程序文本组件text使用详解-微信小程序系统学习攻略​

    也许你迷茫,但是我想说,在你迷茫的同时,保持本心,过好今天就好。 在微信小程序中,组件 text 用来显示文本,基本使用代码如下: 1 基本样式设置 基本使用还是比较简单的,下面咱们来论述一下文本样式的设置,首先是给他设置一个 class 然后在对应的 wxss 文件中编写

    2023年04月13日
    浏览(34)
  • 微信小程序中组件的使用

    微信小程序中组件的使用: 微信小程序中组件定义在项目根目录下components文件夹下,在页面使用的时候需要在页面的json文件中声明,如 父组件向子组件传值及子组件向父组件传值: 父组件wxml中:通过属性绑定值的方式向子组件传值,通过自定义事件接收子传递过来的值

    2024年02月15日
    浏览(35)
  • 原生微信小程序使用 wxs;微信小程序使用 vant-weapp组件

    在这里插入图片描述 操作顺序 :文档地址 如果使用 typescript 需要操作步骤3,否则不需要操作 2.1 在根目录下 操作 2.2 安装版本 2.3 构建包 - 详情-勾选使用 npm 2.4 使用 vant 组件

    2024年02月11日
    浏览(46)
  • 微信小程序显示loading效果,微信小程序节流效果,微信小程序生命周期,微信小程序组件的创建与使用

            文档地址:wx.showLoading(Object object) | 微信开放文档         请求前 显示loading 效果 ,请求结束后隐藏loading         下拉触底需要时间比较长,但是可能会一直进行请求,我们可以 设置一个 加载状态 ,用来控制什么时候 才可以加载         当我们loading 效果为tr

    2024年02月10日
    浏览(33)
  • 微信小程序---组件通信---使用selectComponent获取组件实例

    子组件component wxml js 一.通过父页面增加子组件的数据值 父页面page wxml js 二.通过父页面调用子组件的方法

    2024年02月11日
    浏览(34)
  • 微信小程序button组件怎么使用?

    其实学过前端的小伙伴们都知道button标签是什么。         是一个按钮组件         功能对比HTML种的button按钮丰富         通过open-type属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等) 更多属性进入button | 微信开放文档 (qq.com)查看 属性

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包