微信小程序,如何实现登录

业务流程:

1:首先需要一个按钮触发事件

2:调用微信小程序的登录接口wx.login,拿到code

3:调用微信小程序的获取用户信息的接口wx.getUserProfile,拿到用户的个人信息(包括用的昵称以及头像)

4:拿到的个人信息调用后台的接口,八个人信息传给后台,登陆成功并把相关喜喜存储在本地的缓存中,方便之后的开发使用

下面开始使用代码介绍

wxml:

<view>
    <button bindtap:"login">登录</button>
</view>

js:

1.data初始数据

//后台接口需要的以下参数(具体要和后台的同事商量)
loginInfo:{
    code:'',
    spread_spid:0,
    spread_code:0
}

2:按钮触发的login点击事件

调用微信小程序的登录接口:

wx.login(Object object)

调用微信获取用户个人信息的接口:

wx.getUserProfile(Object object)

//登录按钮触发的事件
login(){
    //调用微信小程序的登录接口
    wx.login({
    success(e){
        this.data.loginInfo.code=e.code//拿到的code存储在data中
        wx.showModal({
           title:'温馨提示',
           content:'微信授权登陆后才能正常使用小程序功能',
           canceltext:'拒绝',
           confirmText:'同意',
           success(successInfo){
                //调用微信小程序的获取用户信息的接口
               wx.getUserprofile({
                    desc:'用于完善会员资料',//声明获取用户个人信息后的用途
                    lang:'zh_CN',
                    success(info){
                       //把获取到的信息复制到data中的loginInfo中
                        this.data.loginInfo=Object.assign(this.data.login,info)
                       //调用后台的接口,把所有整合的个人信息传过去
                        this.handlerLogin(this.data.loginInfo)
                        },
                    fail(e){
                            console.log('获取用户信息失败',e)        
                            }
                })
            },
            fail(){
                console.log("拒绝")
            },
            complete(){}
            })  
        },
        fail(e){
            console.log('fail',e)
            wx.showToast({
               title:'网络异常',
               duration:2000
            })
            return
        }
    
        })
        }

3:调用后台的登录接口,

wx.setStorageSync():将数据存储在本地缓存中,

wx.setStorageSync(String key,any data)

wx.getStorageSync('token'):获取本地缓存的数据

any wx.getStorageSync(String key)

//调用后台的登录接口
handlerLogin(loginInfo){
    let that=this
    //login是后台接口封装的方法
    login(loginInfo).then((res)=>{
    console.log('登陆成功',res)
    let{cache_key,expires_time,token,userInfo}=res.data
    //把用户信息存储到storage中,方便其他地方使用
    wx.setStorageSync('cache_key',cache_key)
    wx.setStorageSync(''expires_time,expires_time)
    wx.setStorageSync('token',token)
    wx.setStorageSync('isLog',truw)
    wx.setStorageSync('userInfo',JSON.stringfy(userInfo))
    wx.setStorageSync('loginRecord',new Date().getTime())
})
.catch((res)=>{
    console.log('catch',res)
})
.finally(()=>{
    console.log('finally')
})
}

以上就是微信小程序开发时,实现的登录,一共分为四步

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值