yangan
2024-06-28 3fef62b03c16aa69c109c355150cdb698b777feb
api/request.js
@@ -1,13 +1,35 @@
import {
   globalApi
} from '@/api/globalApi.js';
import {
   apiLoginPassword
} from './publicInterface';
// 成功
const responseOK = (response) => {
   const {
      data
   } = response;
   test(data);
   return data;
}
const test = (obj) => {
   if (obj instanceof Array) {
      obj.forEach(e => {
         test(e);
      })
   } else if (obj instanceof Object) {
      for (let key in obj) {
         if (obj[key] == null) {
            obj[key] = "";
         } else {
            if (obj[key] instanceof Array || obj[key] instanceof Object) {
               test(obj[key])
            }
         }
      }
   }
}
// 响应失败的依赖性
@@ -78,75 +100,94 @@
   500: responseError
}
// const BaseUrl = "http://192.168.0.120:9997"
// const webSocketUrl = "ws://192.168.0.120:9997/wrzs/ws/info"
const BaseUrl = "http://192.168.110.101:9997";
const webSocketUrl = "ws://192.168.110.101:9997/wrzs/ws/info"
// const BaseUrl = "http://192.168.31.18:9997"
// const webSocketUrl = "ws://192.168.31.18:9997/wrzs/ws/info"
// const BaseUrl = 'http://192.168.0.31:9896'
// const webSocketUrl = "ws://192.168.0.31:9896/wrzs/ws/info"
export const onlineurl = "https://mx.jzeg.cn:9095";
// const BaseUrl = "http://192.168.0.100:9997";
// const webSocketUrl = "ws://192.168.0.100:9997/wrzs/ws/info"
// const BaseUrl = "http://192.168.0.108:9997";
// const webSocketUrl = "ws://192.168.0.108:9997/wrzs/ws/info"
// 线上生产
const BaseUrl = "https://mx.jzeg.cn:9095";
const webSocketUrl = "wss://mx.jzeg.cn:9095/wrzs/ws/info"
// 请求拦截
const fetch = (url, opt) => {
   // 查找对应地址
   let urls = (globalApi[opt.url]?.url || globalApi[url]?.url);
   let params = opt.params ? ('?' + Object.keys(opt.params).map(key => key + '=' + opt.params[key]).join('&')) :
      '';
   opt.url = BaseUrl + urls + params
   opt.method = opt.method || "GET";
   var header = {}
   if (uni.getStorageSync('token')) {
      header = {
         "Authorization": "Bearer" + ' ' + uni.getStorageSync('token'),
         "CLIENT_TOC": "Y",
      }
   }
   opt.header = {
      ...opt.header,
      ...header
   }
   opt.data = opt.data || {};
   return new Promise((resolve, reject) => {
      let options = {}
      Object.keys(opt).map(key => {
         if (key !== "params") {
            return options[key] = opt[key]
      // 查找对应地址
      let urls = (globalApi[opt.url]?.url || globalApi[url]?.url);
      let params = opt.params ? ('?' + Object.keys(opt.params).map(key => key + '=' + opt.params[key]).join('&')) :
         '';
      opt.url = BaseUrl + urls + params
      opt.method = opt.method || "GET";
      var header = {}
      if (uni.getStorageSync('token')) {
         header = {
            "Authorization": "Bearer" + ' ' + uni.getStorageSync('token'),
            "CLIENT_TOC": "Y",
         }
      })
      }
      uni.request(options)
         .then(res => interceptorsRes(res, resolve, reject))
         .catch(err => interceptorsErr(err, reject))
   })
}
      opt.header = {
         ...opt.header,
         ...header
      }
      opt.data = opt.data || {};
      return new Promise((resolve, reject) => {
            let options = {}
            if (opt.data) {
               Object.keys(opt.data).map(key => {
                     if (opt.data[key] == '' || opt.data[key] == "") {
                        opt.data[key] = null;
                     }
                  });
               }
               Object.keys(opt).map(key => {
                  if (key !== "params") {
                     return options[key] = opt[key]
                  }
               })
               uni.request(options)
                  .then(res => interceptorsRes(res, resolve, reject))
                  .catch(err => interceptorsErr(err, reject))
            })
      }
// 响应拦截
const interceptorsRes = ([err, resp], resolve, reject) => {
   const {
      statusCode,
      data
   } = resp;
   // 验证http状态码
   const handlerHTTPStatus = handlerCode[statusCode];
      // 响应拦截
      const interceptorsRes = ([err, resp], resolve, reject) => {
         const {
            statusCode,
            data
         } = resp;
         // 验证http状态码
         const handlerHTTPStatus = handlerCode[statusCode];
   // 没有找到相应状态操作直接返回
   if (!handlerHTTPStatus) return resolve(resp);
   if (!handlerHTTPStatus(resp, true)) return reject(false);
   resolve(resp.data)
}
         // 没有找到相应状态操作直接返回
         if (!handlerHTTPStatus) return resolve(resp);
         if (!handlerHTTPStatus(resp, true)) return reject(false);
         resolve(resp.data)
      }
// 异常处理
const interceptorsErr = (err, reject) => {
   console.log("网络异常", err)
   reject(err)
}
      // 异常处理
      const interceptorsErr = (err, reject) => {
         console.log("网络异常", err)
         reject(err)
      }
export {
   fetch,
   BaseUrl,
   webSocketUrl
}
      export {
         fetch,
         BaseUrl,
         webSocketUrl
      }