123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- // import md5 from 'md5'
- // import { createDiscreteApi } from 'naive-ui'
- export function request(url, options = {}) {
- const config = useRuntimeConfig()
- // const authStore = useAuthStore()
- const defatulOpts = {
- method: 'get',
- baseURL: config.public.baseApi,
- headers: {
- // 'Content-Type': 'application/json',
- // deviceType: config.public.deviceType,
- // authorization: authStore.token,
- project: '123',
- ...options.headers
- },
- onRequest({ options }) {
- console.log(1)
- if (options.method === 'post') {
- console.log(2)
- // const bodyJson = options.body ? JSON.stringify(options.body) : ''
- // const timestamp = new Date().getTime()
- // let sign = `yingdeweilai888${bodyJson}${timestamp}`
- // sign = md5(sign).toUpperCase()
- // options.headers.sign = sign
- // options.headers.timestamp = timestamp
- }
- },
- onRequestError() {
- console.log(3)
- // showErrorMessage('请求出错,请重试~')
- },
- 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:
- // showErrorMessage('参数错误')
- break
- case 401:
- // showErrorMessage('没有访问权限')
- break
- case 403:
- // showErrorMessage('服务器拒绝访问')
- break
- case 404:
- // showErrorMessage('请求地址错误')
- break
- case (502, 503):
- // showErrorMessage('系统升级中')
- break
- default:
- // showErrorMessage('服务器出错了')
- break
- }
- }
- const handleServerError = async (code, msg) => {
- if (code === 'UNAUTHORIZED_LOGIN') {
- // const authStore = useAuthStore()
- // authStore.cleanToken()
- // jumpToLoginPage()
- // await navigateTo({
- // path: '/login',
- // replace: true
- // })
- return
- }
- if (msg) {
- showErrorMessage(msg)
- }
- }
- const showErrorMessage = (msg) => {
- // const { message } = createDiscreteApi(['message'])
- // if (process.server) return
- // const { message } = useMessage()
- // message.error(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)
- }
- }
- })
- }
|