小程序请求接口封装

1.新建一个req.js 储存封装

2.页面调用req.js封装

我判断的code==2时候跳转到登录界面。

code==1弹出错误信息

code==0 时候接口正常走。记得  resolve(res);  重要!

     req.js  文件

const GET = 'GET';
const POST = 'POST';
const PUT = 'PUT';
const FORM = 'FORM';
const DELETE = 'DELETE';

const baseURL = 'https://test.你的接口网址.com/index/';
const app = getApp();

function request(url, data,cb) {
    return new Promise(function(resolve, reject) {
        //公共参数
        const uid = wx.getStorageSync('uid');
        const api_data =  {uid: uid}   
        wx.showLoading({
            title: '加载中',
        });
        let header = {
            'content-type': 'application/json',
        };
        //合并参数对象
        var tmp = Object.assign(data , api_data)
        wx.request({
            url: baseURL + url,
            method: 'POST',
            data: JSON.stringify(tmp),
            header: header,
            success(res) {
                wx.hideLoading()
                //请求成功
                if (res.data.code == 2) {//授权去登录
                    wx.showToast({
                        title: res.data.msg,
                        icon:'none',
                      })
                    wx.navigateTo({
                        url: '../../pages/login/index',
                    })
                } else if(res.data.code == 1){
                    wx.showToast({
                        title: res.data.msg,
                        icon:'none',
                      })
                }else if(res.data.code == 0){
                    resolve(res);
                   
                }else{
                    wx.showToast({
                      title: '请求失败',
                      icon:'none',
                    })
                }
            },
            fail(err) {
                setTimeout(function () {
                    wx.hideLoading()
                  }, 1000)
                  wx.showToast({
                    title:'网络出错,请刷新重试',
                    icon:'none',
                  })
            }
        })
    })
}
export { request };

3.使用封装

头部引入:

var app = getApp();
var request = require('../../utils/req.js');

使用   中间这个request.req.......复制, 写你的接口后缀地址,参数。搞定、

hotIndex(){
  var that =this;



  request.request('Index/hotIndex',{
  page:1,
  limit:4,
  }).then(res=>{
    if(res.data.code==0){
      that.setData({
        hotIndexList:res.data.data
      })
    }
  })




},

4.附带一个第一步的微信登录文件

封装里的code==2 会自动跳转到这个文件。去授权登录。授权以后,返回上一层。

login/index.wxml   

 <button class="shouquan" open-type="getUserInfo"bindgetuserinfo="onGotUserInfo">授权登录</button>
var app = getApp();
Page({
  data: {
    getpage: '',
  },

  onLoad: function (options) {
    var that =this;
    
  },
  //没有授权的点击授权
  onGotUserInfo: function (e) {
    var that = this;
    wx.login({
      success: res => {
        var code = res.code;
        //获取用户信息(传给后台)
        wx.getUserInfo({
          success: function (res) {
            wx.request({
              url: app.globalData.api_url+'wxchat/authorization',
              method: 'GET',
              header: {
                'content-type': 'application/json' // 默认值
              },
              data: {
                code: code,
                encryptedData: res.encryptedData,
                iv: res.iv
              },
              success: function (result) {
                if(result.data.code==0){
                  wx.setStorageSync('uid', result.data.data.id);
                  wx.setStorageSync('userInfo', result.data.data);
                  wx.navigateBack({
                    delta: 1,
                  })
                 
                }else{
                  wx.showToast({
                    title: result.data.msg,
                    icon: 'none',
                  })
                }
              
              }
            })
          }
        });
      }
   })

  },
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值