文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

微信小程序如何封装常用的API接口请求及工具类

2024-04-02 19:55

关注

这篇“微信小程序如何封装常用的API接口请求及工具类”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序如何封装常用的API接口请求及工具类”文章吧。

工具类封装:

// utils.js

// 显示消息提示框

export function Toast(title,type,time,isshow){

  wx.showToast({

    title: title,

    icon: type,

    duration: time,

    mask: isshow  

  })

}

// 显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框

export function Loading(title){

  wx.showLoading({

    title: title,    

  })  

}

// 显示模态对话框

export function Modal(title,content) {

  return new Promise((resolve,reject)=>{

    wx.showModal({

      title: title,

      content: content,

       success: function(res) {

        if(res.confirm) {

          resolve(res.confirm)

        } else if(res.cancel) {

          resolve(res.cancel)

        }

      },

      fail: reject

    })

  })  

}

接口request请求的封装:

新建一个network文件夹,里面包含api.js request.js config.js 三个文件(根据自己需求来)

// config.js

// 开发环境url 

export const dev = {

   baseUrl: "http://192.168.0.1:8080/jeecg-boot",

};

// 测试环境url

export const test = {

  baseUrl: "http://www.xxx.com"

};

// 线上环境url

export const prod = {

  baseUrl: 'https://www.xxx.com'

};

// 封装实例

// request.js

// 引入二次封装的组件

import {

  Toast,

  Loading,

  Modal

} from './utils.js'

// 引入config中的url(后面点什么就是 什么环境)

 const {

  baseUrl

} = require('./config')。dev  //这里用的是ES6的写法

module.exports = {

  // 二次封装wx.request

  request: (url, method, data) => {

    //url: 为网络接口后面要拼接的动态路径

    //method: 为请求方式

    //data: 为要传递的参数 object类型

     let _url = ——${baseUrl}/${url}—— //子域名按需添加

    // let _url = ——${baseUrl}${son}/${url}——

         //设置请求头

      var header = {'content-type': 'application/json'}

      //检查缓存中有没有token

      var token = wx.getStorageSync('token')

      if(token != '') {

        //  header.Authorization = token;

        header['X-Access-Token'] = token;   // 键由后端定义

      }

    return new Promise((resolve, reject) => {

      Loading('正在加载中')

      wx.request({

        url: _url,

        data: data,

        method: method,

        header: header,

       

complete: (res) => {     //根据公司业务需求做出调整

                wx.hideLoading()

                if(res.statusCode==200){

                    if(res.data.status){

                        resolve(res.data.data)

                    }else{

                        Toast(res.data.msg)

                        reject(res.data.data)

                    }

                }else if (res.statusCode === 401) { 

                    //没有登录转跳到登录页面

                    wx.reLaunch({

                        url: '/pages/login/index'

                    })

                }else{   

                    Toast('请求失败,请稍后重试');

                }

            }

      })

    })

  }

}

API统一封装接口

// api.js

// 导入封装好的实例

import {request} from './request'

export function login(data) => {

    return request('/appletslogin/appletsLogin/login', 'post', data);

  },

页面使用

// 导入封装好的接口

import {login} from './network/api'

// 调用 

login()。then()。catch()  

以上就是关于“微信小程序如何封装常用的API接口请求及工具类”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯