portal.js 5.1 KB
import req from '@/utils/request'
import { saveAs } from 'file-saver'
const { uc, form, portal, bpmModel, bpmRunTime, auth } = window.context

export default {
  // 通过别名获取布局
  getLayoutByAlias(alias) {
    const url = `${portal}/portal/sysIndexLayoutManage/sysIndexLayoutManage/v1/getByAlias?alias=${alias}`
    return req.get(url)
  },
  // 前端门户保存布局
  setLayoutConfig(data) {
    const url = `${portal}/portalUserLayoutConfig/v1/save`
    return req.post(url, data)
  },
  getColumnByAlias(alias, cb) {
    req
      .get(
        portal +
          '/portal/sysIndexColumn/sysIndexColumn/v1/getByAlias?alias=' +
          alias
      )
      .then((response) => {
        cb(response)
      })
  },
  batchGetColumnByAliases(aliases, cb) {
    req
      .post(
        portal + '/portal/sysIndexColumn/sysIndexColumn/v1/getDatasByAlias',
        aliases
      )
      .then((response) => {
        cb(response)
      })
  },
  getColumnData(column, cb) {
    const reqUrl = column.dataFrom
      .replace('${bpmModel}', bpmModel)
      .replace('${bpmRunTime}', bpmRunTime)
      .replace('${portal}', portal)
      .replace('${uc}', uc)
      .replace('${form}', form)
    const requestType = column.requestType
    var reqParam = column.dataParam
    if (reqParam) {
      reqParam = eval('(' + reqParam + ')')
      var isMany = reqParam.length > 1
      for (var i = 0; i < reqParam.length; i++) {
        var value = reqParam[i]['value']
        var name = reqParam[i]['name']
        if (requestType == 'POST') {
          try {
            value = JSON.parse(value)
          } catch (e) {}
          if (isMany) {
            reqParam[name] = value
          } else {
            reqParam = value
          }
        } else {
          reqUrl =
            i > 0 ? reqUrl + '&' + name + '=' + value : '?' + name + '=' + value
        }
      }
    }
    if (requestType == 'POST') {
      req.post(reqUrl, reqParam).then((response) => {
        cb(response.data)
      })
    } else {
      req.get(reqUrl).then((response) => {
        cb(response.data)
      })
    }
  },
  vueFrontHome(cb) {
    req.get(portal + '/portal/main/v1/vueFrontHome').then((response) => {
      cb(response.value)
    })
  },
}

export function getTagList(data) {
  return request({
    url: `${context.portal}/portal/sysTag/v1/query`,
    method: 'post',
    data,
  })
}

export function saveTag(data) {
  return request({
    url: `${context.portal}/portal/sysTag/v1/save`,
    method: 'post',
    data,
  })
}
//文件图片接口地址
export function fileUrl(id) {
  return `${portal}/system/file/v1/downloadFile?fileId=${id}`
}

//图形验证码图片接口地址
export function getCaptchaImage() {
  const url = `${auth}/auth/captcha` + '?' + Math.random()
  return req.get(url)
}

//获取第三方二维码信息
export function getQrCodeInfo(tenantId) {
  const url = `${portal}/portal/sysExternalUnite/v1/getQrCodeInfo?tenantId=${tenantId}`
  return req.get(url)
}

// 获取新闻列表
export function getNewsList(id) {
  const url = `${portal}/portalNewsNotice/v1/getNews?classifyId=${id}`
  return req.get(url)
}

// 获取新闻详情
export function getNewsDetailById(id) {
  const url = `${portal}/portalNewsNotice/v1/getNewsById?id=${id}`
  return req.get(url)
}

export function getLongUrlByShortUrl(shortUrl) {
  const url = `${portal}/portal/shorturlManage/v1/getLongUrlByShortUrl?shortUrl=${shortUrl}`
  return req.get(url)
}

export function downloadFile(id, fileName) {
  const url = fileUrl(id)
  req({
    url,
    method: 'get',
    responseType: 'arraybuffer',
  }).then((response) => {
    const blobData = new Blob([response.data])
    saveAs(blobData, fileName)
  })
}

export function wordPrint(data) {
  //String.fromCharCode.apply(null, new Uint8Array(resp.data))
  return new Promise((resolve, reject) => {
    req({
      url: `${portal}/system/file/v1/wordPrint`,
      method: 'post',
      data,
      responseType: 'arraybuffer',
    }).then((resp) => {
      resolve(String.fromCharCode.apply(null, new Uint8Array(resp.data)))
    })
  })
}

export function getFileById(fileId) {
  return req({
    url: `${portal}/system/file/v1/${fileId}`,
    method: 'get',
  })
}

// 查询用户设置的提醒消息
export function getCurrentUserPopup() {
  return req.get(portal + '/portal/portalSysPopup/v1/getCurrentUserPopup')
}
export function getSysProperties(alias) {
  return req.get(portal + '/sys/sysProperties/v1/getByAlias?alias=' + alias)
}
export function getColumnLayoutList(alias) {
  return req({
    url: `${portal}/portal/sysIndexLayoutManage/sysIndexLayoutManage/v1/getByAlias?alias=${alias}`,
    method: 'get',
  })
}
export function getSysMenuById(id) {
  return req({
    url: `${portal}/sys/sysMenu/v1/getJson?id=${id}`,
    method: 'get',
  })
}
// 根据token接口的入参获取票据
export function getUrlTicket(tokenApi) {
  return req({
    url: `${portal}/portal/portalRestfulInterface/v1/urlTicket`,
    method: 'post',
    data: tokenApi,
  })
}

//显示应用菜单

export function portalApp() {
  return req({
    url: `${portal}/sys/sysMenu/v1/menus/right?alias=AppCenter,Message,EmailCenter`,
    method: 'get',
  })
}