微信小程序-登录(wx.login)

用户微信登录小程序有两种情况,分别为弹出登录提示和不弹出登录提示两种。弹出登录提示的情况下,用户确定后会向后台传入更多参数,例如用户昵称等。不弹出登录提示只能获取到用户的临时登录凭证code。主要根据第二种情况进行描述。

这个code具有时效性,能用于区别用户,需要从小程序前端传到开发者服务器后端,再从后端传到微信服务器进行核验,来获取用户唯一标识openid和会话密钥 session_key。

对于小程序前端,所需要做的只有通过wx.login获取到code,并通过wx.request将code发送给开发者服务器。

官方文档流程图如下:
微信小程序-登录(wx.login)_第1张图片

代码如下:

onLoad: function () {
        // 获取用户openid
        let that = this
        wx.login({
            success: function (res) { //请求自己后台获取用户openid
                console.log(res.code)
                wx.request({
                    url: '开发者后台接口',
                    data: {
                        appid: '自己的微信公众号获取',
                        secret: '自己的微信公众号获取',
                        code: res.code
                    },
                    success: function (response) {
                        var openid = response.data.openid;
                        console.log('请求获取openid:' + openid); //可以把openid存到本地,方便以后调用
                        wx.setStorageSync('openid', openid);
                        that.setData({
                            openid: "获取到的openid:" + openid
                        })
                    }
                })
            }
        })

将该请求写在了onload生命周期函数内部,可以在界面打开时即调用获取到用户的openid。

你可能感兴趣的:(微信小程序,微信小程序,微信,小程序)