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) } }