微信小程序登录实现授权

1.封装接口

//在根目录下创建http文件,里面新建一个js文件,CV进去
module.exports=(url,method,data,token=true)=>{
  return new Promise((resolve,reject)=>{
    wx.request({
      url,url,
      method:method,
      data:Object.assign({},data),
      header:token?{"Content-Type": "application/text"}:{"content-type":"application/x-www-form-urlencoded"},
      success(res){
        resolve(res)
      },
      fail(err){
        reject(err)
      }
    })
  })
}

2.如下操作

//举例
function logines(code){
  return fetch.http('URL','post',{code: code,type: 2},false)
}
function delet(token){
  return fetch.http(`URL?token=${token}`)
}
//必须设置open-type,bindgetuserinfo,这些是固定的,不能改
 <van-button type="default" size='small' bindgetuserinfo="getUserInfo" open-type="getUserInfo">立即登录</van-button>
// pages/user/user.js
let app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    show: true,
    list: []
  },
  qin(){
    wx.clearStorage()
    wx.reLaunch({
      url: '/pages/wd/wd',
    })
  },
  getUserInfo(e) {
    //判断是确定还是取消
    if(!e.detail.userInfo){
      wx.showToast({
        title: '已取消',
        icon:'nane'
      })
      return false
    }
    //登录
    let _that=this
    wx.login({
      success(req) {
            app.http.logines(req.code).then(res => {
              wx.setStorageSync('token', res.data.data.token)
              _that.login()
            })
          }
        })
  },
  login(){
    app.http.delet(wx.getStorageSync('token')).then(res => {
      if(res.data.code==2000){
        this.setData({
          show:true
        })
      }else{
        this.setData({
          list:res.data.data.base,
          show:false
        })
      }
    })
  },
  onLoad: function () {
    if(wx.getStorageSync('token')){
      this.login()
      this.setData({
        show:false
      })
    }else{
      this.setData({
        show:true
      })
    }
  },
  tuei(){
    app.http.onlogin(wx.getStorageSync('token')).then(res=>{
      if(res.code==0){
        thiswx.removeStorageSync('token')
        this.setData({
          show:true
        })
      }
    })
    wx.reLaunch({
      url: '/pages/wd/wd',
    })
  }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值