iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >微信小程序网络请求模块封装的具体实现
  • 161
分享到

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

2024-04-02 19:04:59 161人浏览 独家记忆
摘要

目录前言具体实现1.确定结构2.service网络请求的基本配置和公共方法3.apis创建对应功能模块的网络请求方法4.使用总结前言 在进行一个微信小程序项目开发的时候我需要网络请求

前言

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

具体实现

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() 获取到需要的数据,最后进行页面渲染。

总结

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

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

--结束END--

本文标题: 微信小程序网络请求模块封装的具体实现

本文链接: https://www.lsjlt.com/news/140858.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 微信小程序网络请求模块封装的具体实现
    目录前言具体实现1.确定结构2.service网络请求的基本配置和公共方法3.apis创建对应功能模块的网络请求方法4.使用总结前言 在进行一个微信小程序项目开发的时候我需要网络请求...
    99+
    2024-04-02
  • 微信小程序网络请求封装的示例分析
    这篇文章给大家分享的是有关微信小程序网络请求封装的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在这里首先声明一个小程序文档的bug,导致大伙们在请求的时候,服务器收到不...
    99+
    2024-04-02
  • 微信小程序怎么实现网络请求
    这篇文章主要介绍“微信小程序怎么实现网络请求”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么实现网络请求”文章能帮助大家解决问题。最近微信小程序开始开放测试了,小程序提供了很多api,极...
    99+
    2023-06-26
  • 微信小程序怎么封装网络请求和拦截器
    这篇文章主要介绍“微信小程序怎么封装网络请求和拦截器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么封装网络请求和拦截器”文章能帮助大家解决问题。1. 前言今天和合作伙伴对接代码的时候,...
    99+
    2023-07-05
  • 微信小程序封装网络请求和拦截器实战步骤
    目录1. 前言2. 思路2.1 封装网络请求2.2 统一处理状态码2.3 封装拦截器2.4 不同请求方式兼容2.5 全局存储用户登录信息2.6 完整代码3. 使用示例4. 注意事项5...
    99+
    2023-05-13
    小程序封装网络请求和拦截器 微信小程序封装网络请求 微信小程序封装拦截器
  • 微信小程序中如何实现http请求封装
    这篇文章将为大家详细讲解有关微信小程序中如何实现http请求封装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序  http请求封装示例代码wx.req...
    99+
    2024-04-02
  • 【小程序】网络请求API介绍及网络请求的封装
    文章目录 网络请求基本演练和封装网络请求基本演练网络请求配置域名网络请求的封装 网络请求基本演练和封装 网络请求基本演练 微信提供了专属的API接口,用于网络请求: wx.req...
    99+
    2023-09-04
    小程序 网络 微信小程序
  • 微信小程序网络数据请求的实现详解
    目录一、限制二、配置服务器合法域名三、发起请求GET请求POST请求二者区别四、 跳过requst合法域名校验五、关于跨域和Ajax的说明番外-GET与POST二者的通俗化解释&nb...
    99+
    2022-11-13
    微信小程序数据请求 微信小程序网络数据请求
  • 微信小程序网络数据请求服务实现详解
    目录一、小程序中网络数据请求的限制二、配置request合法域名三、发起GET请求四、发起POST请求五、在页面刚加载时请求数据六、跳过request合法域名校验七、关于跨域和Aja...
    99+
    2022-11-13
    微信小程序数据请求 小程序网络数据请求 微信数据请求
  • 微信小程序如何封装常用的API接口请求及工具类
    这篇“微信小程序如何封装常用的API接口请求及工具类”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2024-04-02
  • 微信小程序开发中如何封装HTTP请求方法
    这篇文章主要介绍微信小程序开发中如何封装HTTP请求方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!HTTP请求方法的封装在小程序中http请求是很频繁的,但每次都打出wx.req...
    99+
    2024-04-02
  • 微信小程序如何设置全局请求URL及封装wx.request请求操作
    这篇文章将为大家详细讲解有关微信小程序如何设置全局请求URL及封装wx.request请求操作,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:app.js:App...
    99+
    2024-04-02
  • 微信小程序中如何实现GET请求
    这篇文章主要介绍微信小程序中如何实现GET请求,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序之GET请求的实例详解先上代码://index.js //获取应用实例 var&...
    99+
    2024-04-02
  • 【微信小程序开发】学习小程序的网络请求和数据处理
    前言 网络请求是微信小程序中获取数据和与服务器交互的重要方式。微信小程序提供了自己的API来处理网络请求,使得开发者可以轻松地在微信小程序中实现数据的获取和提交。本文将介绍微信小程序中的网络请求,包括使用wx.request发起GET和PO...
    99+
    2023-12-22
    学习 小程序 微信小程序 小程序开发 前端
  • 微信小程序HTTP请求从0到1封装的示例分析
    这篇文章给大家分享的是有关微信小程序HTTP请求从0到1封装的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。HTTP库1、jQuery的$.ajax调用了XMLHttpR...
    99+
    2024-04-02
  • 小程序中如何对网络请求进行二次封装
    这篇文章主要介绍了小程序中如何对网络请求进行二次封装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、背景在做微信小程序开发的时候难免会涉及到网络请求操作,小程序提供的原生网...
    99+
    2023-06-25
  • 微信小程序实现简易封装弹窗
    本文实例为大家分享了微信小程序实现简易封装弹窗的具体代码,供大家参考,具体内容如下 1.建立组件文件夹 2.编写组件内容  <!--index.wxml--> <...
    99+
    2024-04-02
  • 微信小程序中wx.request如何实现封装
    这篇文章将为大家详细讲解有关微信小程序中wx.request如何实现封装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。看项目代码时发现了下面几点问题:网络请求都写在Pag...
    99+
    2024-04-02
  • 微信小程序怎么实现独立的模块
    这篇文章主要介绍“微信小程序怎么实现独立的模块”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么实现独立的模块”文章能帮助大家解决问题。voiceplay.js//voice player...
    99+
    2023-06-19
  • 微信小程序与axios组成网络层封装过程详解
    目录背景依赖最简demo自定义适配器背景 小程序在网络层提供的API是能够完成一个程序与服务端交互的完整链路,但需要大量的定制化代码,才能实现请求拦截和响应拦截,不太符合大多数开发者...
    99+
    2023-02-09
    小程序与axios网络层封装 小程序网络层封装
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作