Flyio简介
Fly.js 通过在不同 JavaScript 运行时通过在底层切换不同的 Http Engine来实现多环境支持,但同时对用户层提供统一、标准的Promise API。不仅如此,Fly.js还支持请求/响应拦截器、自动转化JSON、请求转发等功能,详情请参考:https://github.com/wendux/fly 。
下面我们看看在微信小程序、mpvue中和中如何使用fly.
Flyio 官方地址
文档
github地址
Flyio的一些特点
fly.js 是一个基于 promise 的,轻量且强大的Javascript http 网络库,它有如下特点:
- 提供统一的 Promise API。
- 浏览器环境下,轻量且非常轻量 。
- 支持多种JavaScript 运行环境
- 支持请求/响应拦截器。
- 自动转换 JSON 数据。
- 支持切换底层 Http Engine,可轻松适配各种运行环境。
- 浏览器端支持全局Ajax拦截 。
- H5页面内嵌到原生 APP 中时,支持将 http 请求转发到 Native。支持直接请求图片。
在小程序中使用flyio请求,封装代码如下
一、src下新建utils/request.js文件
var Fly=require("flyio/dist/npm/wx") import { getCache } from '../utils' const request = new Fly() // 全局加载提示 - 设定时间 let ltime = 0; function closeLoading(param) { ltime-- } request.interceptors.request.use((request) => { // 全局加载提示 - 展示提示 // wx.showNavigationBarLoading() ltime++ let dataSource = getCache("dataSource") request.headers = { "Content-Type": "application/x-www-form-urlencoded", "source": "miniApp", "dataSource": dataSource "wxLogin") != -1) { type = request.body.loginType; } console.log(getCache("token")); console.log('这是token'); if (request.url.indexOf("wxLogin") == -1 || type == 'WORKBENCH') { // let storeId = getCache("storeId"); let storeCode = getCache("storeCode"); let inviter = getCache("inviter"); let token = getCache("token"); request.headers = { "Content-Type": "application/x-www-form-urlencoded", "source": "miniApp", "token": token, "storeCode": storeCode, "inviter": inviter } console.log('打印request'); console.log(request); console.log('打印request'); let dataSource = getCache("dataSource") if (dataSource) { request.headers['dataSource'] = dataSource } } return request }) request.interceptors.response.use((response, promise) => { closeLoading() // wx.hideNavigationBarLoading() // 微信运维统计 if (response.status) { wx.reportMonitor('0', +(response.status)) } if (response.headers.date) { let time = new Date().getTime() - new Date(response.headers.date).getTime() wx.reportMonitor('1', +(time)) } // 错误提示 if (response.status != 200) { wx.showToast({ title: '出错啦!请稍后再试试哦~', icon: 'none', duration: 2000 }) } return promise.resolve(response.data) }, (err, promise) => { wx.hideNavigationBarLoading() return promise.resolve() } ) export default request
二、src下新建utils/api.js文件
export const baseUrlApi = 'http://192.168.128.242:8080'//---开发调试环境 //export const baseUrlApi = 'https://test.mini.com'//---测试环境https //export const baseUrlApi = 'https://product.mini.com'//---生产环境https
这个里面可以写不同环境或者调试的接口地址
三、src下新建service文件夹
在这个下面不同的模块简历不同的js文件,例如:login-service.js,order-service.js
里面代码示例如下
import { baseUrlApi } from '../utils/api' import request from '../utils/request' export default { // 登录 wxLogin: (data) => request.post(`/store-miniApp-web/external/interface/wechat/wxLogin`, data, { baseURL: baseUrlApi }), // 收藏 addCollect: (goodId, status) => request.get(`/store-miniApp-web/store/member/addCollect"htmlcode">import loginApi from "@/service/login-service"; methods: { //-登录 clickLoginBtn() { var data = { phone: '18709090909', password: "123456", }; console.log("登录参数==", data); loginApi.wxLogin(data).then( data => { if (!data) { this.$toast(data.msg); return; } if (data.code==0) { console.log("登录成功", data); } }, err => { } ); }, //-收藏 collect() { let isCollect = "1"; //1收藏 0取消 let goodId = "4343434"; loginApi.addCollect(goodsId, isCollect).then(data => { if (data.code != 0) { console.log("收藏失败", data); return; } if (isCollect == 1) { this.$toast("取消成功"); } else { this.$toast("收藏成功"); } }); } }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“微信小程序中如何使用flyio封装网络请求”评论...
更新动态
2024年11月15日
2024年11月15日
- BIGFOUR.2013-大家利事【寰亚】【WAV+CUE】
- 李美凤.1992-情深透全情歌集【EMI百代】【WAV+CUE】
- 田震2024-《时光音乐会》[金峰][WAV+CUE]
- 群星《监听天碟3》[LECD]限量版[WAV+CUE]
- 心妤《声如夏花HQ》头版限量编号[WAV+CUE]
- 群星《摇滚五杰》[低速原抓WAV+CUE][1.1G]
- 群星 《2024好听新歌30》十倍音质 U盘音乐 [WAV+分轨]
- 群星《试音草原·女声篇》经典蒙古民歌[WAV+CUE][1G]
- 陈慧娴《永远是你的朋友》头版限量编号MQA-UHQCD2024[低速原抓WAV+CUE]
- 曼丽·女人三十《如果·爱》限量1:1母盘直刻[低速原抓WAV+CUE]
- 刘文正《流金三十年》[6N纯银镀膜][低速原抓WAV+CUE]
- 赵传.1994-精挑细选精选集【滚石】【WAV+CUE】
- 郑亚弦.2024-隔壁包厢603(EP)【发现梦想】【FLAC分轨】
- 文章.2004-被遗忘的时光【华博音乐】【WAV+CUE】
- 群星《青葱韶歌》原力计划·毕业季企划合辑[FLAC+分轨][661M]