我的编程空间,编程开发者的网络收藏夹
学习永远不晚

微信小程序网络请求模块封装的具体实现

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

微信小程序网络请求模块封装的具体实现

前言

在进行一个微信小程序项目开发的时候我需要网络请求模块和后端数据进行沟通; 接下来就和我一起简单的封装的一下网络请求模块吧。

具体实现

1. 确定结构

在根目录新建 service和apis文件夹;

service用来做网络请求的基本配置和输出公共的网络请求方法;

apis用来创建对应功能模块的网络请求方法(ex:操作音乐、操作视频);

2. service 网络请求的基本配置和公共方法

config.js 用来放置一些基本的配置:

//config.js
const BASE_URL = "https://www.qq.com/apis"
const TIMEOUT = 10000

export {
 BASE_URL,
 TIMEOUT
}

这里我们简单配置了网络请求的地址BASE_URL和超时的时间TIMEOUT;

index.js创建网络请求,生成公共方法:

import { BASE_URL, TIMEOUT } from './config'
class MYRequest {
    request(url,method,data){
        //返回Promise对象
        return new Promise((resolve, reject)=> {
            wx.request({
                url: BASE_URL + url,
                timeout: TIMEOUT,
                method: method,
                data: data,
                success: (res) => {
                    resolve(res);
                },
                fail: (res) => {
                    reject(res);
                },
            })
        })
    }
    get(url, params){
        return this.request(url, "GET", params);
    }
    post(url, data){
        return this.request(url, "POST", data);
    }
}
const myRequest = new MYRequest;
export default myRequest;

这里使用的是微信小程序官方的网络请求APIwx.request,对他进行一个封装。:参考地址;

为了让我们能很方便的拿到数据和抓取错误,我们返回了一个Promise对象,使用的时候就像这样:

  myRequest.get('XXX', {
    data: data
  }).then(res=>{
      //拿到数据,处理数据
  }).cath(res=>{
      //抓取错误
      console.log(res);
  });

我们还新增两个常用的网络请求方法 get()和post(),在每次调用的时候执行request(url, "GET/POST", params)方法进行数据请求并返回Promise对象。

3. apis 创建对应功能模块的网络请求方法

引入刚刚创建的service/index.js

//api_music.js
import ApiService from "../service/index"
export function getMusic(singer , limit = 10){
  return ApiService.get('/music', {
    singer: singer,
    limit: limit,
  })
}

我们导出 getMusic(singer , limit = 10)方法,这样我们就创建好了一个根据歌手名字查找歌曲的get网络请求,当我们在需要使用这个网络请求的页面的时候,我们只需要引入改方法,就可以直接使用了。
我个人喜欢对不同的功能模块都创建一个js文件,api_music.js api_singer.js 这样我看到这个api文件我就可以知道他是干什么的属于哪一个功能,我修改起来效率会高很多。

4. 使用

  • 根据对应的功能,引入该功能模块需要用到的网络请求方法;
// pages/music-list/index.js
import {getMusic} from "../../apis/api_video";
Page({
    
    data: {
        musicList: null
    },

    
    onLoad: function (options) {
        getMusic("周杰伦").then(
            res => {
                this.setData({musicList:res.data.data})
            }
        ).catch(
            res => {
                console.log()
            }
        );
    },
})

在生命周期的页面加载阶段的时候,调用getMusic() 获取到需要的数据,最后进行页面渲染。

总结

这就是我在微信小程序开发中所使用的网络请求封装方法,希望可以给大家带来帮助。

到此这篇关于微信小程序网络请求模块封装实现的文章就介绍到这了,更多相关微信小程序网络请求模块封装内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

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

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

微信小程序网络请求模块封装的具体实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

微信小程序怎么实现网络请求

这篇文章主要介绍“微信小程序怎么实现网络请求”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么实现网络请求”文章能帮助大家解决问题。最近微信小程序开始开放测试了,小程序提供了很多api,极
2023-06-26

微信小程序怎么封装网络请求和拦截器

这篇文章主要介绍“微信小程序怎么封装网络请求和拦截器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么封装网络请求和拦截器”文章能帮助大家解决问题。1. 前言今天和合作伙伴对接代码的时候,
2023-07-05

微信小程序封装网络请求和拦截器实战步骤

这篇文章主要介绍了微信小程序封装网络请求和拦截器实战步骤,这样可以提高开发效率,减少代码重复,同时也可以提高代码的可维护性和可读性
2023-05-13

微信小程序网络数据请求的实现详解

这篇文章主要为大家介绍了微信小程序网络数据请求的实现讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

微信小程序网络数据请求服务实现详解

这篇文章主要介绍了微信小程序网络数据请求服务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2022-11-13

【微信小程序开发】学习小程序的网络请求和数据处理

前言 网络请求是微信小程序中获取数据和与服务器交互的重要方式。微信小程序提供了自己的API来处理网络请求,使得开发者可以轻松地在微信小程序中实现数据的获取和提交。本文将介绍微信小程序中的网络请求,包括使用wx.request发起GET和PO
【微信小程序开发】学习小程序的网络请求和数据处理
2023-12-22

微信小程序怎么实现独立的模块

这篇文章主要介绍“微信小程序怎么实现独立的模块”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么实现独立的模块”文章能帮助大家解决问题。voiceplay.js//voice player
2023-06-19

微信小程序中es6-promise.js封装请求与处理异步进程的方法

这篇文章主要介绍“微信小程序中es6-promise.js封装请求与处理异步进程的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序中es6-promise.js封装请求与处理异步进程的方
2023-06-17

【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求

文章目录 页面配置页面配置文件的作用页面配置和全局配置的关系页面配置 网络数据请求网络数据请求的限制配置request合法域名发起get/post请求在页面刚加载时请求数据跳过request合法域名校验关于跨域和ajax请求
2023-08-16

编程热搜

目录