最近在做一个小程序时遇到这样一个需求:要求在点击input框时获取用户的手机号还可以进行修改。但是我们都知道微信小程序获取手机号是通过button按钮的bindgetphonenumber属性来实现的,那么怎么能在input获得焦点时,获取用户手机号呢?
首先,我们先来了解一下怎么通过button按钮来获取用户的手机号。在微信公众平台上,button按钮有一个open-type和bindgetphonenumber的属性:
具体如下:
1wxml:
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">输入手机号</button>
2js
在这里我们需要注意首先要获取用户的openid和session_key,获取方式如下:
appjs:
wxlogin({
//获取code
success: (res) => {
var code = rescode; //返回code
thisglobalDatacode = code;
thisglobalDataappId = 'wx5a9ded8ac4b1feb3';
thisglobalDatasecret = '7ccbca95ddc8baf065194b533043a783';
wxrequest({
url: '>
步骤一:进入小程序信息主页面
找到您想取消授权的小程序,点击右上角图标,将会d出快捷菜单,选择小程序名称,进入小程序信息主页面,如图所示:
步骤二:进入权限设置
点击底部设置按钮,进入权限设置界面,如图所示:
步骤三:点击位置信息,将使用时变更为不允许,就可以了。如图所示:
以上就是微信小程序怎么解绑授权,清除小程序登录信息方法,大家可以参考以上方法,清除一下小程序登录信息。
电脑微信登入小程序数字信封解密失败是回调中调用wxlogin登录,会刷新登录态。。此时服务器使用code换取的sessionKey不是加密时使用的sessionKey,导致解密失败。解决方法是开发者提前进行login。或者在回调中先使用checkSession进行登录态检查,避免login刷新登录状态。
微信小程序手机号解密步骤
一、通过getPhoneNumber用户授权获取获取加密后的手机号信息
<template>
<view class="content">
<button class="login-btn btn2" open-type="getPhoneNumber"
@getphonenumber="getPhoneNumber">手机号快捷登录</button>
</view>
</template>
引用WXBizDataCryptjs
var WXBizDataCrypt = require('@/pages/index/WXBizDataCryptjs')
二、解密前先调用wxlogin,获取code发送后台返回sessionkey
getPhoneNumber(e) {
consolelog('e',e)
var pc = new WXBizDataCrypt('appid',thissessionKey)
var data = pcdecryptData(edetailencryptedData,edetailiv)
consolelog('解密后 data:',pc)
},
//WXBizDataCryptjs
1 开发小程序时,每个页面一定要在appjson文件中注册,页面文件夹和其包含的四个文件的名字要保持一致。
2 小程序发起的都是>
微信小程序获取用户信息的接口确实已经被封了,因此现在需要使用微信登录的方式进行用户身份验证和获取用户信息。在小程序中首先通过wxlogin()接口获取用户登录凭证code,然后在小程序后台配置开发者服务器地址和域名,在开发者服务器端使用code请求微信服务器获取openid和session_key等信息。之后就可以得到openid等用户信息并存储到开发者服务器端进行相关业务逻辑处理。同时需要注意需要在小程序中进行用户授权,以获取用户允许授权后的信息。
其实还蛮简单的,可以说一搜一大把,下面说下两种方式。
自行开发
主要就是通过小程序端直接请求登录获取到code(登录凭证)、如果需要获取用户手机号则需要再次授权需要iv和encryptedData,注意这里授权两次,也可以作为一次处理。
(1) 后端接收到小程序端请求的code,进行解密,可以参考微信小程序开发文档,拿到openId和session_key,这一步如果是已经注册的用户可以直接将后台分配的token一起组成对象存储到redis中,期限7-30天皆可,先从redis判定这个openId是否已经解析过且已存储为正式用户,是则直接返回系统的登录凭证完成登录。如果不是就需要走第二步。
(2)通过iv和encryptedData解析获取用户的手机号,完成解析后将用户信息存储,并一样存储到数据库和redis中,返回凭证。
2 使用已经集成好的sdk,使用maven项目直接引入对象的jar即可。
举个栗子 weixin-java-miniapp 可以看下对应的文档说明,使用已经集成好的方法即可。
以上就是关于微信小程序模拟点击input框获取用户手机号全部的内容,包括:微信小程序模拟点击input框获取用户手机号、如何注销微信小程序的授权、电脑微信登入小程序数字信封解密失败等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)