api.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. let Promises = Promise
  2. import url from "@/util/url";
  3. let {host} = url
  4. var _GET=null;
  5. Promises.prototype.finally = function(callback) {
  6. let P = this.constructor
  7. return this.then(
  8. value => P.resolve(callback()).then(() => value),
  9. reason => P.resolve(callback()).then(() => {
  10. throw reason
  11. }))
  12. }
  13. class Https {
  14. _GET=_GET||{
  15. 'customBarH':0,//高度
  16. "statusBarH":0
  17. }
  18. request(url, method, data,loading) {
  19. var loading=loading||false
  20. if(!loading){
  21. uni.showLoading({
  22. title: '加载中'
  23. })
  24. }
  25. var token = uni.getStorageSync('token')
  26. // var token = "df057579-73c8-4bdd-8312-f64db8efd699"
  27. return new Promises((resolve, reject) => {
  28. uni.request({
  29. // // #ifdef H5
  30. // url:'/apid'+url,
  31. // // #endif
  32. url: host + '/' + url, //
  33. method: method,
  34. data: data,
  35. header: {
  36. // application/json
  37. 'content-type': 'application/json', // 默认值
  38. 'Authorization': token || ''
  39. },
  40. success: function(res) {
  41. // console.log(res.data.code,98765)
  42. if(!loading){
  43. uni.hideLoading()
  44. }
  45. if (res.statusCode == 401) {
  46. uni.navigateTo({
  47. url: '/pages/load/roles'
  48. })
  49. }else if(res.data.code == '00040000'){
  50. uni.showToast({
  51. title: res.data.message,
  52. duration: 1000,
  53. icon: 'none'
  54. });
  55. }else if(res.code == 1002){
  56. uni.navigateTo({
  57. url: '/pages/load/roles'
  58. })
  59. }else if(res.data.code == 1002){
  60. uni.navigateTo({
  61. url: '/pages/load/roles'
  62. })
  63. }else if(res.data.code == 401){
  64. uni.clearStorage()
  65. uni.reLaunch({
  66. url: '/pages/login/login'
  67. })
  68. }else if(res.code == 401){
  69. uni.navigateTo({
  70. url: '/pages/load/roles'
  71. })
  72. }
  73. else{
  74. resolve(res.data)
  75. }
  76. },
  77. fail: function(error) {
  78. uni.hideLoading()
  79. reject(error)
  80. }
  81. })
  82. })
  83. }
  84. upLoad(params) {
  85. console.log(params)
  86. var token = uni.getStorageSync('token')
  87. let urls = ''
  88. return new Promises((resolve, reject) => {
  89. console.log(params.data)
  90. uni.uploadFile({
  91. url: url + '/common/upload',
  92. filePath: params.path,
  93. data: params,
  94. header: {
  95. 'content-type': 'multipart/form-data',
  96. 'Authorization': token
  97. },
  98. formData: {
  99. 'token': token
  100. },
  101. name: params.name || 'file',
  102. success: function(res) {
  103. console.log(res.data,9875)
  104. urls = JSON.parse(res.data);
  105. let urliu = urls.url
  106. console.log(urliu)
  107. let url = urls.url
  108. resolve(url)
  109. },
  110. fail: function(error) {
  111. reject(error)
  112. }
  113. })
  114. })
  115. }
  116. upDown(params) {
  117. console.log(params)
  118. var token = uni.getStorageSync('token')
  119. return new Promises((resolve, reject) => {
  120. uni.uploadFile({
  121. url: host + '/common/download', //
  122. header: {
  123. 'Authorization': token
  124. },
  125. filePath: params.path,
  126. name: params.name || 'img',
  127. success: function(res) {
  128. console.log(res,4)
  129. resolve(res.data)
  130. },
  131. fail: function(error) {
  132. reject(error)
  133. }
  134. })
  135. })
  136. }
  137. get(url, data) {
  138. return this.request(url, 'GET', data)
  139. }
  140. dele(url, data) {
  141. return this.request(url, 'delete', data)
  142. }
  143. post(url, data,loading) {
  144. return this.request(url, 'POST', data,loading)
  145. }
  146. put(url, data) {
  147. return this.request(url, 'put', data)
  148. }
  149. uniApi(params, data) {
  150. return new Promises((resolve, reject) => {
  151. params.events({
  152. ...data,
  153. success(res) {
  154. resolve(res)
  155. },
  156. fail(err) {
  157. reject(err)
  158. }
  159. })
  160. })
  161. }
  162. routePage(url,type){
  163. switch (type){
  164. case 'nav':
  165. uni.navigateTo({
  166. url:url
  167. })
  168. break;
  169. case 'redirect':
  170. uni.redirectTo({
  171. url:url
  172. })
  173. break;
  174. case 'reLaunch':
  175. uni.reLaunch({
  176. url:url
  177. })
  178. break;
  179. case 'navback':
  180. uni.navigateBack({
  181. url:url
  182. })
  183. break;
  184. default:
  185. break;
  186. }
  187. }
  188. }
  189. const https = new Https()
  190. export default https