123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- 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
- }
- }
- }
- })
|