Taro请求封装
interceptor.js ajax封装,请求响应拦截处理
import Taro from '@tarojs/taro'; let Ajax = (url, method, data, header) => { // 请求拦截处理写在这里 // Taro.showLoading({ // title: '加载中', // icon: 'loading', // mask: true // }); return new Promise((resolve, reject) => { Taro.request({ url: url, data: data, method: method, header: header, success: (res) => { // 响应拦截处理写在这里 if (res.statusCode == 200) {// 确认用户登录,而不仅仅是有sessionId,还需要有登录的信息用户openId // let loginData = Taro.getStorageSync('loginData'); // if(loginData){ // loginData = JSON.parse(loginData) // } // if(url.indexOf('account')<0 && !loginData.openId){ // Taro.showModal({ // title:'提示', // content:'请进行登录。', // success:(res)=>{ // if(res.confirm){ // Taro.clearStorageSync(); // Taro.reLaunch({ // url:'/login/index' // }); // return; // } // } // }) // } return resolve(res.data); } else if (res.statusCode == 404) { Toast('404 请求页面不存在'); } else if (res.statusCode == 408) { Toast('请求超时'); } else if (res.statusCode == 500) { Toast('服务器错误') } else if (res.statusCode == 0) { Toast('网络连接超时') } else if (res.statusCode == 501) { Taro.showModal({ title:'提示', content:'请进行登录。', success:(res)=>{ if(res.confirm){ Taro.clearStorageSync(); Taro.reLaunch({ url:'/src/pages/login/index' }); return; } } }) } reject(res); }, fail: (error) => { Model('服务器错误,请稍候再试 !'); reject(error); return; }, complete: () => { // Taro.hideLoading(); } }) }) } //将sessionId通过请求头传递给后台,用于判断是否登录以及登录是否过期超时 let get = (url, data, header) => { header = header ? header : {"Cookie": "JSESSIONID=" + Taro.getStorageSync("sessionId")}; return Ajax(url, 'GET', data, header); } let post = (url, data, header) => { header = header ? header : {"Cookie": "JSESSIONID=" + Taro.getStorageSync("sessionId")}; header['Content-Type'] = 'application/json'; return Ajax(url, 'POST', data, header); } let Toast = (msg) => { Taro.showToast({ title: msg, duration: 3000, icon: 'none', mask:true }) } let Model = (msg) => { Taro.showModal({ title: '提示', content: msg, showCancel: false }) } export default {get, post}
api.js 封装接口调用
import http from './interceptor.js' export default { configUrl:{baseUrl:'http://192.168.101.239:8080' },
// 请求示例 getAssetsList(params) { return http.get(this.configUrl.baseUrl + '/wx/assetsInfo/listIndex', params) },
addAssetsRepair(params) {
return http.post(this.configUrl.baseUrl + '/wx/assetsRepair',params)
},
}
使用
//引入api
import api from "../../api/api.js";
let params={}; api.getAssetsList(params).then((res) => { });
道阻且长,行则将至!