123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- export function request(url, options = {}) {
- const config = useRuntimeConfig()
-
- const defatulOpts = {
- method: 'get',
- baseURL: config.public.baseApi,
- headers: {
-
-
-
- project: '123',
- ...options.headers
- },
- onRequest({ options }) {
- console.log(1)
- if (options.method === 'post') {
- console.log(2)
-
-
-
-
-
-
- }
- },
- onRequestError() {
- console.log(3)
-
- },
- onResponse({ response: { _data: data } }) {
- console.log(4)
- if (data && data.errorCode != 'NO-ERROR') {
- console.log(5)
- handleServerError(data.errorCode, data.errorMessage)
- }
- },
- onResponseError({ response }) {
- console.log(6)
- handleHttpError(response.status)
- },
- ...options
- }
- return new Promise((resolve, reject) => {
- console.log(7)
- $fetch(url, defatulOpts)
- .then((res) => {
- const { code } = res
- code === 200 ? resolve(res) : reject(res)
- })
- .catch((err) => reject(err))
- })
- }
- const handleHttpError = (status) => {
- switch (status) {
- case 400:
-
- break
- case 401:
-
- break
- case 403:
-
- break
- case 404:
-
- break
- case (502, 503):
-
- break
- default:
-
- break
- }
- }
- const handleServerError = async (code, msg) => {
- if (code === 'UNAUTHORIZED_LOGIN') {
-
-
-
-
-
-
-
- return
- }
- if (msg) {
- showErrorMessage(msg)
- }
- }
- const showErrorMessage = (msg) => {
-
-
-
-
- }
- export const handleResponse = (response, isNeedData = true) => {
- return new Promise((resolve, reject) => {
- const success = response.success
- switch (success) {
- case true: {
- if (isNeedData) {
- if (response.data && !isEmptyValue(response.data)) return resolve()
- return reject(response)
- }
- return resolve()
- }
- default: {
- return reject(response)
- }
- }
- })
- }
|