import {getEncodeFun,getDecodeFun} from "./protoMap" const URL = 'http://60.205.190.38:80/Ohplay/Web/HttpToTcp'; function post(request) { let encodeFun = getEncodeFun(request.servant); console.log(typeof encodeFun); //if (typeof encodeFun === "function") { let requestBuffer = encodeFun(request) //} return uni.request({ //url:'https://test.api1.radio1964.com:80/Ohplay/Web/HttpToTcp' url: URL, header: { "X-Requested-With": "XMLHttpRequest", "Content-Type": "application/x-protobuf", 'Token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VyaWQiOjY1MDYzMywibmFtZSI6IjE4MTI2NDQ3MDE1IiwiZXhwIjoxNjIyODg0NTA1fQ.f7jIm0856-VnynA99MBoA2Dl1pePxI0HT_ECsUp5QHA' }, method: 'POST', timeout: 15000, dataType: 'protobuf', responseType: 'arraybuffer', data: requestBuffer }).then((res) => { for (let response of res) { if (response !== null && response !== undefined && response.statusCode === 200) { try { let enc = new TextDecoder('utf-8') let resJson = JSON.parse(enc.decode(new Uint8Array(response.data))) //转化成json对象 console.log(resJson); return { code: resJson.code, msg: resJson.info } } catch (e) { let decodeFun = getDecodeFun(request.servant) // if (typeof decodeFun === "function") { let data = decodeFun(response) console.log(data); let code = 0 let msg = "success" if(typeof data.errInfo !== 'undefined'){ code = data.errInfo.errorCode if(typeof data.errInfo.errorMessage === 'string'){ msg = data.errInfo.errorMessage }else{ msg = Buffer.from(data.errInfo.errorMessage).toString() } } //throw "Error2" return { code: code, msg: msg, data: data } // } } } } }) } module.exports = post