request.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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('access_token')
  6. let refresh_token = uni.getStorageSync('refresh_token')
  7. options.header = {
  8. 'Tenant-Id':'000000',
  9. 'Authorization': 'Basic c3dvcmQ6c3dvcmRfc2VjcmV0',
  10. 'content-type': 'application/json',
  11. 'Blade-Auth': access_token ,
  12. 'refresh_token': refresh_token
  13. };
  14. // resolved是返回成功数据,rejected返回错误数据
  15. return new Promise((resolved, rejected) => {
  16. options.success = (res) => {
  17. // 如果请求回来的状态码不是200则执行以下操作
  18. if (res.data.code !== 200) {
  19. // 非成功状态码弹窗
  20. uni.showToast({
  21. icon: 'none',
  22. duration: 3000,
  23. title: `${res.data.msg}`
  24. });
  25. // 这里可以做一些状态码判断以及操作
  26. // 返回错误信息
  27. rejected(res)
  28. if (res.data.code === 401){
  29. uni.navigateTo({
  30. url: '/pages/welcome/index'
  31. })
  32. }
  33. } else {
  34. // 请求回来的状态码为200则返回内容
  35. resolved(res)
  36. }
  37. };
  38. options.fail = (err) => {
  39. // 请求失败弹窗
  40. uni.showToast({
  41. icon: 'none',
  42. duration: 3000,
  43. title: '系统繁忙,请稍后再试'
  44. });
  45. rejected(err);
  46. };
  47. uni.request(options);
  48. });
  49. }
  50. export default service;