Flyio封装API接口(uniapp开发微信小程序)

2024-01-10 06:20

本文主要是介绍Flyio封装API接口(uniapp开发微信小程序),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Flyio封装API接口

1)flyio 是什么?

2)flyio能干什么?

3)flyio使用


1)flyio 是什么?

一个支持所有JavaScript运行环境的基于Promise的、支持请求转发、强大的http请求库。可以让您在多个端上尽可能大限度的实现代码复用。

2)flyio能干什么?

Fly.js 是一个基于 promise 的,轻量且强大的Javascript http 网络库,它有如下特点:

  1. 提供统一的 Promise API。
  2. 浏览器环境下,轻量且非常轻量 。
  3. 支持多种JavaScript 运行环境
  4. 支持请求/响应拦截器。
  5. 自动转换 JSON 数据。
  6. 支持切换底层 Http Engine,可轻松适配各种运行环境。
  7. 浏览器端支持全局Ajax拦截 。
  8. H5页面内嵌到原生 APP 中时,支持将 http 请求转发到 Native。支持直接请求图片。
3)flyio使用

1、安装(使用npm或yarn等)

npm install flyio

2、微信小程序中引入flyio,新建utils文件夹,在文件夹中新建request.js

let Fly = require("flyio/dist/npm/wx")
let fly = new Fly

3、全局请求配置

//设置超时
fly.config.timeout = 30000;
//设置请求基地址
fly.config.baseURL = 'https://uniapp.dcloud.io/api';

4、拦截器

// 添加请求拦截器
fly.interceptors.request.use((request) => {// 给所有请求添加自定义header,带上token信息让服务器验证用户登陆let token = uni.getStorageSync('aliToken');request.headers['Authorization'] = token;// 在当前页面显示导航条加载动画uni.showNavigationBarLoading();return request;
})
// 添加响应拦截器,响应拦截器会在then/catch处理之前执行
fly.interceptors.response.use((response) => {if (response.data.errorNo != 0) {uni.showToast({title: response.data.errorInfo,icon: 'none',});}uni.hideNavigationBarLoading()return response.data; //请求成功之后将返回值返回},(err) => {// 在当前页面隐藏导航条加载动画uni.hideNavigationBarLoading()if (err.status === 0) {uni.showToast({title: '网络请求延时',icon: "none",});return Promise.reject(err);}let code = err.response.status;if (code === 401) {uni.navigateTo({url: "/pages/mine/login?interceptors=1"});} else if (code === 403) {uni.showToast({title: '没有权限',icon: "none",});return Promise.reject(err);} else {uni.showToast({title: err.response.data.message,icon: "none",});return Promise.reject(err);}}
)
export default fly;

5、添加api 接口配置,在utils文件夹中新建api.js,引入Fly

import fly from './request'export default {// 新增一条打卡记录addCheck: (params) => {return fly.post('/check/add', params);},// 获取用户信息getUser: () => {return fly.get('/user/get');},// 查询点赞的用户getLikeUsers: (params) => {return fly.get('/user-like-check/getUsers?id=' + params);},...
}

6、挂载api到全局,在main.js中引入挂载

import API from "./utils/api.js"
Vue.prototype.$api = API

7、调用接口

let params = {// 评论文本content: this.content,groupId: this.curGroup,
};
this.$api.addCheck(params).then(res => {console.log(res)}).catch(err => {console.log(err)});// 调用获取用户信息接口
this.$api.getUser().then(res => {console.log(res)
}).catch(err => {console.log(err)
})

这篇关于Flyio封装API接口(uniapp开发微信小程序)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/589850

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt