导航:首页 > 软件知识 > 小程序如何读取用户微信号

小程序如何读取用户微信号

发布时间:2024-06-09 03:53:08

‘壹’ 小程序-用户授权/授权后的信息读取流程

在小程序中,不允许直接弹出用户授权的选择框,所以需要开发人员在界面上来设置提示信息,诱导用户点击,然后完成用户数据的录入和存取。在开发的过程中,某些请求是依托用户登录之后获取到的openId才能继续执行的,所以在页面上,某些数据渲染之前需要判断用户是否登陆,如若没有登录,怎样设计更好的交互来让用户登录。

使用小程序时,首先会进入到app.js这个文件中,这个文件里包含了俩个方法,一个是wx.login(),另一个是wx.getSetting(),wx.login()的目的是为了在用户登陆之后获取到一个对应的 code 值,然后通过这个值去自己的后台换取一个openId;wx.getSetting()第一是为了判断用户的授权范围,另一个是获取对应权限内的信息,比如说,用户授权小程序可以使用自己的基本信息,就可以在这个方法中获取到用户的头像、微信名、微信设置的城市这些字段,这就是一些需要掌握的基本流程,具体怎么实现登录呢?

在小程序中,官方给出了一种解决方案-button按钮:

在这个按钮中,有几个属性:

●  type :按钮的类型,可以设置为primary,背景色为绿色

●  wx:if :显示条件,内容分别为hasUserInfo和canIUse俩个字段,同时为真即可显示(俩个字段均需要在data中初始化赋值)

●  open-type :按钮的功能类型,getUserInfo是为了获取基本信息(也可以设置为其他→getPhoneNumber:获取用户手机号)

●  bindgetuserinfo :绑定的点击事件。在js中写对应的逻辑

在用户点击按钮之后,会出现一个弹窗,确定用户是否授权 :

当用户点击允许之后,进入我们绑定的getUserInfo函数中:

在执行逻辑中,首先通过wx.login()方法获取到用户对应的openId,方便后续的操作,然后再通过wx.getUserInfo()来获取到用户的基本信息,发送请求,将基本信息入库存储,或者展示到页面上,就完成了登录流程。

1.在登陆中可能会涉及到多个页面登陆成功之后的状态同步,可以通过 app.gloableData 来实现,在全局对象中设置一个字段,然后不论在哪个页面实现了登录,都可以通过全局对象来完成更新。

2.在 获取用户信息 的时候,有时候需要获取的是 中文类型 的数据,可以在 wx.getSetting() 的请求体中加一个 lang:'zh_CN'。 这样获取到的数据就是中文格式的了

‘贰’ 微信小程序获取用户openId、手机号

对于第一次实现小程序获取握慎谨用户手机号、用户信息功能的程序猿来说,有一个着手的思路可以事半功倍。本文可以给你提供这个思路,助你快速准确完成需求。

调用wx.login,在成功回调中孝派,拿自己小程序的appId、secret请求接口 url: ' https://api.weixin.qq.com/sns/jscode2session?appid=' + appId + '&secret=' + secret + '&js_code=' +code + '&grant_type=authorization_code',请求成功即可拿到openid和session-key

小程序的appId必须要在微信公众平台完成微信认证(里面需要上传一些企业的一些证件和信息)才能有获取用户手机号的权限

最后拿用户的获取到的e.detail.iv、和e.detail.encryptedData(加密的手机号)和前面拿到过的session-key传给后台,交给后台解密即可
具体解密规则参段基考官方文档:( https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html )

‘叁’ 微信小程序获取用户信息昵称头像重新授权

在“发现”里找到“小程序”然后在里面删除这个小程序,最后搜索这个小程序,会重新提示你授权登录信息。

‘肆’ 微信小程序的怎么获取用户微信id

使用wx.getUserInfo(Object object),调用前需要 用户授权 scope.userInfo。

示例代码

// 必须是在用户已经授权的情况下调用

wx.getUserInfo({

success: function(res) {

var userInfo = res.userInfo

var nickName = userInfo.nickName

var avatarUrl = userInfo.avatarUrl

var gender = userInfo.gender //性别 0:未知、1:男、2:女

var province = userInfo.province

var city = userInfo.city

var country = userInfo.country

}

})

(4)小程序如何读取用户微信号扩展阅读

小程序用户信息组件示例代码

Page({

data: {

canIUse: wx.canIUse('button.open-type.getUserInfo')

},

onLoad: function() {

// 查看是否授权

wx.getSetting({

success (res){

if (res.authSetting['scope.userInfo']) {

// 已经授权,可以直接调用 getUserInfo 获取头像昵称

wx.getUserInfo({

success: function(res) {

console.log(res.userInfo)

}

})

}

}

})

},

bindGetUserInfo (e) {

console.log(e.detail.userInfo)

}

})

‘伍’ 微信小程序获取用户信息、获取用户手机号码

微信小程序 在获取用户信息的时候 有特定的要求 :

button 按钮中open-type有两种方式获取用户的信息:getUserInfo/getPhoneNumber

下面两种信息就是直接展示用户头像和用户微信名但不可获取:

下面我们主要介绍获取微信绑定的手机号的问题:(MPvue模板)

bindGetUserInfo函数中的Even里面包好detail里面会有三个参数:

返回参数的话是需要解密才能使用的,在这里介绍一下第三种使用云调用直接获取开放数据的方式(前端自己解密不需要调用后端接口了~):

    1、首先你的微信小程序是需要开通云开发的。(否则的话在你获取星系以后没回参数里面是没有cloudID的)。

     2、在云开发里面选择云函数然后新建云函数(注意新建云函数的名字下面需要用到的)

        3、接下就是在获取用户信息以后调用函数解密:(mp vue 使用的话需要wx.clould.init()初始化 原生的可以忽略直接调用)

        4、success :callback里面res 里面包含了当前微信账号大量信息:如手机账号(res.result.weRunData.data.phoneNumber)

        5、剩下的就简单多了 可以拿着手机号码进行信任登陆了 !

阅读全文

与小程序如何读取用户微信号相关的资料

热点内容
吉林普洱茶叶如何代理 浏览:100
主机入侵检测系统利用哪些信息 浏览:993
怎么教孩子垒球技术 浏览:352
朝阳附近工商代理多少钱 浏览:555
所有程序菜单中标黄色是什么意思 浏览:128
单行道逆行多少天信息 浏览:591
伽思珂护发素怎么代理 浏览:761
三甲基铝产品有什么用 浏览:678
小程序风口在什么地方 浏览:562
系统还原数据丢失怎么办 浏览:671
cnc程序里为什么加g52 浏览:876
云服务器微信小程序用哪个套餐 浏览:110
银行代理费是多少 浏览:322
编号是什么数据 浏览:982
引流卡怎么申请代理 浏览:393
哪些交易所大陆注册 浏览:886
python爬取股票实时数据后如何下单 浏览:266
在区域代理拿桶装水大概多少钱 浏览:608
逆行扣分一般多久能来信息 浏览:286
程序状态反映了什么 浏览:536