123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- <template>
- <view class="content">
- <button type="default" open-type="getPhoneNumber" @getphonenumber="decryptPhoneNumber" v-if="false"
- @click="login">微信授权一键登录</button>
- <button @click="httpTest" style="margin-top: 10rps;">h5 axios http请求</button>
- <button @click="wxHttpTest" style="margin-top: 10rps;">miniprogram http请求</button>
- </view>
- </template>
- <script>
- import post from '../../common/httpClient.js'
- import {common, user} from '../../proto/proto.js';
- //const protobuf = require("protobufjs/minimal");
- const axios = require('axios');
- let loginMessage = user.login_req.create({
- phone: Buffer.from('1234567890'),
- type: 1,
- verifyInfo: Buffer.from('123456a'),
- })
- //proto对象转buffer
- let buffer = user.login_req.encode(loginMessage).finish()
- console.log(buffer);
- let requestMessage = common.MsgWebsocket.create({
- version: 1,
- app: 1,
- server: 2,
- servant: 1005,
- data: buffer,
- })
- let requestBuffer = common.MsgWebsocket.encode(requestMessage).finish()
- console.log(requestBuffer);
-
- let typeStr = Object.prototype.toString.call(requestBuffer.buffer)
- console.log(typeStr);
- export default {
- data() {
- return {
- }
- },
- methods: {
- login() {
- },
- decryptPhoneNumber(e) {
- console.log(e.detail.errMsg)
- console.log(e.detail.iv)
- console.log(e.detail.encryptedData)
- },
- wxHttpTest() {
- //try{
- post({
- server:2,
- servant:1005,
- data:{
- phone:'3246541321',
- type:1,
- verifyInfo:'asdasd'
- }
- })
- .then((res) =>{
- console.log(res)
- // if(res.code === 0){//成功
-
- // }else{
- // //失败
- // }
- }, (err) => {
- console.log(err);
- })
- },
- wxHttpTest1() {
- let typeStr = Object.prototype.toString.call(requestBuffer.buffer)
- console.log(typeStr);
- let requestArrayBuf = new Uint8Array([...requestBuffer]).buffer
- uni.request({
- //url:'https://test.api1.radio1964.com:80/Ohplay/Web/HttpToTcp'
- url: 'http://60.205.190.38:80/Ohplay/Web/HttpToTcp',
- 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: requestArrayBuf
- }).then((res) => {
- console.log(res);
- for (let response of res) {
- if (response !== null && response !== undefined && response.statusCode === 200) {
- try {
- let enc = new TextDecoder('utf-8')
- let res = JSON.parse(enc.decode(new Uint8Array(response.data))) //转化成json对象
- console.log(res);
- } catch (e) {
- //let resBuf = protobuf.util.newBuffer(response.data)
- let resBuf = Buffer.from(response.data)
- //console.log(resBuf.toString());
- let resMessage = common.MsgWebsocket.decode(resBuf)
- console.log(resMessage);
- let loginRspBuf = resMessage.data
- console.log(loginRspBuf);
- let loginRspMessage = user.login_rsp.decode(loginRspBuf)
- console.log(loginRspMessage);
- let obj = user.login_rsp.toObject(loginRspMessage, {
- longs: String,
- enums: String,
- })
- console.log(obj);
- console.log(`errorMessage = ${Buffer.from(loginRspMessage.errInfo.errorMessage).toString()}`);
- //console.log(Buffer.from(loginRspMessage.errInfo.errorMessage).toString());
- }
- }
- }
- }, (err) => {
- console.log(err);
- });
- },
- httpTest() { //测试http请求
- // let blob = new Blob([requestBuffer], {
- // type: 'buffer'
- // });
- // 将请求数据encode成二进制,encode是proto.js提供的方法
- function transformRequest(data) {
- return common.MsgWebsocket.encode(requestMessage).finish()
- }
- axios.create({
- timeout: 15000,
- method: 'post',
- headers: {
- "X-Requested-With": "XMLHttpRequest",
- "Content-Type": "application/octet-stream",
- //'Token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VyaWQiOjY1MDYzMywibmFtZSI6IjE4MTI2NDQ3MDE1IiwiZXhwIjoxNjIyODg0NTA1fQ.f7jIm0856-VnynA99MBoA2Dl1pePxI0HT_ECsUp5QHA'
- },
- responseType: 'arraybuffer',
- })
- .post('http://60.205.190.38:80/Ohplay/Web/HttpToTcp', requestMessage,{
- transformRequest:transformRequest
- })
- .then((response) => {
- console.log(response);
- if (response.status === 200 /* && response.data.byteLength>0*/ ) {
- try {
- let enc = new TextDecoder('utf-8')
- let res = JSON.parse(enc.decode(new Uint8Array(response.data))) //转化成json对象
- console.log(res);
- } catch (e) {
- //let resBuf = protobuf.util.newBuffer(response.data)
- let resBuf = Buffer.from(response.data)
- console.log(resBuf.toString());
- let resMessage = common.MsgWebsocket.decode(resBuf)
- let loginRspBuf = resMessage.data
- let loginRspMessage = user.login_rsp.decode(loginRspBuf)
- let obj = user.login_rsp.toObject(loginRspMessage, {
- longs: String,
- enums: String,
- })
- console.log(obj);
- console.log(`errorMessage = ${Buffer.from(loginRspMessage.errInfo.errorMessage).toString()}`);
- }
- }
- }, (err) => {
- console.log(err);
- });
- }
- }
- }
- </script>
- <style>
- .content {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- margin: 20rpx;
- }
- </style>
|