manage.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. import Vue from 'vue'
  2. import { axios } from '@/utils/request'
  3. const api = {
  4. user: '/api/user',
  5. role: '/api/role',
  6. service: '/api/service',
  7. permission: '/api/permission',
  8. permissionNoPager: '/api/permission/no-pager'
  9. }
  10. export default api
  11. //post
  12. export function postAction(url,parameter) {
  13. return axios({
  14. url: url,
  15. method:'post' ,
  16. data: parameter
  17. })
  18. }
  19. //post method= {post | put}
  20. export function httpAction(url,parameter,method) {
  21. return axios({
  22. url: url,
  23. method:method ,
  24. data: parameter
  25. })
  26. }
  27. //put
  28. export function putAction(url,parameter) {
  29. return axios({
  30. url: url,
  31. method:'put',
  32. data: parameter
  33. })
  34. }
  35. //get
  36. export function getAction(url,parameter) {
  37. return axios({
  38. url: url,
  39. method: 'get',
  40. params: parameter
  41. })
  42. }
  43. //deleteAction
  44. export function deleteAction(url,parameter) {
  45. return axios({
  46. url: url,
  47. method: 'delete',
  48. params: parameter
  49. })
  50. }
  51. export function getUserList(parameter) {
  52. return axios({
  53. url: api.user,
  54. method: 'get',
  55. params: parameter
  56. })
  57. }
  58. export function getRoleList(parameter) {
  59. return axios({
  60. url: api.role,
  61. method: 'get',
  62. params: parameter
  63. })
  64. }
  65. export function getServiceList(parameter) {
  66. return axios({
  67. url: api.service,
  68. method: 'get',
  69. params: parameter
  70. })
  71. }
  72. export function getPermissions(parameter) {
  73. return axios({
  74. url: api.permissionNoPager,
  75. method: 'get',
  76. params: parameter
  77. })
  78. }
  79. // id == 0 add post
  80. // id != 0 update put
  81. export function saveService(parameter) {
  82. return axios({
  83. url: api.service,
  84. method: parameter.id == 0 ? 'post' : 'put',
  85. data: parameter
  86. })
  87. }
  88. /**
  89. * 下载文件 用于excel导出
  90. * @param url
  91. * @param parameter
  92. * @returns {*}
  93. */
  94. export function downFile(url,parameter){
  95. return axios({
  96. url: url,
  97. params: parameter,
  98. method:'get' ,
  99. responseType: 'blob'
  100. })
  101. }
  102. /**
  103. * 下载文件
  104. * @param url 文件路径
  105. * @param fileName 文件名
  106. * @param parameter
  107. * @returns {*}
  108. */
  109. export function downloadFile(url, fileName, parameter) {
  110. return downFile(url, parameter).then((data) => {
  111. if (!data || data.size === 0) {
  112. Vue.prototype['$message'].warning('文件下载失败')
  113. return
  114. }
  115. if (typeof window.navigator.msSaveBlob !== 'undefined') {
  116. window.navigator.msSaveBlob(new Blob([data]), fileName)
  117. } else {
  118. let url = window.URL.createObjectURL(new Blob([data]))
  119. let link = document.createElement('a')
  120. link.style.display = 'none'
  121. link.href = url
  122. link.setAttribute('download', fileName)
  123. document.body.appendChild(link)
  124. link.click()
  125. document.body.removeChild(link) //下载完成移除元素
  126. window.URL.revokeObjectURL(url) //释放掉blob对象
  127. }
  128. })
  129. }
  130. /**
  131. * 文件上传 用于富文本上传图片
  132. * @param url
  133. * @param parameter
  134. * @returns {*}
  135. */
  136. export function uploadAction(url,parameter){
  137. return axios({
  138. url: url,
  139. data: parameter,
  140. method:'post' ,
  141. headers: {
  142. 'Content-Type': 'multipart/form-data', // 文件上传
  143. },
  144. })
  145. }
  146. /**
  147. * 获取文件服务访问路径
  148. * @param avatar
  149. * @param subStr
  150. * @returns {*}
  151. */
  152. export function getFileAccessHttpUrl(avatar,subStr) {
  153. if(!subStr) subStr = 'http'
  154. if(avatar && avatar.startsWith(subStr)){
  155. return avatar;
  156. }else{
  157. if(avatar && avatar.length>0 && avatar.indexOf('[')==-1){
  158. return window._CONFIG['staticDomainURL'] + "/" + avatar;
  159. }
  160. }
  161. }