吉安感知网项目-前端
shuishen
2026-02-03 89380e6260a75d1d3b94de687ebcc2f50d50659d
uniapps/work-app/src/utils/requestGd/index.js
@@ -1,12 +1,15 @@
import Request from "uview-plus/libs/luch-request/index"
import configEnv from "@/config/env.js";
import {getEnvObj} from "@/utils/index.js";
import { useUserStore } from "@/store/index.js";
import website from '@/config/website'
import { Base64} from 'js-base64'
const http = new Request()
const httpGd = new Request()
export function request (config) {
  return new Promise((resolve, reject) => {
    http
    httpGd
      .request(config)
      .then(res => {
        resolve(res)
@@ -19,31 +22,30 @@
// 请求拦截器
function requestInterceptors(http) {
function requestInterceptors(httpGd) {
   http.interceptors.request.use((config) => {
      const {detail} = useUserStore().$state?.userInfo || {}
      // 假设有token值需要在头部需要携带
      let accessToken = useUserStore()?.$state?.userInfo?.access_token;
      if (accessToken) {
         // config.header['Blade-Auth'] = 'bearer ' + accessToken;
         config.header['authorization'] = accessToken;
      }
      // if (detail?.areaCode) {
      //   config.header['areaCode'] = detail.areaCode
      // }
      // 安全请求header
      // config.header['Blade-Requested-With'] = 'BladeHttpRequest';
      // 客户端认证参数
      // config.header['Authorization'] = 'Basic ' + Base64.encode(website.clientId + ':' + website.clientSecret);
      return config
   }, config => { // 可使用async await 做异步操作
      return Promise.reject(config)
   })
  httpGd.interceptors.request.use((config) => {
    const {detail} = useUserStore().$state?.userInfo || {}
    // 假设有token值需要在头部需要携带
    let accessToken = useUserStore()?.$state?.userInfo?.gd_access_token;
    if (accessToken) {
      config.header['Blade-Auth'] = 'bearer ' + accessToken;
    }
    if (detail?.areaCode) {
      config.header['areaCode'] = detail.areaCode
    }
    // 安全请求header
    config.header['Blade-Requested-With'] = 'BladeHttpRequest';
    // 客户端认证参数
    config.header['Authorization'] = 'Basic ' + Base64.encode(website.clientId + ':' + website.clientSecret);
    return config
  }, config => { // 可使用async await 做异步操作
    return Promise.reject(config)
  })
}
function responseInterceptors(http) {
   http.interceptors.response.use((response) => {
function responseInterceptors(httpGd) {
   httpGd.interceptors.response.use((response) => {
      let res = response
      const status = res.data.error_code || res.data.code || res.statusCode
      const message = res?.data?.msg || res?.data?.error_description || res?.data?.message || '系统错误'
@@ -70,18 +72,19 @@
// 引入拦截器配置
export function setupRequest () {
  http.setConfig(defaultConfig => {
  httpGd.setConfig(defaultConfig => {
    /* defaultConfig 为默认全局配置 */
    defaultConfig.baseURL = getEnvObj().VITE_API_BASE_URL
    defaultConfig.baseURL = getEnvObj().VITE_API_BASE_URL_GD
    // #ifdef H5
    if (import.meta.env.VITE_APP_PROXY === "true") {
      defaultConfig.baseURL = import.meta.env.VITE_API_PREFIX
      defaultConfig.baseURL = import.meta.env.VITE_API_PREFIX_GD
    }
    // #endif
    return defaultConfig
  })
  requestInterceptors(http)
  responseInterceptors(http)
  requestInterceptors(httpGd)
  responseInterceptors(httpGd)
}