import { createAlova } from 'alova' import VueHook from 'alova/vue' import adapterFetch from 'alova/fetch' import { createDiscreteApi } from 'naive-ui' const { message } = createDiscreteApi(['message']) const { dialog } = createDiscreteApi(['dialog']) const statusCode = { "5005": "场景不存在", "5012": "数据不正常", "5014": "您没有该场景的编辑权限。", "5018": "zip 文件只能有一层目录或无目录", "5019": "必须有且仅有一个 obj 和 mtl 文件", "5020": "贴图需控制在 1.5MB 以内,obj 文件需要控制在 20MB 以内。", "5021": "场景密钥不正确", "5025": "数据包不存在,请先打成 zip 包", "5033": "计算中", "5034": "场景已封存", "5039": "系统繁忙,请稍后再试。", "5043": "打包 zip 失败", "5059": "该压缩包无可用 obj 或 mtl 文件", "5060": "obj 文件名应为 mesh.obj", "5062": "无可用 jpg文件", "5065": "上传失败。zip 压缩包内所有文件如贴图、obj、mtl 等需放在根目录同一个文件夹中。", "5066": "后台正在处理您的请求,耐心等待。", "5068": "json 文件丢失,请在原始文件中找到该文件并重新打包上传。", "5069": "json 文件错误,请在原始文件中找到该文件并重新打包上传。", "5070": "请上传正确的楼层文件,文件数量需与原始文件一致。", "7004": "热点数据不能为空", "7005": "查询不到热点数据", "7006": "目录不存在", "7007": "文件格式不正确", "7009": "球幕视频文件不存在", "7010": "相机或者相机详情不存在", "7012": "上传的文件名错误", "7013": "上传失败", "7015": "仅支持 zip 文件上传", "7016": "仅支持 mp4 格式文件", "7018": "压缩包内请勿包含文件夹", "-3": "缺少必要参数", "-4": "跨服务请求失败", "-5": "系统繁忙,请稍后再试", "none": "未知错误" } export * from './url' export const Alova = createAlova({ baseURL: '', statesHook: VueHook, requestAdapter: adapterFetch(), timeout: 10000, cacheFor: null, cacheLogger: process.env.NODE_ENV === 'development', beforeRequest(method) { const token = localStorage.getItem('token') if (token) { method.config.headers.token = token } }, responded: { onSuccess: async (response, method) => { const res = (response.json && (await response.json())) || response.body // 是否返回原生响应头 比如:需要获取响应头时使用该属性 if (method.meta?.isReturnNativeResponse) { return res } // 请根据自身情况修改数据结构 const { message, code, data } = res // 不进行任何处理,直接返回 // 用于需要直接获取 code、result、 message 这些信息时开启 if (method.meta?.isTransformResponse === false) { return res.data } // debugger // console.log(message, code, data) if (code === 0) { return data } else { dialog.warning({ closable:false, closeOnEsc: false, maskClosable: false, content: statusCode[code] || message || '加载失败' }) return false } } } })