request.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import {
  2. api_config
  3. } from "../config.js"
  4. class ReqestConfig {
  5. constructor() {
  6. this.params = {
  7. 'content-type': "application/json",
  8. timeout: 16000,
  9. header: {
  10. appId: uni.getStorageSync('storage_users').uid,
  11. authorization: uni.getStorageSync('storage_token')
  12. }
  13. }
  14. }
  15. }
  16. class RequestFun extends ReqestConfig {
  17. constructor(arg) {
  18. super(arg)
  19. }
  20. fetch(url, method, data, complete = null, responseType = 'text') {
  21. return new Promise((resolve, reject) => {
  22. uni.request({
  23. url: api_config + url, //
  24. ...this.params,
  25. responseType: responseType,
  26. method: method,
  27. data: data,
  28. success: (res) => {
  29. try {
  30. if (res.data.code == 0) {
  31. resolve(res.data.data)
  32. } else if (res.data.code == 205) {
  33. reject(res)
  34. } else {
  35. // let value =
  36. // `参数:${JSON.stringify(data)}\n\n接口:${method}=>${api_config+url}\n\n接口报错信息:${res.data.msg}`
  37. // uni.showModal({
  38. // title: '开发错误提示(仅供测试使用)',
  39. // showCancel: true,
  40. // content: value,
  41. // confirmText: '复制内容',
  42. // success(resp) {
  43. // if (resp.confirm) {
  44. // uni.setClipboardData({
  45. // data: value,
  46. // success: () => {
  47. // uni.showToast({
  48. // title: '复制成功'
  49. // })
  50. // }
  51. // });
  52. // } else if (resp.cancel) {
  53. // console.log('用户点击取消');
  54. // }
  55. // }
  56. // });
  57. plus.nativeUI.toast(res.data.msg); //可定制化
  58. reject(res)
  59. }
  60. } catch (e) {
  61. console.log(e)
  62. plus.nativeUI.toast(res.data.message);
  63. reject(res)
  64. }
  65. },
  66. fail: (error) => {
  67. plus.nativeUI.toast('连接超时,请检查您的网络~');
  68. reject(error)
  69. },
  70. complete: complete
  71. });
  72. })
  73. }
  74. }
  75. export default RequestFun