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

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

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

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

官方文档流程图如下:
在这里插入图片描述

代码如下:

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。

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序wx.login方法是用于获取用户登录凭证(code),通过该凭证可以获得微信用户的唯一标识openid和会话密钥session_key等信息,从而实现用户登录和获取用户个人信息等操作。 wx.login方法的调用格式如下: ``` wx.login({ success: function(res) { // success }, fail: function() { // fail }, complete: function() { // complete } }) ``` 其中,success、fail和complete是回调函数,当调用wx.login方法成功时,会执行success回调函数,返回一个res对象,包含了用户登录凭证code。如果调用wx.login方法失败,则会执行fail回调函数,如果需要在wx.login方法执行完毕后执行一些操作,则可以使用complete回调函数。 通常情况下,我们会将wx.login方法放在小程序的App.js文件的onLaunch方法中,以便在小程序启动时就获取用户登录凭证。下面是一个简单的示例: ``` // app.js文件中 App({ onLaunch: function () { wx.login({ success: function(res) { if (res.code) { console.log('获取用户登录凭证:' + res.code); } else { console.log('获取用户登录凭证失败'); } } }) } }) ``` 在上面的示例中,当调用wx.login方法成功时,会打印出用户登录凭证code,调用失败时会打印出“获取用户登录凭证失败”提示。如果需要将code发送到后台服务器,以便获取openid和session_key等信息,则可以在success回调函数中使用wx.request方法向服务器发送请求,具体操作可以参考微信小程序的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值