request.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import env from './env.js';
  2. function service(options = {}) {
  3. options.url = `${env.baseUrl}${options.url}`;
  4. // 判断本地是否存在token,如果存在则带上请求头
  5. let token = uni.getStorageSync('token')
  6. options.header = {
  7. 'content-type': 'application/json',
  8. // 'Authorization': `Bearer ${token || false}` // 这里是token(可自行修改)
  9. };
  10. // resolved是返回成功数据,rejected返回错误数据
  11. return new Promise((resolved, rejected) => {
  12. options.success = (res) => {
  13. // 如果请求回来的状态码不是200则执行以下操作
  14. if (res.statusCode !== 200) {
  15. // 非成功状态码弹窗
  16. uni.showToast({
  17. icon: 'none',
  18. duration: 2000,
  19. title: `${res.data.message}`
  20. });
  21. // 这里可以做一些状态码判断以及操作
  22. // 返回错误信息
  23. rejected(res)
  24. } else {
  25. // 请求回来的状态码为200则返回内容
  26. resolved(res)
  27. }
  28. if(res.data.success === 2){
  29. uni.removeStorage({
  30. key: 'username'
  31. });
  32. uni.removeStorage({
  33. key: 'passwork'
  34. });
  35. uni.removeStorage({
  36. key: 'tokenInfo'
  37. });
  38. uni.reLaunch({
  39. url: '/pages/login/login'
  40. })
  41. }
  42. };
  43. options.fail = (err) => {
  44. // 请求失败弹窗
  45. uni.showToast({
  46. icon: 'none',
  47. duration: 3000,
  48. title: '服务器错误,请稍后再试'
  49. });
  50. rejected(err);
  51. };
  52. uni.request(options);
  53. });
  54. }
  55. export default service;