manage.js 4.9 KB

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