资讯专栏INFORMATION COLUMN

微信小程序网络组件 weapp.request

AnthonyHan / 1046人阅读

摘要:地址是基于进行扩展的一个网络组件,相较于有更简单的调用方式。根据微信官方文档的说明,以上方法且默认为,会对数据进行序列化。

地址:https://github.com/afishhhhh/weapp.request

weapp.request 是基于 wx.request 进行扩展的一个网络组件,相较于 wx.request 有更简单的调用方式。

此组件目前主要提供两个功能,分别的 Promise 以及缓存控制,使用 Promise 之后能让原先 wx.request 的调用变得更加简洁,避免了回调函数,对于服务器返回的数据可以根据项目需要在本地进行缓存。

欢迎各位 JS 大佬提出改进意见。

Features

Promise API

缓存控制

Install
推荐使用 npm 安装
npm install weapp.request -S
Quick Start
引入 weapp.request
const request = require("weapp.request")

发送一个 GET 请求

request("https://api.github.com").then(onFulfilled).catch(onRejected)

因为所有的 request 调用都会返回一个 Promise,所以可以使用 then 对请求结果进行进一步处理,用 catch 来捕获内部抛出的错误。

发送一个 GET 请求,并写入缓存

request("https://api.github.com", {}, {
  cache: true
})

发送一个 POST 请求

request.post("https://api.github.com", {
  user: "afishhhhh"
})

除了 GET 请求以外,所有其他的 method 都要以 request.method 的形式进行调用。

根据微信官方文档的说明,以上 POST 方法且 Content-Type 默认为 application/json,会对数据进行 JSON 序列化。

如果需要以 query string 的形式将数据发送给服务器,可以采取以下调用方法,不需要显示的将 Content-Type 写为 application/x-www-form-urlencoded

request.post("https://api.github.com", {
  form: {
    user: "afishhhhh"
  }
})

全局配置

配置选项 类型 说明 必填 默认值
baseUrl String/Undefined 基础请求路径
cacheMaxAge Number/Undefined 缓存有效期,时间单位为秒 1800
validStatusCode Function/Undefined status code 合法区间,该函数接受一个参数,并返回一个 Boolean code => code >= 200 && code < 300
request.config({
  baseUrl: "https://api.github.com"
})

APIs
request(url, params, options)

发起一个 GET 请求。

params:请求参数,类型为 Object,非必填。

options:配置项,类型为 Object,非必填,可以有以下属性值:

属性 类型 必填 默认值 说明
cache Boolean/Undefined undefined undefined 表示从服务器获取最新数据,不写入缓存;true 表示优先从缓存中获取数据,如果缓存中不存在该数据或者缓存已失效,则从服务器获取数据,并写入缓存;false 表示优先从服务器获取数据,并将数据写入缓存
header 同微信官方文档
dataType 同微信官方文档
responseType 同微信官方文档
request.method(url, params, options)

method 可以是 getpost 等等。

request.config(options)

options:配置项,类型为 Object

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102278.html

相关文章

  • 业内首个 React Native转信小程序引擎 Alita 正式发布

    摘要:得益于运行阶段处理逻辑的设计,支持将使用的应用转换成微信小程序。我们也在考察这一新的跨端方案和微信小程序融合转化的可行性。 作者:京东ARES多端技术团队 前言 Alita是一套由京东ARES多端技术团队打造的React Native代码转换引擎工具。它对React语法有全新的处理方式,支持在运行时处理React语法,实现了React Native和微信小程序之间的主要组件对齐,可以用...

    陆斌 评论0 收藏0
  • 信小程序初探

    摘要:在微信小程序中,要更新视图就只能修改,而视图层也只能通过事件向逻辑层传递交互信息。页面移植到微信小程序要修改的地方也还比较多,主要是标签和的交互及小程序提供的功能部分。 小程序是一种不需要下载安装即可使用的应用,它实现了应用「触手可及」的梦想,用户扫一扫或搜一下即可打开应用。也体现了「用完即走」的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 —...

    teren 评论0 收藏0
  • 信小程序调研文档

    摘要:关于微信小程序之前只是听说,并没有引起我太大的兴趣。刚好团队内部有个需求需要微信小程序。暂时没有上线经历,没办法给出这个时间微信小程序的代码包大小当前限制是。 关于微信小程序之前只是听说,并没有引起我太大的兴趣。周一被小程序刷屏,然后就顺手搜索了解了一下。发现小程序已经火遍了整个程序员圈子。刚好团队内部有个需求需要微信小程序。就紧急对微信小程序进行了调研,阅读过开发者文档后总结了以下的...

    kidsamong 评论0 收藏0
  • 信小程序-从零开始制作一个跑步信小程序

    摘要:微信小程序中的每一个页面的路径页面名都需要写在的中,且中的第一个页面是小程序的首页。真机运行截图运行于,微信版本功能能够计算里程时间实时获取跑步路径有些粗糙思路主要使用了微信小程序的获取位置和地图组件。 首发地址 一、准备工作 1、注册一个小程序账号,得用一个没注册过公众号的邮箱注册。2、注册过程中需要很多认证,有很多认证,比较繁琐,如果暂时只是开发测试,不进行提审、发布的话,只要完成...

    zlyBear 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<