原文地址: >
微信小程序 在获取用户信息的时候 有特定的要求 :
button 按钮中open-type有两种方式获取用户的信息:getUserInfo/getPhoneNumber
下面两种信息就是直接展示用户头像和用户微信名但不可获取:
下面我们主要介绍获取微信绑定的手机号的问题:(MPvue模板)
bindGetUserInfo函数中的Even里面包好detail里面会有三个参数:
返回参数的话是需要解密才能使用的,在这里介绍一下第三种使用云调用直接获取开放数据的方式(前端自己解密不需要调用后端接口了~):
1、首先你的微信小程序是需要开通云开发的。(否则的话在你获取星系以后没回参数里面是没有cloudID的)。
2、在云开发里面选择云函数然后新建云函数(注意新建云函数的名字下面需要用到的)
3、接下就是在获取用户信息以后调用函数解密:(mp vue 使用的话需要wxclouldinit()初始化 原生的可以忽略直接调用)
4、success :callback里面res 里面包含了当前微信账号大量信息:如手机账号(resresultweRunDatadataphoneNumber)
5、剩下的就简单多了 可以拿着手机号码进行信任登陆了 !
1 获取openid
11 获取code
首先我们要调用接口来获取登录凭证,也就是code,从而获取用户们登录的状态信息,其中有一个唯一标示,就是openid,还有我们登录要用到的钥匙(session_key)。用户的基本数据我们都要用到钥匙来获取数据。
wxlogin({
//获取code
success: function(res) {
code = rescode //返回code
}
})
12 获取openid
拿到上一步获取的code,结合小程序 appid 和 secret 请求接口apiweixinqqcom/sns/jscode2sessionappid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code 换取openid,与 openid 一同被返回的,还包括 session_key,其中 session_key 是对用户数据进行加密签名的密钥。为了自身应用安全,session_key 不应该在网络上传输。
wxrequest({
url: 'apiweixinqqcom/sns/jscode2sessionappid=APPID&secret=SECRET&js_code='+ code +'&grant_type=authorization_code',
data: {},
header: {
'content-type': 'application/json'
},
success: function(res) {
openid = resdataopenid //返回openid
}
})
2 获取用户信息
21 在appjs中创建该全局方法
//appjs
getUserInfo:function(cb){
var that = this
if(thisglobalDatapersonInfo){
typeof cb == "function" && cb(thisglobalDatapersonInfo)
}else{
//调用登录接口
wxlogin({
success: function () {
wxgetUserInfo({
success: function (res) {
thatglobalDatapersonInfo = resuserInfo
typeof cb == "function" && cb(thatglobalDatapersonInfo)
}
})
}
})
}
}
22 实例化全局方法获取用户信息
var that = this;
//调用应用实例的方法获取全局数据
appgetUserInfo(function (personInfo) {
//更新数据
thatsetData({
personInfo: personInfo
})
})
/!
@method
@brief 根据消息ID从数据库中加载消息
@discussion 如果数据库中没有这条消息, 方法返回nil
@param aMessageId 消息ID
@result 加载的消息
/
- (EMMessage )loadMessage:(NSString )aMessageId EM_DEPRECATED_IOS(2_0_0, 2_1_1, "Use - loadMessageWithId:");
- (EMMessage )loadMessageWithId:(NSString )aMessageId;
/!
@method
@brief 根据消息ID列表从数据库中加载消息
@discussion 如果数据库中没有某条消息对应的ID, 则不加载这条消息
@param aMessageIds 消息ID列表
@result 加载的消息列表
/
- (NSArray )loadMessages:(NSArray )aMessageIds EM_DEPRECATED_IOS(2_0_0, 2_1_1, "Use - loadMessagesWithIds:");
- (NSArray )loadMessagesWithIds:(NSArray )aMessageIds;
数据类型不一致。数据类型不一致导致小程序云开发分享用缓存id参数打开为空,是需要更换数据类型的,小程序云开发是一款Serverless服务,他为开发者提供了云函数、云数据库和云文件存储,并且将这些能力封装成特定的接口,以wxcloudxxx来进行调用的。
进行的云开发吗?云开发里有API。 >
以上就是关于hexo使用github action自动部署至腾讯云开发静态网站托管服务以及github pages全部的内容,包括:hexo使用github action自动部署至腾讯云开发静态网站托管服务以及github pages、小程序云开发如何使用订阅消息这个模块、微信小程序获取用户信息、获取用户手机号码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)