>  기사  >  웹 프론트엔드  >  uniapp requrst에서 공개 헤더를 설정하는 방법(두 가지 방법)

uniapp requrst에서 공개 헤더를 설정하는 방법(두 가지 방법)

PHPz
PHPz원래의
2023-04-17 10:30:271660검색

개발 과정에서 우리는 종종 UniApp을 사용하여 크로스 플랫폼 애플리케이션을 구축합니다. UniApp은 Vue.js를 기반으로 하는 오픈 소스 프레임워크로 Vue.js 코어와 일부 크로스 플랫폼 기능을 함께 패키지하여 완전한 개발 경험을 제공할 수 있습니다. 개발 과정에서 데이터를 얻기 위해 네트워크 요청을 보내야 하는 경우가 많습니다. 이때 요청의 정확성과 효율성을 보장하기 위해 일부 공개 헤더 매개변수를 설정해야 합니다.

UniApp에서는 캡슐화된 uni.request를 사용하여 네트워크 요청을 보낼 수 있습니다. uni.request는 우수한 크로스 플랫폼 성능을 가지고 있으며 UniApp의 기본 XMLHttpRequest 및 기본 axios 확장을 캡슐화하고 HTTP/HTTPS 요청을 시작하는 데 사용할 수 있습니다. 공개 헤더 매개변수를 설정하는 데에는 다음 두 가지 일반적인 방법이 있습니다.

방법 1: 요청 옵션에

// main.js
Vue.prototype.$http = function (url, data, method) {
  let token = uni.getStorageSync('token');
  let header = {
    'Authorization': token,
    'Content-type': 'application/json'
  };
  return uni.request({
    url,
    data,
    method,
    header
  })
}

// 调用
this.$http('/api/user', { id: 123, name: 'Tom' }, 'GET').then(res => {
  console.log(res)
})

를 설정합니다. 그 중 $ttp 메소드는 main.js에 정의되어 있으며, 공개 헤더 매개변수는 옵션에서 설정되며, 호출 시 특정 매개변수를 전달할 수 있습니다.

방법 2: 인터셉터를 통한 통합 설정

// request.js
export function request(opts) {
  let token = uni.getStorageSync('token');
  let header = {
    'Authorization': token,
    'Content-type': 'application/json'
  };
  const interceptor = {
    request: (opts) => {
      opts.header = header;
      return opts;
    },
    response: (res) => {
      const { statusCode, data } = res;
      if (statusCode === 200) {
        return data;
      } else {
        uni.showToast({
          title: '请求失败',
          icon: 'none'
        })
        return Promise.reject(res);
      }
    }
  }
  uni.addInterceptor(interceptor);
  return uni.request(opts).finally(() => {
    uni.removeInterceptor(interceptor);
  })
}

// 调用
request({
  url: '/api/user?id=123&name=Tom',
  method: 'GET'
}).then(res => {
  console.log(res);
})

이 방법에서는 요청 함수를 정의하고 인터셉터를 통해 요청을 가로채고 함수에 공개 헤더 매개변수를 설정한 다음 uni.request를 통해 요청을 시작합니다. 요청을 호출할 때 특정 매개변수만 전달하면 됩니다.

결론적으로 보면, UniApp에서는 공개 헤더 매개변수를 설정하는 것이 어렵지 않다는 것을 알 수 있습니다. uni.request의 옵션에서만 설정해도 되고, 인터셉터를 통해 균일하게 설정할 수도 있습니다. code 재사용성을 높이고 반복되는 코드 작성을 줄이는 것이 좋은 선택입니다.

위 내용은 uniapp requrst에서 공개 헤더를 설정하는 방법(두 가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.