12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import request from "@/plugins/request";
- import store from '@/config/store';
- import base from '@/config/baseUrl';
- //可以new多个request来支持多个域名请求
- let $http = new request({
- //接口请求地址
- baseUrl: base.baseUrl,
- //设置请求头(如果使用报错跨域问题,可能是content-type请求类型和后台那边设置的不一致)
- header: {
- 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
- }
- });
- //请求开始拦截器
- $http.requestStart = function(options) {
- let token = uni.getStorageSync('TokenKey')
- //请求前加入token
- if (token) {
- options.header['token'] = token;
- };
- return options;
- }
- //所有接口数据处理(此方法需要开发者根据各自的接口返回类型修改,以下只是模板)
- $http.dataFactory = async function(res) {
- if (res.response.statusCode && res.response.statusCode == 200) {
- if (res.response.data.code == 1) {
-
- } else {
- // uni.showToast({
- // icon: 'none',
- // position: 'bottom',
- // title: res.response.data.msg
- // });
- }
- return res.response.data;
- } else if (res.response.statusCode == 213) {
- return res.response.data
- } else {
- // 返回错误的结果(catch接受数据)
- return Promise.reject({
- statusCode: res.response.statusCode,
- errMsg: "【request】数据工厂验证不通过",
- data: res.data
- });
- }
- };
- // 错误回调
- $http.requestError = function(e) {
- // e.statusCode === 0 是参数效验错误抛出的
- if (e.statusCode === 0) {
- throw e;
- } else {
- console.log(e);
- uni.showToast({
- title: "网络错误,请检查一下网络",
- icon: "none"
- });
- }
- }
- export default $http;
|