uniapp的封装请求
1.新建目录utils
2.在目录utils中新建request.js
3.request.js封装内容,如下:
1 /** 2 * @param {Object} url请求地址 3 * @param {Object} data 请求数据 4 * @param {Object} contentType 请求内容类型 1=json 2=form 5 * @param {Object} method请求方法 6 */ 7 function request({url, data, method, contentType}){ 8 let header = { 9 'content-type': contentType === 1 ? 'application/json' : 'application/x-www-form-urlencoded' 10 } 11 let baseUrl = "http://localhost:3000"; 12 13 return new Promise((resolve, reject)=>{ 14 uni.request({ 15 url:baseUrl+url, 16 data, 17 method, 18 header, 19 success: (res) => { 20 if(res.statusCode === 200) { 21 // 请求成功 22 resolve(res.data); 23 }else if(res.statusCode === 401){ 24 uni.showToast({ 25 icon:'none', 26 title:"未登录或登录状态已超时", 27 duration:1500 28 }); 29 } else if (res.statusCode === 405){ 30 uni.showToast({ 31 icon:'none', 32 title:"请求方法错误", 33 duration:1500 34 }); 35 }else { 36 uni.showToast({ 37 icon:'none', 38 title:"请求错误" + res.statusCode, 39 duration:1500 40 }); 41 } 42 }, 43 fail: (err) => { 44 console.log("err:",err) 45 uni.showToast({ 46 icon:'none', 47 title:err.errMsg, 48 duration:1500 49 }); 50 reject(err); 51 } 52 }) 53 }) 54 } 55 56 export default {request}
4.新建目录apis
5.在目录apis中新建文件index.js,内容如下:
1 import request from "@/utils/request.js" 2 3 // 轮播请求接口 4 export function apiGetBanner(data){ 5 return request.request({ 6 url:'/banner', 7 method:'GET', 8 data 9 }) 10 }
6.在页面中的使用
1 引入模块 2 import {apiGetBanner} from '@/apis/index.js' 3 4 使用 5 methods: { 6 getBanner(){ 7 apiGetBanner().then(res=>{ 8 console.log(res) 9 this.swiper=res.banners 10 }) 11 // uni.request({ 12 // url:"http://localhost:3000/banner", 13 // method:'GET', 14 // success: (res) => { 15 // console.log(res) 16 // this.swiper=res.data.banners 17 // } 18 // }) 19 } 20 }
浙公网安备 33010602011771号