https.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import {ref } from 'vue';
  2. import Aes from './Aes.js';
  3. import Common from '../utils/common.js';
  4. import { httpconfig } from './httpconfig.js';
  5. export const $http = {
  6. post: (type, Nothis, Objson, callBack) => {
  7. // 使用 ref 存储可能需要响应式的数据(根据实际需求调整)
  8. const appUrlAddressYDHL = ref(uni.getStorageSync('appUrlAddress') + '/bdhealth/').value;
  9. let formData = Object.assign({}, Objson.data);
  10. formData.code = Objson.code;
  11. let sessionData = uni.getStorageSync('userData');
  12. let session = sessionData ? [sessionData] : [{}];
  13. formData.session = session;
  14. let bodyData = JSON.stringify(formData);
  15. if (appUrlAddressYDHL.indexOf('Encrypt') > -1) {
  16. bodyData = Aes.encrypt(JSON.stringify(formData));
  17. }
  18. uni.request({
  19. url: appUrlAddressYDHL,
  20. data: bodyData,
  21. method: 'post',
  22. header: {
  23. Accept: 'application/json',
  24. 'Content-Type': 'application/json',
  25. Authorization: httpconfig.authorizationToken,
  26. 'Access-Control-Allow-Origin': '218.17.212.34'
  27. },
  28. success: (res) => {
  29. if (+res.statusCode === 200) {
  30. let data = res.data;
  31. if (appUrlAddressYDHL.indexOf('Encrypt') > -1) {
  32. data = JSON.parse(Aes.decrypt(data));
  33. }
  34. if (+data.errorCode === 0) {
  35. Objson.success.call(Nothis, data);
  36. } else {
  37. const timeoutCodes = ['01040053', '01040054', '01040055'];
  38. if (timeoutCodes.includes(data.errorCode)) {
  39. uni.showToast({
  40. title: '网络超时,请重新操作.',
  41. icon: 'none',
  42. success: () => {}
  43. });
  44. Objson.success.call(Nothis, data);
  45. } else {
  46. if (data.errorCode !== '01040052') {
  47. if (Objson.fail) {
  48. Objson.fail.call(Nothis, data);
  49. }
  50. if (callBack?.error === 'Y') {
  51. Objson.success.call(Nothis, data);
  52. return;
  53. }
  54. uni.showToast({
  55. title: data.errorMessage,
  56. icon: 'none'
  57. });
  58. } else {
  59. uni.showToast({
  60. title: `${data.errorCode} - ${data.errorMessage}`,
  61. icon: 'none',
  62. success: () => {}
  63. });
  64. }
  65. }
  66. }
  67. } else {
  68. const urlCode = formData.code || '';
  69. uni.showModal({
  70. title: '异常提示',
  71. content: `${urlCode}网络环境异常-${res.statusCode}`,
  72. showCancel: false,
  73. confirmText: '知道了',
  74. success: (resModal) => {
  75. if (resModal.confirm && callBack?.error === 'Y') {
  76. const data = {
  77. errorCode: '-1',
  78. errorMessage: '接口异常'
  79. };
  80. Objson.success.call(Nothis, data);
  81. }
  82. }
  83. });
  84. }
  85. },
  86. fail: (error) => {
  87. const data = {
  88. errorCode: '-1',
  89. errorMessage: '网络异常,请检查网络IP/端口地址'
  90. };
  91. Objson.success.call(Nothis, data);
  92. }
  93. });
  94. }
  95. };