request.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import env from '../js/env.js';
  2. function service(options = {}) {
  3. options.url = `${env.baseUrl}${options.url}`;
  4. // 判断本地是否存在token,如果存在则带上请求头
  5. let access_token = uni.getStorageSync('accessToken')
  6. let refresh_token = uni.getStorageSync('refresh_token')
  7. options.header = {
  8. 'Authorization': 'Bearer '+ access_token,
  9. 'content-type': 'application/json'
  10. };
  11. // resolved是返回成功数据,rejected返回错误数据
  12. return new Promise((resolved, rejected) => {
  13. options.success = (res) => {
  14. // 如果请求回来的状态码不是200则执行以下操作
  15. if (res.data.code !== 200) {
  16. // 非成功状态码弹窗
  17. uni.showToast({
  18. icon: 'none',
  19. duration: 3000,
  20. title: `${res.data.msg}`
  21. });
  22. // 这里可以做一些状态码判断以及操作
  23. // 返回错误信息
  24. rejected(res)
  25. } else {
  26. // 请求回来的状态码为200则返回内容
  27. resolved(res)
  28. }
  29. };
  30. options.fail = (err) => {
  31. console.log(err)
  32. // 请求失败弹窗
  33. uni.showToast({
  34. icon: 'none',
  35. duration: 3000,
  36. title: '系统繁忙,请稍后再试'
  37. });
  38. rejected(err);
  39. };
  40. uni.request(options);
  41. });
  42. }
  43. export default service;