微信小程序中怎么实现登录

今天小编给大家分享一下微信小程序中怎么实现登录的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。业务流程:1

今天小编给大家分享一下微信小程序中怎么实现登录的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    业务流程:

    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(){
      let that = this
        //调用微信小程序的登录接口
       wx.login({
          success(e) {
            that.data.loginInfo.code = e.code //拿到的code存储在data中
            wx.showModal({
              title: '温馨提示',
              content: '微信授权登录后才能正常使用小程序功能',
              cancelText: '拒绝',
              confirmText: '同意',
              success( sucessInfo ) {
                //调用微信小程序的获取用户信息的接口
                wx.getUserProfile({
                  desc: '用于完善会员资料', // 声明获取用户个人信息后的用途
                  lang: 'zh_CN',
                  success(info) {
                    //把获取到的信息复制到data中的loginInfo中
                    that.data.loginInfo = Object.assign( that.data.loginInfo, info )
                    //调用后台的接口,把所有整合的个人信息传过去
                    that.handlerLogin( that.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', true)
          wx.setStorageSync('userInfo', JSON.stringify( userInfo ))
          wx.setStorageSync('loginRecord', new Date().getTime())
        })
        .catch(( res ) => {
          console.log('catch', res)
        })
        .finally(() => {
          console.log('finally')
        })
      }

    以上就是“微信小程序中怎么实现登录”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡网行业资讯频道。

    本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本站旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
    后端

    小程序如何自定义轮播图圆点组件

    2022-7-15 22:19:54

    后端

    react条件渲染指的是什么

    2022-7-15 22:19:57

    搜索