具体方法如下:
1、小程序可以通过各种前端接口获取微信提供的开放数据。
2、开发者后台效验与解密开放数据。
3、云调用直接获取开放数据,后端结合云开发,解密数据是维护用户登录状态,用code还得换取sessionkey然后手动去解密。
1一次性授权
常规写法,需要获取用户公开信息(头像,昵称等)时,判断调取授权登录接口,但是此方法如果不经处理的话 用户如果拒绝授权或者删除该微信小程序后 需要重新调取并获取用户公开信息(头像,昵称等),此方法用户体验较差,不建议使用;
2永久授权
在不必要使用用户公开信息(头像,昵称等)时,不调取授权登录接口,只有在必要的时候再去判断调取授权登录接口并把获取到的用户公开信息存入数据库,这样在每次登录时直接先运行指定函数从数据库索取需要的用户公开信息(头像,昵称等)即可,此方法在删除小程序后不用再次去授权登录(因为在用户第一次授权登录时已经把用户的公开信息存入数据库了以后直接向数据库索取即可),建议使用;
3不授权
不需要授权登录获取用户公开信息(头像,昵称等),使用wxlogin获取用户code并传入后台,后台可以通过用户的code值向微信要一个值(具体需要问后台,我只是个小前端,后台的东西不是很懂,只是知道一些逻辑而且也已经成功实现)然后通过这个用code换取的值就可以识别到指定用户,如果需要的话,前端要显示的头像、昵称等这些信息可以使用自定义可编辑的功能,当然,也可以通过<open-data type=“userAvatarUrl”></open-data><open-data type=“userNickName”></open-data>小程序提供的这个组件显示用户的头像及昵称(不过这个组件只有显示功能),用户如果想直接使用自己的头像昵称,也可以自行授权(比
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
})
})
以上就是关于小程序代码隐藏问题怎么恢复正常全部的内容,包括:小程序代码隐藏问题怎么恢复正常、小程序没有后端可以微信授权登录么、微信小程序如何开发,怎么获取openID和用户信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)