manage.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  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. export function postNoCacheAction(url, parameter) {
  12. return axios({
  13. url: url,
  14. method: 'post',
  15. data: parameter,
  16. headers: {
  17. 'Cache-Control': 'no-cache'
  18. }
  19. })
  20. }
  21. //post
  22. export function postAction(url,parameter) {
  23. return axios({
  24. url: url,
  25. method:'post' ,
  26. data: parameter
  27. })
  28. }
  29. export function getAction(url, parameter) {
  30. return axios({
  31. url: url,
  32. method: 'get',
  33. params: parameter
  34. })
  35. }
  36. export function postFormAction(url,parameter) {
  37. return axios({
  38. url: url,
  39. method:'post' ,
  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. //post method= {post | put}
  52. export function httpAction(url,parameter,method) {
  53. return axios({
  54. url: url,
  55. method:method ,
  56. data: parameter
  57. })
  58. }
  59. export function getUserList(parameter) {
  60. return axios({
  61. url: api.user,
  62. method: 'get',
  63. params: parameter
  64. })
  65. }
  66. export function getRoleList(parameter) {
  67. return axios({
  68. url: api.role,
  69. method: 'get',
  70. params: parameter
  71. })
  72. }
  73. export function getPermissions(parameter) {
  74. return axios({
  75. url: api.permissionNoPager,
  76. method: 'get',
  77. params: parameter
  78. })
  79. }
  80. // id == 0 add post
  81. // id != 0 update put
  82. export function saveService(parameter) {
  83. return axios({
  84. url: api.service,
  85. method: parameter.id == 0 ? 'post' : 'put',
  86. data: parameter
  87. })
  88. }
  89. //put
  90. export function putAction(url,parameter) {
  91. return axios({
  92. url: url,
  93. method:'put',
  94. data: parameter
  95. })
  96. }
  97. /**
  98. * 下载文件 用于excel导出
  99. * @param url
  100. * @param parameter
  101. * @returns {*}
  102. */
  103. export function downFilePost(url, parameter) {
  104. return axios({
  105. url: url,
  106. data: parameter,
  107. method: 'post',
  108. responseType: 'blob'
  109. })
  110. }
  111. export function getServiceList(parameter) {
  112. return axios({
  113. url: api.service,
  114. method: 'get',
  115. params: parameter
  116. })
  117. }
  118. /**
  119. * 下载文件 用于excel导出
  120. * @param url
  121. * @param parameter
  122. * @returns {*}
  123. */
  124. export function downFile(url, parameter) {
  125. return axios({
  126. url: url,
  127. params: parameter,
  128. method: 'get',
  129. responseType: 'blob'
  130. })
  131. }
  132. export function getProvince(url, parameter) {
  133. return axios({
  134. url: url,
  135. method: 'get',
  136. params: parameter
  137. })
  138. }
  139. export function getPackage(parameter) {
  140. return axios({
  141. url: "/template/creative/words/get",
  142. method: 'get',
  143. params: parameter
  144. })
  145. }
  146. /**
  147. * 下载文件
  148. * @param url 文件路径
  149. * @param fileName 文件名
  150. * @param parameter
  151. * @returns {*}
  152. */
  153. export function downloadFile(url, fileName, parameter) {
  154. return downFile(url, parameter).then((data) => {
  155. if (!data || data.size === 0) {
  156. Vue.prototype['$message'].warning('文件下载失败')
  157. return
  158. }
  159. if (typeof window.navigator.msSaveBlob !== 'undefined') {
  160. window.navigator.msSaveBlob(new Blob([data]), fileName)
  161. } else {
  162. let url = window.URL.createObjectURL(new Blob([data]))
  163. let link = document.createElement('a')
  164. link.style.display = 'none'
  165. link.href = url
  166. link.setAttribute('download', fileName)
  167. document.body.appendChild(link)
  168. link.click()
  169. document.body.removeChild(link) //下载完成移除元素
  170. window.URL.revokeObjectURL(url) //释放掉blob对象
  171. }
  172. })
  173. }
  174. /**
  175. * 文件上传 用于富文本上传图片
  176. * @param url
  177. * @param parameter
  178. * @returns {*}
  179. */
  180. export function uploadAction(url,parameter){
  181. return axios({
  182. url: url,
  183. data: parameter,
  184. method:'post' ,
  185. headers: {
  186. 'Content-Type': 'multipart/form-data', // 文件上传
  187. },
  188. })
  189. }
  190. /**
  191. * 获取文件服务访问路径
  192. * @param avatar
  193. * @param subStr
  194. * @returns {*}
  195. */
  196. export function getFileAccessHttpUrl(avatar,subStr) {
  197. if(!subStr) subStr = 'http'
  198. if(avatar && avatar.startsWith(subStr)){
  199. return avatar;
  200. }else{
  201. if(avatar && avatar.length>0 && avatar.indexOf('[')==-1){
  202. return window._CONFIG['staticDomainURL'] + "/" + avatar;
  203. }
  204. }
  205. }
  206. export function postFile(URL,parameter) {
  207. return axios({
  208. url: URL,
  209. method: 'post',
  210. // headers: {
  211. // 'Content-Type': 'multipart/form-data;charset=utf-8',
  212. // },
  213. data: parameter
  214. })
  215. }