newServices.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. const {
  2. Toast
  3. } = require('./util');
  4. // 新的API服务域名
  5. const serverName = 'https://test.4dmuseum.cn/api';
  6. const fileBaseURL = 'https://test.4dmuseum.cn/swkzModel/index.html';
  7. const cosBaseUrl = 'https://swkz-1332577016.cos.ap-guangzhou.myqcloud.com/'
  8. const urls = {
  9. // 归藏轮播图接口
  10. getAntiqueList: '/wx/antique/page',
  11. // 归藏详情接口
  12. getAntiqueDetail: '/wx/antique'
  13. };
  14. const requestFns = {};
  15. Object.keys(urls).forEach(function(key) {
  16. requestFns[key] = function(
  17. data = {},
  18. method = "GET",
  19. success = () => {},
  20. fail = () => {},
  21. complete = () => {}
  22. ) {
  23. console.log(`request ${urls[key]}`);
  24. let commonData = {
  25. loginSessionKey: wx.getStorageSync('token') || ""
  26. };
  27. const url = `${serverName}${urls[key]}`;
  28. return wx.request({
  29. method: method || 'GET',
  30. url,
  31. data: {
  32. ...data,
  33. ...commonData
  34. },
  35. header: {
  36. 'content-type': 'application/x-www-form-urlencoded'
  37. },
  38. success: function(res) {
  39. if (res.data.code == 0) {
  40. console.log(`request ${urls[key]}, success:`, res);
  41. success(res);
  42. } else if (res.data.code == 102) {
  43. // 未登录
  44. wx.showModal({
  45. title: '提示',
  46. content: '登录才能进行以上操作,确定登录吗?',
  47. confirmColor: '#e83828',
  48. success: function (res) {
  49. if (res.confirm) {
  50. wx.navigateTo({
  51. url: '/pages/login_page/index',
  52. success: function (res) { },
  53. fail: function (res) { },
  54. complete: function (res) { },
  55. })
  56. } else if (res.cancel) {
  57. console.log('用户点击取消')
  58. }
  59. }
  60. })
  61. fail(res);
  62. } else if (res.data.code == 11) {
  63. Toast.showToast('warn', '提交信息不完整');
  64. fail(res);
  65. } else if (res.data.code == 101) {
  66. Toast.showToast('warn', '网络超时,请重新登录');
  67. fail(res);
  68. } else if (res.data.code == -1) {
  69. Toast.showToast('warn', '请求发送失败');
  70. fail(res);
  71. } else {
  72. Toast.showToast('warn', res.data.msg || '网络超时,请检查网络');
  73. fail(res);
  74. }
  75. },
  76. fail: function(res) {
  77. fail(res);
  78. },
  79. complete: function() {
  80. complete()
  81. }
  82. });
  83. };
  84. });
  85. const request = {
  86. getAntiqueList: function(data, method, success, fail) {
  87. wx.request({
  88. url: serverName + urls.getAntiqueList,
  89. data: data,
  90. method: method,
  91. header: {
  92. 'content-type': 'application/json'
  93. },
  94. success: function(res) {
  95. if (res.statusCode === 200) {
  96. if (res.data.code === 0) {
  97. success(res);
  98. } else if (res.data.code === 401) {
  99. // 未登录
  100. wx.showToast({
  101. title: '请先登录',
  102. icon: 'none'
  103. });
  104. fail(res);
  105. } else if (res.data.code === 400) {
  106. // 提交信息不完整
  107. wx.showToast({
  108. title: res.data.msg || '提交信息不完整',
  109. icon: 'none'
  110. });
  111. fail(res);
  112. } else {
  113. // 其他错误
  114. wx.showToast({
  115. title: res.data.msg || '请求失败',
  116. icon: 'none'
  117. });
  118. fail(res);
  119. }
  120. } else {
  121. // 网络错误
  122. wx.showToast({
  123. title: '网络错误',
  124. icon: 'none'
  125. });
  126. fail(res);
  127. }
  128. },
  129. fail: function(err) {
  130. // 请求失败
  131. wx.showToast({
  132. title: '请求失败',
  133. icon: 'none'
  134. });
  135. fail(err);
  136. }
  137. });
  138. },
  139. getAntiqueDetail: function(data, method, success, fail) {
  140. // 从页面参数中获取id
  141. const pages = getCurrentPages();
  142. const currentPage = pages[pages.length - 1];
  143. const id = currentPage.data.id;
  144. if (!id) {
  145. wx.showToast({
  146. title: '缺少文物ID',
  147. icon: 'none'
  148. });
  149. fail({ msg: '缺少文物ID' });
  150. return;
  151. }
  152. wx.request({
  153. url: serverName + urls.getAntiqueDetail + '/' + id,
  154. data: data,
  155. method: method,
  156. header: {
  157. 'content-type': 'application/json'
  158. },
  159. success: function(res) {
  160. if (res.statusCode === 200) {
  161. if (res.data.code === 0) {
  162. success(res);
  163. } else if (res.data.code === 401) {
  164. // 未登录
  165. wx.showToast({
  166. title: '请先登录',
  167. icon: 'none'
  168. });
  169. fail(res);
  170. } else if (res.data.code === 400) {
  171. // 提交信息不完整
  172. wx.showToast({
  173. title: res.data.msg || '提交信息不完整',
  174. icon: 'none'
  175. });
  176. fail(res);
  177. } else {
  178. // 其他错误
  179. wx.showToast({
  180. title: res.data.msg || '请求失败',
  181. icon: 'none'
  182. });
  183. fail(res);
  184. }
  185. } else {
  186. // 网络错误
  187. wx.showToast({
  188. title: '网络错误',
  189. icon: 'none'
  190. });
  191. fail(res);
  192. }
  193. },
  194. fail: function(err) {
  195. // 请求失败
  196. wx.showToast({
  197. title: '请求失败',
  198. icon: 'none'
  199. });
  200. fail(err);
  201. }
  202. });
  203. }
  204. };
  205. module.exports.request = request;
  206. module.exports.serverName = serverName;
  207. module.exports.cosBaseUrl = cosBaseUrl;
  208. module.exports.fileBaseURL = fileBaseURL;