api.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. import config from '../config.js';
  2. const getDomain = (uri, method, type) => {
  3. let url = config.serverUrl;
  4. if (type && type == 'file') return url + `/files` + uri;
  5. if (type && type == 'integral') {
  6. let integral = `/point/zr/v1/api` + uri;
  7. if (config.wx_dev) integral = url + `${config.wx_dev}` + integral;
  8. else integral = url + integral;
  9. return integral
  10. }
  11. if (type && type == 'group') {
  12. let group = `/point/group/v1/api` + uri;
  13. if (config.wx_dev) group = url + `${config.wx_dev}` + group;
  14. else group = url + group;
  15. return group
  16. }
  17. if (type && type == 'chat') {
  18. let chat = `/point/chat/v1/api` + uri;
  19. if (config.wx_dev) chat = url + `${config.wx_dev}` + chat;
  20. else chat = url + chat;
  21. return chat
  22. }
  23. if (uri.startsWith('/wechat/api')) return url + uri;
  24. let general = `/point/v1/api` + uri;
  25. if (config.wx_dev) general = url + `${config.wx_dev}` + general;
  26. else general = url + general;
  27. return general;
  28. };
  29. // 获取token
  30. const getToken = () => {
  31. try {
  32. const value = uni.getStorageSync('token');
  33. if (value) return value;
  34. } catch {}
  35. };
  36. // 获取请求key
  37. const getRequestKey = (views) => {
  38. let baseUrl = getDomain('/util/crk');
  39. return new Promise((resolve, reject) => {
  40. uni.request({
  41. url: baseUrl,
  42. method: 'POST',
  43. header: {
  44. views
  45. },
  46. success: (res) => {
  47. if (res.data && res.data.data) resolve(res.data.data);
  48. else reject();
  49. },
  50. fail: (err) => {},
  51. });
  52. });
  53. };
  54. export const requestBase = async (uri, method = 'GET', data, type) => {
  55. let baseUrl = getDomain(uri, method, type);
  56. // let token = getToken();
  57. let header = {};
  58. let views = JSON.stringify({
  59. uri,
  60. method
  61. });
  62. views = encodeURIComponent(views);
  63. const token = uni.getStorageSync('token');
  64. if (token) header.token = token;
  65. if (method === 'GET') {
  66. return new Promise((resolve, reject) => {
  67. uni.request({
  68. url: baseUrl,
  69. method: method || 'GET',
  70. data: data || {},
  71. header,
  72. success: (res) => {
  73. resolve(res.data);
  74. },
  75. fail: (err) => {
  76. uni.showToast({
  77. title: '请求接口失败',
  78. icon: 'fail',
  79. });
  80. reject(err.data);
  81. },
  82. });
  83. });
  84. } else if (method === 'POST' || method === 'Delete') {
  85. header.views = views;
  86. return new Promise((resolve, reject) => {
  87. // rk配置
  88. let rkbaseUrl = getDomain('/util/crk');
  89. let pages = getCurrentPages();
  90. let route = pages[pages.length - 1].$page.fullPath;
  91. uni.request({
  92. url: rkbaseUrl,
  93. method: 'POST',
  94. header: {
  95. views,
  96. Referer: route,
  97. },
  98. success: (rkres) => {
  99. if (rkres.data && rkres.data.data) header.rk = rkres.data.data;
  100. header.Referer = route;
  101. uni.request({
  102. url: baseUrl,
  103. method,
  104. data: data || {},
  105. header,
  106. success: (res) => {
  107. resolve(res.data);
  108. },
  109. fail: (err) => {
  110. uni.showToast({
  111. title: '请求接口失败',
  112. icon: 'fail',
  113. });
  114. reject(err.data);
  115. },
  116. });
  117. },
  118. });
  119. // uni.request({
  120. // url: baseUrl,
  121. // method: method || 'GET',
  122. // data: data || {},
  123. // header,
  124. // success: (res) => {
  125. // resolve(res.data);
  126. // },
  127. // fail: (err) => {
  128. // uni.showToast({
  129. // title: '请求接口失败',
  130. // icon: 'fail',
  131. // });
  132. // reject(err.data);
  133. // },
  134. // });
  135. });
  136. }
  137. };
  138. export const requestFile = (uri, method, data, type) => {
  139. let baseUrl = getDomain(uri, method, type);
  140. return new Promise((resolve, reject) => {
  141. uni.uploadFile({
  142. url: baseUrl,
  143. filePath: data,
  144. name: method || 'file',
  145. formData: {},
  146. success: (res) => {
  147. let data = JSON.parse(res.data);
  148. if (data.errcode != '0') {
  149. return uni.showToast({
  150. title: data.errmsg,
  151. icon: 'error',
  152. });
  153. }
  154. resolve(data);
  155. },
  156. fail: (err) => {
  157. let data = JSON.parse(err.data);
  158. uni.showToast({
  159. title: '请求接口失败',
  160. icon: 'fail',
  161. });
  162. reject(data);
  163. },
  164. });
  165. });
  166. };