api.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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/one/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/one/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/one/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/one/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. if (res.statusCode === 200) {
  74. resolve(res.data);
  75. } else {
  76. uni.showToast({
  77. title: '请求接口失败',
  78. icon: 'error',
  79. });
  80. }
  81. },
  82. fail: (err) => {
  83. uni.showToast({
  84. title: '请求接口失败',
  85. icon: 'fail',
  86. });
  87. reject(err.data);
  88. },
  89. });
  90. });
  91. } else if (method === 'POST' || method === 'DELETE') {
  92. header.views = views;
  93. return new Promise((resolve, reject) => {
  94. // rk配置
  95. let rkbaseUrl = getDomain('/util/crk');
  96. let pages = getCurrentPages();
  97. let route = pages[pages.length - 1].$page.fullPath;
  98. uni.request({
  99. url: rkbaseUrl,
  100. method: 'POST',
  101. header: {
  102. views,
  103. Referer: route,
  104. },
  105. success: (rkres) => {
  106. if (rkres.data && rkres.data.data) header.rk = rkres.data.data;
  107. header.Referer = route;
  108. uni.request({
  109. url: baseUrl,
  110. method,
  111. data: data || {},
  112. header,
  113. success: (res) => {
  114. if (res.statusCode === 200) {
  115. resolve(res.data);
  116. } else {
  117. uni.showToast({
  118. title: '请求接口失败',
  119. icon: 'error',
  120. });
  121. }
  122. },
  123. fail: (err) => {
  124. uni.showToast({
  125. title: '请求接口失败',
  126. icon: 'fail',
  127. });
  128. reject(err.data);
  129. },
  130. });
  131. },
  132. });
  133. });
  134. }
  135. };
  136. export const requestFile = (uri, method, data, type) => {
  137. let baseUrl = getDomain(uri, method, type);
  138. return new Promise((resolve, reject) => {
  139. uni.uploadFile({
  140. url: baseUrl,
  141. filePath: data,
  142. name: method || 'file',
  143. formData: {},
  144. success: (res) => {
  145. let data = JSON.parse(res.data);
  146. if (data.errcode != '0') {
  147. return uni.showToast({
  148. title: data.errmsg,
  149. icon: 'error',
  150. });
  151. }
  152. resolve(data);
  153. },
  154. fail: (err) => {
  155. let data = JSON.parse(err.data);
  156. uni.showToast({
  157. title: '请求接口失败',
  158. icon: 'fail',
  159. });
  160. reject(data);
  161. },
  162. });
  163. });
  164. };