import { requestEncode, responseDecode } from "./protoMap" const URL = 'http://60.205.190.38:80/Ohplay/Web/HttpToTcp'; function post(request) { let requestBuffer = requestEncode(request) return uni.request({ 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 data = responseDecode(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