httpClient.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import {
  2. requestEncode,
  3. responseDecode
  4. } from "./protoMap"
  5. const URL = 'http://60.205.190.38:80/Ohplay/Web/HttpToTcp';
  6. function post(request) {
  7. let requestBuffer = requestEncode(request)
  8. return uni.request({
  9. url: URL,
  10. header: {
  11. "X-Requested-With": "XMLHttpRequest",
  12. "Content-Type": "application/x-protobuf",
  13. 'Token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VyaWQiOjY1MDYzMywibmFtZSI6IjE4MTI2NDQ3MDE1IiwiZXhwIjoxNjIyODg0NTA1fQ.f7jIm0856-VnynA99MBoA2Dl1pePxI0HT_ECsUp5QHA'
  14. },
  15. method: 'POST',
  16. timeout: 15000,
  17. dataType: 'protobuf',
  18. responseType: 'arraybuffer',
  19. data: requestBuffer
  20. }).then((res) => {
  21. for (let response of res) {
  22. if (response !== null && response !== undefined && response.statusCode === 200) {
  23. try {
  24. let enc = new TextDecoder('utf-8')
  25. let resJson = JSON.parse(enc.decode(new Uint8Array(response.data))) //转化成json对象
  26. console.log(resJson);
  27. return {
  28. code: resJson.code,
  29. msg: resJson.info
  30. }
  31. } catch (e) {
  32. let data = responseDecode(response)
  33. console.log(data);
  34. let code = 0
  35. let msg = "success"
  36. if (typeof data.errInfo !== 'undefined') {
  37. code = data.errInfo.errorCode
  38. if (typeof data.errInfo.errorMessage === 'string') {
  39. msg = data.errInfo.errorMessage
  40. } else {
  41. msg = Buffer.from(data.errInfo.errorMessage).toString()
  42. }
  43. }
  44. //throw "Error2"
  45. return {
  46. code: code,
  47. msg: msg,
  48. data: data
  49. }
  50. }
  51. }
  52. }
  53. })
  54. }
  55. module.exports = post