request.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // request.js
  2. import {$wuxToptips} from '../miniprogram_npm/wux-weapp/index'
  3. // 配置项
  4. const config = {
  5. baseURL: 'http://192.168.1.17:8901', // 基础URL
  6. timeout: 30000, // 超时时间(单位ms)
  7. header: {
  8. 'content-type': 'application/json', // 默认请求头
  9. // 其他全局请求头...
  10. },
  11. // 其他全局配置...
  12. };
  13. // 封装请求方法
  14. function request(url, method = 'GET', data = {}, header = {}) {
  15. return new Promise((resolve, reject) => {
  16. wx.request({
  17. url: config.baseURL + url,
  18. method: method.toUpperCase(),
  19. data: method === 'GET' ? {} : data, // GET请求时将data置为空对象
  20. header: {
  21. ...config.header,
  22. ...header,
  23. },
  24. timeout: config.timeout,
  25. success: function(res){
  26. // 根据业务逻辑处理成功响应
  27. if (res.data && res.data.code === 200) { // 假设服务器返回code为200表示成功
  28. resolve(res.data);
  29. } else {
  30. wx.showToast({
  31. title: '请求失败',
  32. icon: 'error',
  33. duration: 2000
  34. })
  35. reject(res.data.message || '未知错误');
  36. }
  37. },
  38. fail: function(error) {
  39. console.log(error)
  40. // 处理请求失败
  41. wx.showToast({
  42. title: '请求失败',
  43. icon: 'error',
  44. duration: 2000
  45. })
  46. reject(error);
  47. },
  48. });
  49. });
  50. }
  51. // 导出请求方法
  52. module.exports = {
  53. get: (url, data, header) => request(url, 'GET', data, header),
  54. post: (url, data, header) => request(url, 'POST', data, header),
  55. // 可以继续添加其他方法,如put, delete等
  56. // ...
  57. };