最近在学习taro用来开发微信小程序,所以就涉及到要获取用户信息,以及通过和服务端进行交互利用code获取用户的openid。所以就在这里记录一下。
我们先了解一些微信小程序的基本概念,我们开发小程序时候,userinfo是直接可以通过小程序获取,不需要和服务端交互。
但是如果我们要获取到openid(openid就是每一个微信用户的唯一id,利用他我们可以进行一些权限验证,用户信息的保存),就需要和服务端进行交互,并且和微信端进行交互获取openid。
这里我们先了解一下微信小程序获取openid的流程:
说了这么多我们看看在实际代码里面是怎么写的,我这里为了演示,写的比较简单,但是可以实现具体功能,大家有需要可以自己添加:
可以看出,我们需要自己写客户端(小程序)和我们服务端的代码:
1、前端(taro小程序代码里面)获取code,并且把code发送给我们的服务端:
// 请求服务端获取openid函数
handleLogin = name => {
console.log("登录");
Taro.login({
success(res) {
if (res.code) {
//发起网络请求
// 获取到用户登录凭证
console.log(res.code);
Taro.request({
url: "http://localhost:7002/api/wxlogin(这里就是自己服务端的接口)",
data: {
code: res.code,
name: name
},
header: {
"content-type": "application/json"
}
}).then(res => {
if (res.data.code == 0) {
console.log(res.data);
console.log("交互完成");
Taro.setStorage({
key: "openid",
data: res.data.data.openid
});
}
});
} else {
console.log("登录失败!" + res.errMsg);
}
}