httpClient.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import {
  2. requestEncode,
  3. responseDecode
  4. } from "./protoMap"
  5. //import util from '../common/util'
  6. const URL = 'https://test.ohplay.radio1964.net/Ohplay/Web/HttpToTcp';
  7. function post(request) {
  8. let requestBuffer = requestEncode(request)
  9. return uni.request({
  10. url: URL,
  11. header: {
  12. "X-Requested-With": "XMLHttpRequest",
  13. "Content-Type": "application/x-protobuf",
  14. 'Token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VyaWQiOjY1MDYzMywibmFtZSI6IjE4MTI2NDQ3MDE1IiwiZXhwIjoxNjIyODg0NTA1fQ.f7jIm0856-VnynA99MBoA2Dl1pePxI0HT_ECsUp5QHA'
  15. },
  16. method: 'POST',
  17. timeout: 15000,
  18. dataType: 'protobuf',
  19. responseType: 'text',
  20. data: requestBuffer
  21. }).then((res) => {
  22. for (let response of res) {
  23. if (response !== null && response !== undefined && response.statusCode === 200) {
  24. try {
  25. console.log(response);
  26. let resJson = JSON.parse(response.data) //转化成json对象
  27. console.log(resJson);
  28. if(resJson.code === 0){
  29. let base64Str = resJson.data;
  30. //let base64Str = 'DQMAAAAVAQAAAB0CAAAAJeoDAABKlgEKBBICb2sSjQFleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKVmMyVnlhV1FpT2pZNE5EQXhNQ3dpYm1GdFpTSTZJalFpTENKbGVIQWlPakUyTWpNME9EWTRNamg5LlNzRlgzdWJ5UFp4NWRCLXJzZHNDd3NGcjlpLUpJczFXeWJBS2pBS3pwdzQ='
  31. let buffer = Buffer.from(base64Str,'base64')
  32. let data = responseDecode(buffer)
  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. return {
  45. code: code,
  46. msg: msg,
  47. data: data
  48. }
  49. }else{
  50. return {
  51. code: resJson.code,
  52. msg: resJson.info
  53. }
  54. }
  55. } catch (e) {
  56. return {
  57. code: -1,
  58. msg: e.toString()
  59. }
  60. }
  61. }
  62. }
  63. })
  64. }
  65. module.exports = post