amis.js 1.95 KB
import request from '@/utils/request'
const form = window.context.form
import axios from 'axios'
import { isExternal } from '@/utils/validate'
export const getAmisTemplate = function (aliasName) {
  const params = {
    templateId: '1820646919244943360',
    queryFilter: {
      pageBean: { page: 1, pageSize: 20, total: 5 },
      querys: [
        {
          property: 't.F_alias',
          value: aliasName,
          group: 'main',
          operation: 'EQUAL',
          relation: 'AND',
        },
      ],
      sorter: [],
    },
  }
  return request({
    url: `${form}/form/dataTemplate/v1/listJson`,
    method: 'post',
    data: params
  })
}

export const fetcher = ({
  url, // 接口地址
  method, // 请求方法 get、post、put、delete
  data, // 请求数据
  responseType,
  config, // 其他配置
  headers, // 请求头
}) => {
  config = config || {}
  config.withCredentials = true
  responseType && (config.responseType = responseType)

  if (config.cancelExecutor) {
    config.cancelToken = new axios.CancelToken(config.cancelExecutor)
  }

  config.headers = headers || {}

  if (method !== 'post' && method !== 'put' && method !== 'patch') {
    if (data) {
      config.params = data
    }

    return request({
      url: isExternal(url) ? url : `${form}${url}`,
      method,
      config,
    })
  } else if (data && data instanceof FormData) {
    config.headers = config.headers || {}
    config.headers['Content-Type'] = 'multipart/form-data'
  } else if (
    data &&
    typeof data !== 'string' &&
    !(data instanceof Blob) &&
    !(data instanceof ArrayBuffer)
  ) {
    data = JSON.stringify(data)
    config.headers = config.headers || {}
    config.headers['Content-Type'] = 'application/json'
  }
  return request({
    url: isExternal(url) ? url : `${form}${url}`, // 接口地址
    method, // 请求方法 get、post、put、delete
    data, // 请求数据
    responseType,
    config, // 其他配置
    headers, // 请求头
  })
}