openRequest.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import config from "@/config/index.js"
  2. const baseUrl = process.env.NODE_ENV === 'development' ? config.base.dev : config.base.pro;
  3. export async function request(parmas) {
  4. return new Promise(function(resolve, reject) {
  5. try {
  6. uni.showLoading({
  7. title: '加载中',
  8. mask: true
  9. });
  10. uni.request({
  11. ...formatRequestBody(parmas),
  12. success(response) {
  13. let data = response.data;
  14. let code = data.code;
  15. let msg = data.msg
  16. if (code === 200) {
  17. resolve(data)
  18. } else {
  19. if (code === 401) {
  20. uni.showToast({
  21. title: msg || "登录失效!",
  22. mask: true,
  23. icon: "none",
  24. complete() {
  25. uni.redirectTo({
  26. url: '/pages/authorizedLogin/index'
  27. })
  28. }
  29. })
  30. } else {
  31. reject(data)
  32. uni.showToast({
  33. title: msg,
  34. mask: true,
  35. icon: "none"
  36. })
  37. }
  38. }
  39. },
  40. fail(res) {
  41. uni.showToast({
  42. title: res,
  43. mask: true,
  44. icon: "none"
  45. })
  46. reject(res)
  47. },
  48. complete(res) {
  49. uni.hideLoading();
  50. }
  51. })
  52. } catch (err) {
  53. console.log(err)
  54. reject(err)
  55. }
  56. })
  57. }
  58. function formatRequestBody(parmas) {
  59. let url = parmas.url;
  60. url = baseUrl + url;
  61. let data = {
  62. ...parmas.data
  63. };
  64. let header = {
  65. ...parmas.header
  66. };
  67. header['AppID'] = config.appID
  68. header['AppKey'] = config.appKey
  69. header['AppSecret'] = config.appSecret
  70. let method = parmas.method || "get";
  71. let dataType = parmas.dataType || "json";
  72. let requestBody = {
  73. url,
  74. data,
  75. header,
  76. method,
  77. dataType
  78. };
  79. return requestBody;
  80. };