微信小程序开发获得openid

小程序开发


浏览:885 次

1.获取openid

1.1获取代码

调用该界面以获取登录凭据(代码),然后交换用户的登录状态信息,包括用户的唯一ID(openid)和该登录的会话密钥(session_key)。用户数据的加密和解密通信取决于会话密钥。

wx.登录({

//获取代码

成功:函数(res){

代码=res。code//返回代码

}

})

1.2获取openid

获取上一步中获得的代码,并结合applet appid和secret请求接口https://api.weixin.qq.com/sns/jscode2session?appid=APPID& ; secret=secret&js_code=JSCODE&grant_type=authorization_代码与openid交换,openid与openid一起返回,包括session_Key,其中session_密钥是加密和签名用户数据的密钥。为了自身的app安全,session_密钥不应在网络上传输。

wx.请求({

url:'https://api.weixin.qq.com/sns/jscode2session?appid=APPID& ; secret=secret&js_code='+code+'&grant_type=authorization_code',

数据:{},

标题:{

'内容类型':'app/json'

},

成功:函数(res){

openid=res.data。返回Openid//Openid

}

})

2.获取用户信息

2.1在app.js中创建全局方法

//app.js

getUserInfo:函数(cb){

var th=这个

if(this.globalData.personInfo){

typeofcb==“函数”&;cb(this.globalData.personInfo)

}其他{

//调用登录界面

wx.登录({

成功:函数(){

wx.获取用户信息({

成功:函数(res){

那就是全球数据。personInfo=资源用户信息

typeofcb==“函数”&;cb(即globalData.personInfo)

}

})

}

})

}

}

2.2实例化全局方法以获取用户信息

var=这个;

//调用app实例的方法以获取全局数据

app。getUserInfo(函数(personInfo){

//更新数据

that.setData(设置数据)({

personInfo:个人信息

})

})