千家信息网

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

发表于:2024-10-31 作者:千家信息网编辑
千家信息网最后更新 2024年10月31日,这篇"微信小程序如何封装常用的API接口请求及工具类"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2024年10月31日微信小程序如何封装常用的API接口请求及工具类

这篇"微信小程序如何封装常用的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,

/* success: (res) => {

if (res.data.code == 200) {

resolve(res)

wx.hideLoading();

} else {

Toast('数据请求错误', 'error', 1000)

// console.log('操作失误:',res);

wx.hideLoading();

}

},

fail: (err) => {

reject(err)

} */

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接口请求及工具类"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0