Uni-app fly 接口封装

1 在untils文件夹中编写fly.js文件

var Fly = require('flyio/dist/npm/wx');
var fly = new Fly();
fly.config.timeout = 5000;

//配置请求基地址
fly.config.baseURL='http://************/';

//添加请求拦截器
fly.interceptors.request.use(request => {
  //给所有请求添加自定义header
  request.headers['X-Tag'] = 'flyio';

  // const token = uni.getStorageSync('token');     //关于token的用法
	// console.log(JSON.stringify(token));
  // if (token) {
		// request.headers['Authorization'] = token; 
  // }
  //可以显式返回request, 也可以不返回,没有返回值时拦截器中默认返回request
  return request;
});

//添加响应拦截器,响应拦截器会在then/catch处理之前执行
fly.interceptors.response.use(
  response => {
    //只将请求结果的data字段返回
	// const {errno,errmsg} = response.data
	// 这个是正确的状态码,根据实际情况修改
	// if(errno==1000){
	return response.data; // 这里直接返回的data,再使用似可以少写次data
	// } else {
		// 这里是错误处理,进行错误提示和跳转到未登录页面等
		//console.error(errmsg) 
		//return Promise.reject(errmsg) 
	// }
  },
  err => {
    //发生网络错误后会走到这里
    // return Promise.resolve("网络错误")
  }
);

export default fly;

2 编写 API文件夹,里面编写api接口

例  device.js


import fly from '../utils/fly.js';   // 引入fly.js文件

export default{
    // get
    getDevice:(params)=>{
        return fly.get('device',params);     //get方式调取http://***/device
    }
    post ·· 方式一样,注意字符串的拼接
    
}

3 在vue页面进行引用

import device from "../../api/device.js"   引入 api文件 device 可以任意取名

methods:{
    getAllDevice : async function(){    
        const params ={
            pageSize : 10,
            currentPage :1
        }
        let res = await device.getDevice(params )  
        console.log(res)
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uni-app 是一款跨平台的开发框架,它支持多种前端框架,并且可以在多个平台上运行,包括微信小程序、H5、iOS、Android 等。在使用 Uni-app 进行开发时,我们可以封装接口来简化代码和提高开发效率。 下面是 Uni-app 接口封装的步骤: 1. 定义接口函数:定义一个函数用来发送请求并返回数据。 2. 定义参数格式:定义请求参数的格式和数据类型。 3. 定义返回值格式:定义接口返回数据的格式和数据类型。 4. 发送请求:在接口函数中使用 uni.request 函数发送请求。 5. 处理返回值:在接口函数中处理请求返回的数据,并按照事先定义的格式进行返回。 6. 调用接口:在需要使用接口的地方调用接口函数即可。 举个例子,假设我们要封装一个获取用户信息的接口: ``` function getUserInfo(userId) { const apiUrl = 'https://api.example.com/getUserInfo'; const data = { userId: userId }; const header = { 'Content-Type': 'application/json' }; return uni.request({ url: apiUrl, method: 'POST', data: data, header: header }).then(res => { const {data} = res; if (data && data.code === 0) { return data.data; } else { return null; } }).catch(() => { return null; }); } ``` 在这个例子中,我们定义了一个函数 getUserInfo,它接受一个 userId 参数,并返回一个 Promise。在函数中,我们使用 uni.request 函数发送请求,并在 then 函数中处理返回的数据。如果返回的数据符合我们的格式要求,则返回数据,否则返回 null。最后,我们将这个函数导出,供其他地方使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值