|
|
import Vue from 'vue' |
|
|
import { axios } from '@/utils/request' |
|
|
import { ACCESS_TOKEN } from "@/store/mutation-types" |
|
|
const api = { |
|
|
user: '/mock/api/user', |
|
|
role: '/mock/api/role', |
|
|
service: '/mock/api/service', |
|
|
permission: '/mock/api/permission', |
|
|
permissionNoPager: '/mock/api/permission/no-pager' |
|
|
} |
|
|
|
|
|
export default api |
|
|
|
|
|
//post |
|
|
export function postAction(url,parameter) { |
|
|
return axios({ |
|
|
url: url, |
|
|
method:'post' , |
|
|
data: parameter |
|
|
}) |
|
|
} |
|
|
|
|
|
//post method= {post | put} |
|
|
export function httpAction(url,parameter,method) { |
|
|
return axios({ |
|
|
url: url, |
|
|
method:method , |
|
|
data: parameter |
|
|
}) |
|
|
} |
|
|
|
|
|
//put |
|
|
export function putAction(url,parameter) { |
|
|
return axios({ |
|
|
url: url, |
|
|
method:'put', |
|
|
data: parameter |
|
|
}) |
|
|
} |
|
|
|
|
|
//get |
|
|
export function getAction(url,parameter) { |
|
|
return axios({ |
|
|
url: url, |
|
|
method: 'get', |
|
|
params: parameter |
|
|
}) |
|
|
} |
|
|
//post |
|
|
export function postFormAction(url,parameter) { |
|
|
return axios({ |
|
|
url: url, |
|
|
method:'post' , |
|
|
params: parameter |
|
|
}) |
|
|
} |
|
|
//deleteAction |
|
|
export function deleteAction(url,parameter) { |
|
|
return axios({ |
|
|
url: url, |
|
|
method: 'delete', |
|
|
params: parameter |
|
|
}) |
|
|
} |
|
|
|
|
|
export function getUserList(parameter) { |
|
|
return axios({ |
|
|
url: api.user, |
|
|
method: 'get', |
|
|
params: parameter |
|
|
}) |
|
|
} |
|
|
|
|
|
export function getRoleList(parameter) { |
|
|
return axios({ |
|
|
url: api.role, |
|
|
method: 'get', |
|
|
params: parameter |
|
|
}) |
|
|
} |
|
|
|
|
|
export function getServiceList(parameter) { |
|
|
return axios({ |
|
|
url: api.service, |
|
|
method: 'get', |
|
|
params: parameter |
|
|
}) |
|
|
} |
|
|
|
|
|
export function getPermissions(parameter) { |
|
|
return axios({ |
|
|
url: api.permissionNoPager, |
|
|
method: 'get', |
|
|
params: parameter |
|
|
}) |
|
|
} |
|
|
|
|
|
// id == 0 add post |
|
|
// id != 0 update put |
|
|
export function saveService(parameter) { |
|
|
return axios({ |
|
|
url: api.service, |
|
|
method: parameter.id == 0 ? 'post' : 'put', |
|
|
data: parameter |
|
|
}) |
|
|
} |
|
|
|
|
|
/** |
|
|
* 下载文件 用于excel导出 |
|
|
* @param url |
|
|
* @param parameter |
|
|
* @returns {*} |
|
|
*/ |
|
|
export function downFile(url,parameter){ |
|
|
return axios({ |
|
|
url: url, |
|
|
params: parameter, |
|
|
method:'get' , |
|
|
responseType: 'blob' |
|
|
}) |
|
|
} |
|
|
|
|
|
/** |
|
|
* 下载文件 |
|
|
* @param url 文件路径 |
|
|
* @param fileName 文件名 |
|
|
* @param parameter |
|
|
* @returns {*} |
|
|
*/ |
|
|
export function |
|
|
downloadFile(url, fileName, parameter) { |
|
|
return downFile(url, parameter).then((data) => { |
|
|
if (!data || data.size === 0) { |
|
|
Vue.prototype['$message'].warning('文件下载失败') |
|
|
return |
|
|
} |
|
|
if (typeof window.navigator.msSaveBlob !== 'undefined') { |
|
|
window.navigator.msSaveBlob(new Blob([data]), fileName) |
|
|
} else { |
|
|
let url = window.URL.createObjectURL(new Blob([data])) |
|
|
let link = document.createElement('a') |
|
|
link.style.display = 'none' |
|
|
link.href = url |
|
|
link.setAttribute('download', fileName) |
|
|
document.body.appendChild(link) |
|
|
link.click() |
|
|
document.body.removeChild(link) //下载完成移除元素 |
|
|
window.URL.revokeObjectURL(url) //释放掉blob对象 |
|
|
} |
|
|
}) |
|
|
} |
|
|
|
|
|
/** |
|
|
* 文件上传 用于富文本上传图片 |
|
|
* @param url |
|
|
* @param parameter |
|
|
* @returns {*} |
|
|
*/ |
|
|
export function uploadAction(url,parameter){ |
|
|
return axios({ |
|
|
url: url, |
|
|
data: parameter, |
|
|
method:'post' , |
|
|
headers: { |
|
|
'Content-Type': 'multipart/form-data', // 文件上传 |
|
|
}, |
|
|
}) |
|
|
} |
|
|
|
|
|
/** |
|
|
* 获取文件服务访问路径 |
|
|
* @param avatar |
|
|
* @param subStr |
|
|
* @returns {*} |
|
|
*/ |
|
|
export function getFileAccessHttpUrl(avatar,subStr) { |
|
|
|
|
|
if(!subStr) subStr = 'http' |
|
|
try { |
|
|
if(avatar && avatar.startsWith(subStr)){ |
|
|
return avatar; |
|
|
}else{ |
|
|
// if (window._CONFIG['BASE_FileType']=="mongodb"){ |
|
|
// const token = Vue.ls.get(ACCESS_TOKEN); |
|
|
// return window._CONFIG['domianURL']+`/system/sysFile/opendownload?id=${avatar}&token=${token}` |
|
|
// } |
|
|
if(avatar && avatar.length>0 && avatar.indexOf('[')==-1){ |
|
|
return window._CONFIG['staticDomainURL'] + "/" + avatar; |
|
|
} |
|
|
} |
|
|
}catch(err){ |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
export function getCurrentTime() { |
|
|
let yy = new Date().getFullYear(); |
|
|
let mm = new Date().getMonth()+1; |
|
|
let dd = new Date().getDate(); |
|
|
let hh = new Date().getHours(); |
|
|
let mf = new Date().getMinutes()<10 ? '0'+new Date().getMinutes() : new Date().getMinutes(); |
|
|
let ss = new Date().getSeconds()<10 ? '0'+new Date().getSeconds() : new Date().getSeconds(); |
|
|
return yy+'-'+mm+'-'+dd+' '+hh+':'+mf+':'+ss; |
|
|
} |
|
|
|
|
|
/** |
|
|
* 获取文件id |
|
|
* @param arry |
|
|
* @returns {string|null} |
|
|
*/ |
|
|
export function getStringArry(arry) { |
|
|
if (!arry || arry == '') return null; |
|
|
if (arry.length > 0) { |
|
|
var uuid = '' |
|
|
var arr = [] |
|
|
for (var i = 0; i < arry.length; i++) { |
|
|
arr.push(arry[i].id) |
|
|
} |
|
|
uuid = arr.join(',') |
|
|
return uuid |
|
|
} |
|
|
} |
|
|
export function getRecord(data) { |
|
|
let newFileList = [] |
|
|
if (data.fileId != null && data.id != '') { |
|
|
var text = data.ossFileList |
|
|
for (var i = 0; i < text.length; i++) { |
|
|
var name = text[i].filename |
|
|
var fileJson = { |
|
|
name: text[i].name, |
|
|
url: text[i].url, |
|
|
size: text[i].size, |
|
|
id: text[i].id, |
|
|
fileType: text[i].fileType |
|
|
} |
|
|
newFileList.push(fileJson) |
|
|
} |
|
|
} |
|
|
data.fileId = newFileList |
|
|
return data |
|
|
} |