restful.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. const APPLICATION_JSON_UTF8_VALUE = "application/json;charset=UTF-8";
  2. const APPLICATION_JSON_UTF8_FORM = 'application/x-www-form-urlencoded;charset=UTF-8';
  3. const RESPONSE_OK = 20000;
  4. const TOKEN_BEOVERDUE = 40001;
  5. const TOKEN = wx.getStorageSync('accessToken') == null ? '' : wx.getStorageSync('accessToken');
  6. //测试环境
  7. const HOST = 'https://wordpad-api-test.efunbox.cn';
  8. //正式环境
  9. // const HOST = 'https://wordpad-api-test.efunbox.cn';
  10. const httpData = {
  11. userId: 'test'
  12. }
  13. //API接口
  14. const interfaces = {
  15. //这里边放入请求的接口
  16. //获取全国地址
  17. getOrganizeAll: '/organize/all',
  18. //获取学校信息和班级信息(根据type判断)
  19. getSchoolOrClass: '/school',
  20. //手机号登录注册
  21. phoneRegister: '/tch/user/register',
  22. //获取手机验证码
  23. getVerifyCode: '/tch/user/verifyCode',
  24. //账号密码登录
  25. pwdPhoneLogin: '/tch/user/login',
  26. //修改密码
  27. updatePassWord: '/tch/user/updatePassword',
  28. //更新个人信息
  29. updateUserInfo: '/tch/user',
  30. //根据userId获取用户信息
  31. getUserById: '/tch/user/getUserById',
  32. //根据deviceId获取设备信息(后面拼接deviceId)
  33. getDeviceById: '/tch/device/',
  34. //根据地区,学校,班级获取设备ID
  35. getDevideIdByRSC: '/tch/device/site',
  36. //提交设备报修
  37. postDeviceFault: '/tch/fault',
  38. //上传单个图片
  39. uploadImageList: '/file/upload',
  40. //根据userId获取提交的报修记录
  41. getDeviceFault: '/tch/fault',
  42. //根据故障ID获取故障详情(后面拼接ID)
  43. getFaultInfoByDevId: '/tch/fault/'
  44. }
  45. function fun(url: String, type: any, data: any, otherType: any) {
  46. if (!TOKEN) {
  47. //这里可以做一个请求的拦截 看有没有携带token
  48. console.log("Token:", TOKEN)
  49. }
  50. let promise = new Promise((resolve, reject) => {
  51. wx.request({
  52. url: HOST + url,
  53. method: type,
  54. data: type == 'GET' ? data : JSON.stringify(data),
  55. header: {
  56. 'content-type': otherType ? APPLICATION_JSON_UTF8_FORM : APPLICATION_JSON_UTF8_VALUE,
  57. 'access-token': wx.getStorageSync('accessToken') == null ? '' : wx.getStorageSync('accessToken'),
  58. 'userId': httpData.userId
  59. },
  60. success: function (res: any) {
  61. wx.stopPullDownRefresh();
  62. if (res) {
  63. resolve(res)
  64. } else {
  65. wx.showToast({
  66. title: res.data.subMsg ? res.data.subMsg : res.data.msg,
  67. icon: 'none',
  68. duration: 2000
  69. })
  70. }
  71. },
  72. fail: function (res: any) {
  73. wx.stopPullDownRefresh();
  74. reject(res)
  75. }
  76. })
  77. })
  78. return promise
  79. }
  80. function uploadFile(url: String, filePath: string, fileName: string, formData: any) {
  81. let promise = new Promise((resolve, reject) => {
  82. wx.uploadFile({
  83. url: HOST + url,
  84. filePath: filePath,
  85. name: fileName,
  86. formData: formData,
  87. success(res) {
  88. resolve(res.data)
  89. // const data = res.data
  90. //do something
  91. },
  92. fail(res) {
  93. reject(res)
  94. }
  95. })
  96. })
  97. return promise;
  98. }
  99. export const httpUtil = {
  100. httpData,
  101. interfaces,
  102. wxGet: function (url: String, data: any) {
  103. return fun(url, 'GET', data, null)
  104. },
  105. wxPost: function (url: String, data: any) {
  106. return fun(url, 'POST', data, null)
  107. },
  108. wxFormPost: function (url: String, data: any) {
  109. return fun(url, 'POST', data, 'formPost')
  110. },
  111. wxPut: function (url: String, data: any) {
  112. return fun(url, 'PUT', data, null)
  113. },
  114. wxDel: function (url: String, data: any) {
  115. return fun(url, 'DELETE', data, null)
  116. },
  117. wxUploadFile: function (url: String, filePath: string, fileName: string, formData: any) {
  118. return uploadFile(url, filePath, fileName, formData)
  119. }
  120. }