thinkraz-api-sdk
Version:
橡芮科技API开发包
908 lines (885 loc) • 37.8 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="../src/socket.lib.js"></script>
<script src="../src/socket.min.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/lrsjng.jquery-qrcode/0.14.0/jquery-qrcode.js"></script>
</head>
<body>
<div id="start_area">
<a href="javascript:startOrder('simple')">普通订单</a>
<a href="javascript:startOrder('member')">会员订单</a>
<a href="javascript:startOrder('timescard')">次卡订单</a>
<a href="javascript:startOrder('gym')">场馆订单</a>
<a href="javascript:startOrder('card')">IC卡订单</a>
<a href="javascript:startOrder('retail')">商品订单</a>
<a href="javascript:startOrder('training')">培训订单</a>
<!--<a href="javascript:fuck2()">狂刷场地占用</a>-->
<label>场馆id:</label><input id="gym_input" value="10146401">
</div>
<div id="gym_operation_area" hidden>
<a href="javascript:cancelGymBookingOperation()">撤销场次</a>
</div>
<div id="card_operation_area" hidden>
<a href="javascript:getCardData()">查询卡</a>
<a href="javascript:registerCard()">注册卡</a>
<a href="javascript:disableCard()">作废卡</a>
<a href="javascript:changeCard()">换卡</a>
<a href="javascript:resetCardPassword()">重设密码</a>
<label>ic卡密码:</label><input id="pw_input" value="">
<label>ic卡卡号 :</label><input id="card_input" value="">
</div>
<div id="member_operation_area" hidden>
<a href="javascript:registerMemberFunc()">注册会员</a>
<a href="javascript:topupMemberFunc()">会员充值</a>
<a href="javascript:memberPrototypeFunc()">查询会员权限</a>
<a href="javascript:bindICCard()">绑定IC卡</a>
<input id="iccard_input" value="卡号">
<input id="iccard_pw_input" value="密码">
</div>
<div id="training_operation_area" hidden>
<a href="javascript:newTrainingClassFunc()">新课购买</a>
<label>卡号:</label><input id="iccard_input_t" value="1507516268167">
<label>密码:</label><input id="iccard_pw_input_t" value="">
<label>出生年份:</label><input id="birthyear_t" value="1991">
</div>
<div id="retail_operation_area" hidden>
<a href="javascript:buyGoodsFunc()">购买商品</a>
<a href="javascript:refundSub()">退部分单</a>
<label>商品id:</label><input id="goods_id_input" value="1382c548add7d5a3c8183ec888151e60">
<label>数量:</label><input id="goods_amount_input" value="1">
<label>价格:</label><input id="goods_price_input" value="2">
<label>门面id:</label><input id="goods_strid_input" value="10146403">
</div>
<div>==============================================================================================================
</div>
<div id="button_area" hidden>
<button id="cashPay">付现金1分</button>
<button id="authcodePay">扫码付1分</button>
<input id="authcode_input">
<button id="wx_native_pay">被扫微信1分</button>
<button id="ali_native_pay">被扫支付宝1分</button>
<button id="free_pay">免费付1分</button>
<button id="member_pay">会员付1分</button>
<label>会员mid:</label>
<input id="member_id" value="247684704754970852">
<button id="cancel_order">取消订单+退款</button>
</div>
<div id="nativeurl"></div>
<div id="extra_console"></div>
<div id="response"></div>
<script>
const mchid = '101464';
// const mchkey = '8cc9-7ad5-7d19-d903';
const _at = '528a1509c9d7f1f552db344ddf7aad99';
const cashAccount = '20170831132651579502856538590610';
const wxAccount = '20170831130923735530430208000141';
const baseUrl = 'http://order.api.bolopie.thinkraz.com/';
// const baseUrl = 'http://127.0.0.1:8081/';
const baseGymUrl = 'http://gym.api.bolopie.thinkraz.com/';
const baseMemberUrl = 'http://member.api.bolopie.thinkraz.com/';
// const baseMemberUrl = 'http://127.0.0.1:8084/';
const baseTimescardUrl = 'http://timescard.api.bolopie.thinkraz.com/';
const baseGoodsUrl = 'http://retail.api.bolopie.thinkraz.com/';
const cardUrl = 'http://card.api.bolopie.thinkraz.com/';
const merchantUrl = 'http://merchant.api.bolopie.thinkraz.com/';
// const trainingUrl = 'http://127.0.0.1:8080/';
const trainingUrl = 'http://training.api.bolopie.thinkraz.com/';
let paymentId = null;
let orderId = null;
let cancelGymBookingOperation = null;
let registerMemberFunc = null;
let topupMemberFunc = null;
let memberPrototypeFunc = null;
let getCardData = null;
let registerCard = null;
let disableCard = null;
let resetCardPassword = null;
let bindICCard = null;
let changeCard = null;
let buyGoodsFunc = null;
let cashPay = $('#cashPay');
let authcodePay = $('#authcodePay');
let wxNativePay = $('#wx_native_pay');
let aliNativePay = $('#ali_native_pay');
let nativeurl = $('#nativeurl');
let cancelOrder = $('#cancel_order');
let authCodeInput = $('#authcode_input');
let freePay = $('#free_pay');
let memberPay = $('#member_pay');
let clickableFunctions = {};
function _useClickable(str) {
console.log(str);
clickableFunctions[str]();
}
function addClickable(str, cb) {
let a = $(`<a>`);
a.append(str);
let unqstr = `a${Math.random()}`;
a.attr('href', `javascript:_useClickable('${unqstr}')`);
clickableFunctions[unqstr] = cb;
$('#response').append(a);
}
function post(url, data, cb, dontadd) {
console.log(url, _at);
$.ajax({
url: dontadd ? url : url + '?_at=' + _at,
type: 'POST',
data: data,
success: function (result) {
cb(result);
},
error: function (err) {
console.log('err', err);
alert('Failed!');
addLog('============' + url + '连接失败!===============');
}
});
}
function get(url, data, cb) {
if (!data) data = {};
data._at = _at;
$.ajax({
url: url,
type: 'GET',
data: data,
success: function (result) {
cb(result);
},
error: function (err) {
console.log('err', err);
// alert('Failed!');
// addLog('============' + url + '连接失败!===============');
cb(err);
}
});
}
cancelOrder.on('click', function () {
$.ajax({
url: baseUrl + `order/cancel?_at=${_at}`,
type: 'POST',
data: {
mchid: mchid,
"orderId": orderId,
},
success: function (result) {
addLog('退款退单返回信息:' + JSON.stringify(result));
},
error: function (err) {
alert('cancelOrder Failed!');
}
});
});
cashPay.on('click', function () {
$.ajax({
url: baseUrl + 'pay/offline',
type: 'POST',
data: {
"receiver": cashAccount,
"amount": 1,
"method": "CASH",
"paymentId": paymentId,
"mchid": mchid
},
success: function (result) {
let data = result.data;
addLog('付现金post返回信息:' + data.status);
},
error: function (err) {
alert('payWithCash Failed!');
}
});
});
freePay.on('click', function () {
$.ajax({
url: baseUrl + 'pay/offline',
type: 'POST',
data: {
"receiver": cashAccount,
"amount": 1,
"method": "DA",
"paymentId": paymentId,
"mchid": mchid
},
success: function (result) {
let data = result.data;
addLog('付免费post返回信息:' + data.status);
},
error: function (err) {
alert('payWithCash Failed!');
}
});
});
memberPay.on('click', function () {
//1 获取会员account Id,
//2 获取商户MC id
let memberId = $('#member_id').val();
let payAmount = 1;
step0();
function step0() {
get(baseMemberUrl + 'member', {mid: memberId, mchid: mchid, account: 'true'}, step1);
}
function step1(member) {
let account = member.data.account;
addLog('会员支付第一步:查询会员,结果为:' + JSON.stringify(member));
addLog('会员余额:' + account.amount);
addLog('会员透支额度:' + account.overdraft);
addLog('============================================');
if (account.amount - payAmount < account.overdraft) {
addLog('失败,会员余额不足');
return;
}
if (member.code == 0) {
step2(member.data.accountId);
}
}
function step2(memberAccountId) {
get(merchantUrl + 'account/find', {
mchid: mchid,
query: JSON.stringify({"where": {"shortCut": "MC"}})
}, function (result) {
addLog('会员支付第二步:查询商户会员帐号,结果为:' + JSON.stringify(result));
addLog('============================================');
if (result.code == 0) {
step3(memberAccountId, result.data[0].accountId);
}
});
}
function step3(memberAccountId, merchantAccountId) {
post(baseUrl + 'pay/transfer', {
amount: payAmount,
paymentId: paymentId,
receiver: merchantAccountId,
payer: memberAccountId
}, function (result) {
addLog('会员支付第三步:具体支付,结果为:' + JSON.stringify(result));
addLog('============================================');
if (result.code == 0) {
addLog('============================================');
}
})
}
});
aliNativePay.on('click', function () {
$.ajax({
url: baseUrl + 'pay/alinative',
type: 'POST',
data: {
"receiver": cashAccount,
"amount": 1,
"paymentId": paymentId,
"mchid": mchid
},
success: function (result) {
let data = result.data;
nativeurl.empty();
nativeurl.qrcode({text: data});
},
error: function (err) {
alert('aliNativePay Failed!');
}
});
});
wxNativePay.on('click', function () {
$.ajax({
url: baseUrl + 'pay/wxnative',
type: 'POST',
data: {
"receiver": cashAccount,
"amount": 1,
"paymentId": paymentId,
"mchid": mchid
},
success: function (result) {
let data = result.data;
nativeurl.empty();
nativeurl.qrcode({text: data});
},
error: function (err) {
alert('wxNativePay Failed!');
}
});
});
authcodePay.on('click', function () {
let input = authCodeInput.val();
if (input.length != 18) {
authCodeInput.val('长度必须为18');
return;
}
$.ajax({
url: baseUrl + 'pay/scan',
type: 'POST',
data: {
"receiver": wxAccount,
"amount": 1,
"authCode": input,
"paymentId": paymentId,
"mchid": mchid
},
success: function (result) {
let data = result.data;
if (data)
addLog('付扫码post返回信息:' + data.status);
else
addLog('付扫码post返回信息:' + JSON.stringify(result));
},
error: function (err) {
alert('authcodePay Failed!');
}
});
});
function addLog(str, skipbr) {
if (skipbr) {
document.getElementById('response').innerHTML += str;
} else {
document.getElementById('response').innerHTML += str + '<br>';
}
}
function memberOrder(cb) {
let topupAmount = 2;
get(baseMemberUrl + 'id', {}, function (result) {
addLog('第一步:获取空闲会员id:' + result.data);
addLog('============================================');
let memberId = result.data;
$('#member_operation_area').show();
registerMemberFunc = function () {
post(baseMemberUrl + 'register', {mid: memberId, mchid: mchid}, function (result) {
addLog('会员已注册:' + JSON.stringify(result));
addLog('============================================');
});
};
bindICCard = function () {
post(baseMemberUrl + 'bindCard', {
mid: memberId,
cardId: $('#iccard_input').val(),
// password:$('#iccard_pw_input').val(), //注释此行以输入密码
mchid: mchid
}, function (result) {
addLog('绑定结果:' + JSON.stringify(result));
if (result.code == 21) {
addLog('post需要加上 confirm : 1');
}
if (result.code == 18) {
addLog('post需要加上 password : 密码');
}
if (result.code == 8) {
addLog('要先注册或者充值一次');
}
addLog('============================================');
})
};
topupMemberFunc = function () {
post(baseMemberUrl + 'makeTopUp', {
mid: memberId,
amount: topupAmount,
mchid: mchid
}, function (result) {
addLog('第二步:充值订单信息:' + JSON.stringify(result));
addLog('============================================');
addLog('第三步:生成订单待支付:');
addLog('============================================');
let orderData = result.data.order;
let params = orderData.params;
params.subOrderId = '1';
cb({
"orders": [
{
"type": "memberTopUp",
"notifyUrl": orderData.notifyUrl,
"amount": topupAmount,
"rollBackUrl": orderData.rollbackUrl,
"extraData": params,
"status": "PENDING",
}
]
})
});
};
memberPrototypeFunc = function () {
get(baseMemberUrl + 'member', {
mid: memberId,
mchid: mchid,
prototype: true,
records: true
}, function (r) {
addLog('结果:' + JSON.stringify(r));
if (r.code)
addLog('============================================');
})
}
});
//
}
let GymId = $('#gym_input').val();
let date = '2017-09-13';
function gymOrder(cb) {
let price = 3;
let timeStamp = new Date(new Date().setHours(0, 0, 0, 0)).getTime(); //开始时间结束时间按秒计算,0~86400
let today = new Date().getTime();
let startTime = parseInt((today - timeStamp) / 1000);
let endTime = startTime + 600;
get(baseGymUrl + GymId, {}, function (result) {
addLog('第一步:获取场馆信息:' + JSON.stringify(result));
addLog('============================================');
//获取第一个场地
let fieldsData = result.data.fields;
let firstField = fieldsData[0];
let secondField = fieldsData[2];
console.log(firstField);
// let validSports1 = firstField.sport;
// let validSports2 = secondField.sport;
get(baseGymUrl + GymId + '/booking', {
fields: firstField.fieldId, //定多场次用;分隔
date: date,
start: startTime,
end: endTime,
sport: 'YUMAOQIU',
price: price,
remark: JSON.stringify({status: 'sell'}),
}, step2);
});
function step2(result) {
addLog('第二步:获取occupyKey:' + JSON.stringify(result));
addLog('============================================');
let occupyKey = result.data.occupyKey;
let cancelUrl = baseGymUrl + GymId + '/cancelBooking/' + occupyKey;
$('#gym_operation_area').show();
cancelGymBookingOperation = function () {
post(cancelUrl, {}, function (result) {
console.log(result);
addLog('场次已撤销,如果订单支付,应该会看到场次撤销信息')
});
};
addLog('第三步:生成订单待支付:');
addLog('============================================');
cb({
"orders": [
{
"type": "sport",
"notifyUrl": baseGymUrl + GymId + '/booking/' + occupyKey,
"amount": price,
"rollBackUrl": cancelUrl,
"extraData": {
"subOrderId": "1",
"occupyKey": occupyKey //供以后在后台查询用
},
"status": "PENDING",
}
]
})
}
}
function simpleOrder(cb) {
cb({
"orders": [
{
"type": "goods",
"notifyUrl": 'http://merchant.api.bolopie.thinkraz.com/validate?mchid=101464&key=8cc9-7ad5-7d19-d903', //此为假接口,必定成功
"amount": 1,
"rollBackUrl": 'http://merchant.api.bolopie.thinkraz.com/validate?mchid=101464&key=8cc9-7ad5-7d19-d903', //此为假接口,必定成功
"extraData": {
"subOrderId": "1"
},
"status": "PENDING",
},
{
"type": "goods",
"notifyUrl": 'http://merchant.api.bolopie.thinkraz.com/validate?mchid=101464&key=8cc9-7ad5-7d19-d903', //此为假接口,必定成功
"amount": 2,
"rollBackUrl": 'http://merchant.api.bolopie.thinkraz.com/validate?mchid=101464&key=8cc9-7ad5-7d19-d903', //此为假接口,必定成功
"extraData": {
"subOrderId": "2"
},
"status": "PENDING",
},
// //此单必定失败,注意,订单成功后有可能返回退款金额
// {
// "type": "goods",
// "notifyUrl": 'dfghfghfdghdfghd', //此为假接口,必定失败
// "amount": 1,
// "rollBackUrl": 'dfghfghfdghdfghd', //此为假接口,必定失败
// "extraData": {
// "subOrderId": "1"
// },
// "status": "PENDING",
// }
]
});
}
function cardOrder(cb) {
$('#card_operation_area').show();
$('#card_input').val(new Date().getTime());
getCardData = function () {
get(cardUrl + 'get', {cardId: $('#card_input').val(), mchid: mchid}, function (result) {
addLog('查询卡,结果为:' + JSON.stringify(result));
addLog('============================================');
})
};
disableCard = function () {
post(cardUrl + 'disable', {cardId: $('#card_input').val(), mchid: mchid}, function (result) {
addLog('废除卡,结果为:' + JSON.stringify(result));
addLog('============================================');
})
};
changeCard = function () {
post(cardUrl + 'change', {
oldCardId: $('#card_input').val(),
mchid: mchid,
newCardId: '123456'
}, function (result) {
addLog('修改卡,结果为:' + JSON.stringify(result));
addLog('============================================');
})
};
resetCardPassword = function () {
post(cardUrl + 'resetPassword', {
cardId: $('#card_input').val(),
mchid: mchid,
oldPassword: $('#pw_input').val(),
newPassword: '1'
}, function (result) {
addLog('修改卡密码为1,结果为:' + JSON.stringify(result));
addLog('============================================');
})
};
registerCard = function () {
addLog('第一步:注册卡,卡号为:' + JSON.stringify($('#card_input').val()));
addLog('第一步:注册卡,密码为:' + JSON.stringify($('#pw_input').val()));
addLog('============================================');
post(cardUrl + 'register',
{
"name": "测试名称",
"phone": "测试电话",
"cardId": $('#card_input').val(),
"password": $('#pw_input').val(),
"mchid": mchid
}, function (result) {
addLog('注册卡成功,返回为:' + JSON.stringify(result));
addLog('============================================');
addLog('第二步,生成订单:');
addLog('============================================');
cb({
"orders": [
{
"type": "card",
"notifyUrl": cardUrl + 'check',
"amount": 1,
"rollBackUrl": cardUrl + 'disable', //此为假接口,必定成功
"extraData": {
"subOrderId": "1",
"name": "测试名称",
"phone": "测试电话",
"cardId": $('#card_input').val(),
"password": $('#pw_input').val(),
"mchid": mchid
},
"status": "PENDING",
},
]
});
}
);
}
}
function trainingOrder(cb) {
// 1 : get lessions:
get(trainingUrl + `/${mchid}/lesson`, {}, function (result) {
addLog('第一步:获取课程:' + JSON.stringify(result.data));
addLog('============================================');
$('#training_operation_area').show();
for (let i = 0; i < result.data.lessons.length; i++) {
let lesson = result.data.lessons[i];
addClickable(`购买新课->`, function () {
let iccardNo = $(`#iccard_input_t`).val();
let iccardpw = $(`#iccard_pw_input_t`).val();
let birthYear = $(`#birthyear_t`).val();
let lesson = result.data.lessons[i];
post(trainingUrl + 'trainee/register', {
lessonId: lesson.id,
birthYear: birthYear,
// price: lesson.totalPrice,
price: 2,
cardNo: iccardNo,
password: iccardpw
}, function (result) {
step2(result);
});
});
addLog(` 课程名称:${lesson.name},新课次数:${lesson.count},单价:${lesson.singlePrice}`);
}
});
function step2(result) {
addLog('第2步:获取学员信息:' + JSON.stringify(result.data));
addLog('============================================');
cb({
"orders": [
{
"type": "newTrainingClass",
"notifyUrl": `${trainingUrl}trainee/internalFetch`,
"amount": result.data.lesson.totalPrice,
"rollBackUrl": `${trainingUrl}trainee/refundLesson/${result.data.id}`,
"extraData": {
subOrderId: '1',
mchid: mchid,
traineeId: result.data.id
},
"status": "PENDING",
}
]
});
}
}
function timescardOrder(cb) {
let topupAmount = 5;
let topupTimes = 2;
get(baseMemberUrl + 'id', {}, function (result) {
addLog('第一步:获取空闲次卡id:' + result.data);
addLog('============== ==============================');
let memberId = result.data;
$('#member_operation_area').show();
registerMemberFunc = function () {
post(baseTimescardUrl + 'register', {tid: memberId, mchid: mchid,prototype:'334088641506665350433'}, function (result) {
addLog('会员已注册:' + JSON.stringify(result));
addLog('============================================');
});
};
bindICCard = function () {
post(baseTimescardUrl + 'bindCard', {
mid: memberId,
cardId: $('#iccard_input').val(),
mchid: mchid
}, function (result) {
addLog('绑定结果:' + JSON.stringify(result));
if (result.code == 21) {
addLog('post需要加上 confirm : 1');
}
if (result.code == 18) {
addLog('post需要加上 password : 密码');
}
if (result.code == 8) {
addLog('要先注册或者充值一次');
}
addLog('============================================');
})
};
topupMemberFunc = function () {
post(baseTimescardUrl + 'makeTopUp', {
tid: memberId,
amount: topupAmount,
times: topupTimes,
mchid: mchid
}, function (result) {
addLog('第二步:充值订单信息:' + JSON.stringify(result));
addLog('============================================');
addLog('第三步:生成订单待支付:');
addLog('============================================');
let orderData = result.data.order;
let params = orderData.params;
params.subOrderId = '1';
cb({
"orders": [
{
"type": "timescardTopUp",
"notifyUrl": orderData.notifyUrl,
"amount": topupAmount,
"rollBackUrl": orderData.rollbackUrl,
"extraData": params,
"status": "PENDING",
}
]
})
});
};
memberPrototypeFunc = function () {
get(baseTimescardUrl + 'prototype',)
}
});
}
function retailOrder(cb) {
let id;
let amount;
let price;
let strid;
let goods;
$('#retail_operation_area').show();
buyGoodsFunc = function () {
id = $('#goods_id_input').val();
amount = $('#goods_amount_input').val();
price = $('#goods_price_input').val();
strid = $('#goods_strid_input').val();
goods = {
[id]: {amount: amount, price: price},
};
post(baseGoodsUrl + 'goods/sell' + `?mchid=${mchid}&strid=${strid}&_at=${_at}`, goods, step1, true)
};
function step1(result) {
addLog('第一步:出售商品(减少库存)' + JSON.stringify(result));
addLog('============================================');
let data = result.data;
for (let key in goods) {
let item = goods[key];
item.token = data.token;
}
goods.subOrderId = '1';
goods.token = data.token;
console.log(goods);
cb({
"orders": [
{
"type": "goods",
"notifyUrl": baseGoodsUrl + 'goods/orderIntegrityCheck',
"amount": amount * price,
"rollBackUrl": baseGoodsUrl + 'goods/return' + `?mchid=${mchid}&strid=${strid}&executor=SDKtester&_at=${_at}`, //此为假接口,必定成功
"extraData": goods,
"status": "PENDING",
},
]
}, step2);
refundSub = function () {
let refundUrl = baseGoodsUrl + 'goods/return' + `?mchid=${mchid}&strid=${strid}&executor=SDKtester&_at=${_at}`;
let token = data.token;
post(refundUrl, {
[id]: {amount: 1, token: token}
}, step2);
}
}
function step2(result) {
addLog('已完成' + JSON.stringify(result));
addLog('============================================');
}
}
function startOrder(type) {
$('#start_area').empty();
switch (type) {
case 'simple':
simpleOrder(makeOrder);
break;
case 'member':
memberOrder(makeOrder);
break;
case 'gym':
gymOrder(makeOrder);
break;
case 'card':
cardOrder(makeOrder);
break;
case 'retail':
retailOrder(makeOrder);
break;
case 'timescard':
timescardOrder(makeOrder);
break;
case 'training':
trainingOrder(makeOrder);
break;
default:
return;
}
function makeOrder(obj, callback) {
$('#button_area').show();
$.ajax({
url: baseUrl + `order/make?mchid=${mchid}&_at=${_at}`,
type: 'POST',
data: obj,
qs: {
_at: _at,
mchid: mchid
},
success: function (result) {
let data = result.data;
let order = data.payment;
let channel = data.channel;
addLog('生成订单成功,服务器返回:' + JSON.stringify(data));
addLog('=============================================================================');
addLog('payment is :' + order.id);
addLog('order is :' + order.orderId);
addLog('channel id is :' + channel.channel);
addLog('channel key is :' + channel.key);
addLog('');
addLog('now listening :' + channel.channel);
paymentId = order.id;
orderId = order.orderId;
if (callback) {
callback(result);
}
trSocket({
appid: 'APPIDOrq8Rf083a9b5a0f877c8WSIyEf',
channel: channel.channel
}, {
message: function (data) {
console.log(data);
addLog('即时接口收到信息: ' + data.message.code + ' ' + data.message.message + ' ' + JSON.stringify(data.message.data));
}
});
},
error: function (err) {
console.log('err', err);
alert('Failed!');
addLog('============连接失败!===============');
addLog('请查看浏览器参数是否为:');
addLog('"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" --disable-web-security --user-data-dir');
}
});
}
}
function fuck() {
let date = '2017-09-02';
get(baseGymUrl + GymId, {}, function (result) {
addLog('第一步:获取场馆信息:' + JSON.stringify(result));
addLog('============================================');
//获取第一个场地
let fieldsData = result.data.fields;
let firstField = fieldsData[0];
let secondField = fieldsData[1];
let counts = 0;
let total = 0;
let errorTotal = 0;
next(1);
function next(i) {
let startTime = i;
let endTime = i + 1;
counts++;
if (counts > 200) {
counts = 0;
total += 200;
document.getElementById('response').innerHTML = "";
addLog('total:' + total);
}
get(baseGymUrl + GymId + '/booking', {
fields: firstField.fieldId + ';' + secondField.fieldId, //定多场次用;分隔
date: date,
start: startTime,
end: endTime,
sport: 'PINGPANGQIU',
price: 1
}, function (result) {
if (!result.data) {
addLog('fuck:' + i + ' failed');
i += 100;
document.getElementById('extra_console').innerHTML += i + ' ' + JSON.stringify(result) + '<br>';
errorTotal++;
if (errorTotal > 50) {
errorTotal = 0;
document.getElementById('extra_console').innerHTML = '';
}
}
else
addLog('fuck:' + i + ' ' + result.data.occupyKey);
next(i + 1);
});
}
});
}
function fuck2() {
for (let i = 0; i < 50; i++) {
get('http://localhost:8083/fuck', {}, function (result) {
addLog('' + JSON.stringify(result));
});
}
}
</script>
</body>
</html>