|
|
@@ -6,6 +6,9 @@
|
|
|
|
|
|
^https?:\/\/.*168.*\.com\/api\/LotteryPlan\/getPksPlanList.do url script-request-body https://git.jojo21.top/shawenguan/Quantumult-X/raw/master/Scripts/168/pksPlanHelper.js
|
|
|
^https?:\/\/.*168.*\.com\/api\/LotteryPlan\/getPksPlanList.do url script-response-body https://git.jojo21.top/shawenguan/Quantumult-X/raw/master/Scripts/168/pksPlanHelper.js
|
|
|
+^https?:\/\/.*168.*\.com\/pks\/getLotteryPksInfo.do url script-request-body https://git.jojo21.top/shawenguan/Quantumult-X/raw/master/Scripts/168/pksPlanHelper.js
|
|
|
+^https?:\/\/.*168.*\.com\/pks\/getLotteryPksInfo.do url script-response-body https://git.jojo21.top/shawenguan/Quantumult-X/raw/master/Scripts/168/pksPlanHelper.js
|
|
|
+
|
|
|
|
|
|
[MITM]
|
|
|
hostname = *.168.*.com
|
|
|
@@ -119,31 +122,45 @@ let gExpertsRecommendToken = `jGu36jgpJJYPh6AsOGQydYj8GEKxUnvw`;
|
|
|
let gExpertsRecommendHost = `n3iiz7z5p.168fxo67.com`;
|
|
|
|
|
|
const gExpertsRecommendHeaders = {
|
|
|
- 'Cookie' : `__nxquid=xFcoBcm0I0z0zfRnkzrBrh0Z+z0ppg==0022`,
|
|
|
- 'Accept' : `*/*`,
|
|
|
- 'Connection' : `keep-alive`,
|
|
|
- 'Accept-Encoding' : `gzip, deflate, br`,
|
|
|
- 'Host' : gExpertsRecommendHost,
|
|
|
- 'User-Agent' : `CaiPiao/2.1.64 (iPhone; iOS 16.6.1; Scale/3.00)`,
|
|
|
- 'Accept-Language' : `zh-Hans-CN;q=1`,
|
|
|
- 'token' : gExpertsRecommendToken
|
|
|
+ 'Cookie': `__nxquid=xFcoBcm0I0z0zfRnkzrBrh0Z+z0ppg==0022`,
|
|
|
+ 'Accept': `*/*`,
|
|
|
+ 'Connection': `keep-alive`,
|
|
|
+ 'Accept-Encoding': `gzip, deflate, br`,
|
|
|
+ 'Host': gExpertsRecommendHost,
|
|
|
+ 'User-Agent': `CaiPiao/2.1.64 (iPhone; iOS 16.6.1; Scale/3.00)`,
|
|
|
+ 'Accept-Language': `zh-Hans-CN;q=1`,
|
|
|
+ 'token': gExpertsRecommendToken
|
|
|
};
|
|
|
|
|
|
const formatNow = () => {
|
|
|
return magicJS.formatDate(new Date(), 'yyyy-MM-dd');
|
|
|
}
|
|
|
|
|
|
+let gTmpPlanBetOnceFlag = {};
|
|
|
+
|
|
|
let gRetBody;
|
|
|
async function Main() {
|
|
|
if (magicJS.isRequest) {
|
|
|
checkHandleRequest();
|
|
|
} else {
|
|
|
+ gLotteryCode = magicJS.data.read('168_PksPlanLotteryCode', 10058);
|
|
|
+
|
|
|
gBuyPlanHost = magicJS.data.read('168_PksPlanAPIHost', 'e7i.16890269.com');
|
|
|
gBuyPlanHeaders.Host = gBuyPlanHost;
|
|
|
gBuyPlanHeaders.Referer = `https://${gBuyPlanHost}/v1/html/buy_plan/buy_plan.html`;
|
|
|
|
|
|
- gLotteryCode = magicJS.data.read('168_PksPlanLotteryCode', 10058);
|
|
|
- let result = await checkLotteryResult();
|
|
|
+ gExpertsRecommendHost = magicJS.data.read('168_PksExpertsPlanAPIHost', 'n3iiz7z5p.168fxo67.com');
|
|
|
+ gExpertsRecommendToken = magicJS.data.read('168_PksExpertsPlanToken', 'jGu36jgpJJYPh6AsOGQydYj8GEKxUnvw');
|
|
|
+ gExpertsRecommendHeaders.Host = gExpertsRecommendHost;
|
|
|
+ gExpertsRecommendHeaders.token = gExpertsRecommendToken;
|
|
|
+
|
|
|
+ if (isPlanBuyTime()) {
|
|
|
+ let comPlanResult = await checkLotteryPlanBuy();
|
|
|
+ }
|
|
|
+ if (isExpertsRecommendEnabled()) {
|
|
|
+ // await magicJS.utils.sleep(100);
|
|
|
+ let expertsResult = await checkExpertsRecommend();
|
|
|
+ }
|
|
|
}
|
|
|
magicJS.notification.msg('');
|
|
|
if (gRetBody) {
|
|
|
@@ -169,7 +186,9 @@ function checkHandleRequest() {
|
|
|
break;
|
|
|
default:
|
|
|
if (path.indexOf('/api/LotteryPlan/getPksPlanList.do') > -1) {
|
|
|
- handlePksPlanList();
|
|
|
+ handleLotteryPksPlanList();
|
|
|
+ } else if (path.indexOf('/pks/getLotteryPksInfo.do') > -1) {
|
|
|
+ handleLotteryPksInfo();
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
@@ -188,13 +207,27 @@ function getResponsePlainData() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function handlePksPlanList() {
|
|
|
+function handleLotteryPksInfo() {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+function handleLotteryPksPlanList() {
|
|
|
|
|
|
}
|
|
|
|
|
|
function handleHeaders() {
|
|
|
+ magicJS.logger.info(`处理请求头参数...`);
|
|
|
+ const path = $request.path;
|
|
|
let headers = $request.headers;
|
|
|
- magicJS.data.write('168_PksPlanAPIHost', headers['Host']);
|
|
|
+ if (path.indexOf('/api/LotteryPlan/getPksPlanList.do') > -1) {
|
|
|
+ magicJS.data.write('168_PksPlanAPIHost', headers['Host']);
|
|
|
+ magicJS.logger.info(`168_PksPlanAPIHost已刷新`);
|
|
|
+ } else if (path.indexOf('/pks/getLotteryPksInfo.do') > -1) {
|
|
|
+ magicJS.data.write('168_PksExpertsPlanAPIHost', headers['Host']);
|
|
|
+ magicJS.data.write('168_PksExpertsPlanToken', headers['token']);
|
|
|
+ magicJS.logger.info(`168_PksExpertsPlanAPIHost已刷新`);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
function isPlanAEnabled() {
|
|
|
@@ -221,6 +254,36 @@ function isPlanCEnabled() {
|
|
|
return JSON.parse(flag);
|
|
|
}
|
|
|
|
|
|
+function isPlanBuyTime() {
|
|
|
+ const timeRanges = [
|
|
|
+ { start: '10:55', end: '15:00' },
|
|
|
+ { start: '17:55', end: '23:50' },
|
|
|
+ { start: '01:00', end: '03:30' }
|
|
|
+ ];
|
|
|
+ for (const range of timeRanges) {
|
|
|
+ if (isInTimeRange(range.start, range.end)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+}
|
|
|
+
|
|
|
+function isInTimeRange(start, end) {
|
|
|
+ const now = new Date();
|
|
|
+ const startTime = new Date(now.toDateString() + ' ' + start);
|
|
|
+ const endTime = new Date(now.toDateString() + ' ' + end);
|
|
|
+ return now >= startTime && now <= endTime;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+function isExpertsRecommendEnabled() {
|
|
|
+ let flag = magicJS.data.read('168_PksExpertsRecommendEnabled', null);
|
|
|
+ if (flag == null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return JSON.parse(flag);
|
|
|
+}
|
|
|
+
|
|
|
function isPlanLotteryAutoBet() {
|
|
|
let flag = magicJS.data.read('168_PksPlanLotteryAutoBet', null);
|
|
|
if (flag == null) {
|
|
|
@@ -229,6 +292,20 @@ function isPlanLotteryAutoBet() {
|
|
|
return JSON.parse(flag);
|
|
|
}
|
|
|
|
|
|
+function setPlanBetOnce(planStr) {
|
|
|
+ gTmpPlanBetOnceFlag[planStr] = true;
|
|
|
+}
|
|
|
+
|
|
|
+function hasPlanBetOnce(planStr) {
|
|
|
+ let planArr = planStr.split(',');
|
|
|
+ for (let planKey of planArr) {
|
|
|
+ if (gTmpPlanBetOnceFlag[planStr] == true) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+}
|
|
|
+
|
|
|
function isPlanLotteryAutoKillDrongon() {
|
|
|
let flag = magicJS.data.read('168_PksPlanLotteryKillDrongon', null);
|
|
|
if (flag == null) {
|
|
|
@@ -307,7 +384,7 @@ async function getHtmlContent(url, headers) {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
-async function checkLotteryResult() {
|
|
|
+async function checkLotteryPlanBuy() {
|
|
|
// let htmlUrl = `https://${gBuyPlanHost}/v1/html/buy_plan/buy_plan.html`;
|
|
|
// let htmlContent = await getHtmlContent(htmlUrl, gBuyPlanHeaders);
|
|
|
|
|
|
@@ -330,7 +407,7 @@ async function checkLotteryResult() {
|
|
|
return;
|
|
|
}
|
|
|
let tmpDrawIssue = magicJS.data.read('168_PksPlanPreDrawIssue', '');
|
|
|
- // 期数
|
|
|
+ // 期号
|
|
|
let preDrawIssue = String(pksPlanItemData.preDrawIssue);
|
|
|
if (tmpDrawIssue == preDrawIssue) {
|
|
|
return;
|
|
|
@@ -424,7 +501,7 @@ async function checkEvilDragonCSlayingNotify(failItem, pksPlanListData) {
|
|
|
let turnOneCost = Math.pow(2, turnCount - 1);
|
|
|
let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
if (turnCount <= maxTurnCount) {
|
|
|
- let betRet = await tryDragonBet(latestItem.preDrawIssue, failItem.planC, turnOneCost, maxBetAmount);
|
|
|
+ let betRet = await tryDragonBetPoor(latestItem.preDrawIssue, 1, failItem.planC, turnOneCost, maxBetAmount);
|
|
|
}
|
|
|
}
|
|
|
magicJS.notification.appendNotifyInfo(tipsMsg);
|
|
|
@@ -452,7 +529,7 @@ async function checkEvilDragonBSlayingNotify(failItem, pksPlanListData) {
|
|
|
let turnOneCost = Math.pow(2, turnCount - 1);
|
|
|
let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
if (turnCount <= maxTurnCount) {
|
|
|
- let betRet = await tryDragonBet(latestItem.preDrawIssue, failItem.planB, turnOneCost, maxBetAmount);
|
|
|
+ let betRet = await tryDragonBetPoor(latestItem.preDrawIssue, 1, failItem.planB, turnOneCost, maxBetAmount);
|
|
|
}
|
|
|
}
|
|
|
magicJS.notification.appendNotifyInfo(tipsMsg);
|
|
|
@@ -480,7 +557,7 @@ async function checkEvilDragonASlayingNotify(failItem, pksPlanListData) {
|
|
|
let turnOneCost = Math.pow(2, turnCount - 1);
|
|
|
let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
if (turnCount <= maxTurnCount) {
|
|
|
- let betRet = await tryDragonBet(latestItem.preDrawIssue, failItem.planA, turnOneCost, maxBetAmount);
|
|
|
+ let betRet = await tryDragonBetPoor(latestItem.preDrawIssue, 1, failItem.planA, turnOneCost, maxBetAmount);
|
|
|
}
|
|
|
}
|
|
|
magicJS.notification.appendNotifyInfo(tipsMsg);
|
|
|
@@ -633,9 +710,10 @@ async function checkPlanCBuyNotify(pksPlanItemData, pksPlanListData) {
|
|
|
let proAllowValue = getAllowBetProbability('C');
|
|
|
if (probability >= proAllowValue) {
|
|
|
let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
- let betRet = await tryDragonBet(preDrawIssue, planC, turnOneCost, maxBetAmount);
|
|
|
+ let betRet = await tryDragonBetPoor(preDrawIssue, 1, planC, turnOneCost, maxBetAmount);
|
|
|
tipsMsg += `\n预估中奖率:${probability.toFixed(2)}`;
|
|
|
tipsMsg += analyseLogMsg;
|
|
|
+ setPlanBetOnce('C');
|
|
|
} else {
|
|
|
tipsMsg = '⚠️' + tipsMsg;
|
|
|
tipsMsg += `\n预估中奖率:${probability.toFixed(2)},小于预设值${proAllowValue},请自主下单`;
|
|
|
@@ -688,14 +766,15 @@ async function checkPlanBBuyNotify(pksPlanItemData, pksPlanListData) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (isPlanLotteryAutoBet()) {
|
|
|
+ if (!hasPlanBetOnce('C') && isPlanLotteryAutoBet()) {
|
|
|
let [probability, analyseLogMsg] = await analyseBetProbability('B', pksPlanItemData, pksPlanListData);
|
|
|
let proAllowValue = getAllowBetProbability('B');
|
|
|
if (probability >= proAllowValue) {
|
|
|
let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
- let betRet = await tryDragonBet(preDrawIssue, planB, turnOneCost, maxBetAmount);
|
|
|
+ let betRet = await tryDragonBetPoor(preDrawIssue, 1, planB, turnOneCost, maxBetAmount);
|
|
|
tipsMsg += analyseLogMsg;
|
|
|
tipsMsg += `\n预估中奖率:${probability.toFixed(2)}`;
|
|
|
+ setPlanBetOnce('B');
|
|
|
} else {
|
|
|
tipsMsg = '⚠️' + tipsMsg;
|
|
|
tipsMsg += `\n预估中奖率:${probability.toFixed(2)},小于预设值${proAllowValue},请自主下单`;
|
|
|
@@ -748,14 +827,15 @@ async function checkPlanABuyNotify(pksPlanItemData, pksPlanListData) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (isPlanLotteryAutoBet()) {
|
|
|
+ if (!hasPlanBetOnce('B,C') && isPlanLotteryAutoBet()) {
|
|
|
let [probability, analyseLogMsg] = await analyseBetProbability('A', pksPlanItemData, pksPlanListData);
|
|
|
let proAllowValue = getAllowBetProbability('A');
|
|
|
if (probability >= proAllowValue) {
|
|
|
let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
- let betRet = await tryDragonBet(preDrawIssue, planA, turnOneCost, maxBetAmount);
|
|
|
+ let betRet = await tryDragonBetPoor(preDrawIssue, 1, planA, turnOneCost, maxBetAmount);
|
|
|
tipsMsg += analyseLogMsg;
|
|
|
tipsMsg += `\n预估中奖率:${probability.toFixed(2)}`;
|
|
|
+ setPlanBetOnce('A');
|
|
|
} else {
|
|
|
tipsMsg = '⚠️' + tipsMsg;
|
|
|
tipsMsg += `\n预估中奖率:${probability.toFixed(2)},小于预设值${proAllowValue},请自主下单`;
|
|
|
@@ -885,10 +965,97 @@ async function getPksPlanItem(lotCode) {
|
|
|
return result.result.data;
|
|
|
}
|
|
|
|
|
|
+async function checkExpertsRecommend() {
|
|
|
+ let userName = magicJS.data.read('168_PksExpertUserName', null);
|
|
|
+ if (!userName || userName.length == 0) {
|
|
|
+ magicJS.logger.info(`请选择你信任的专家`);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ userName = userName.trim();
|
|
|
+ let groupCode = 1;
|
|
|
+ let ranking = magicJS.data.read('168_PksExpertRecommendRanking', 1);
|
|
|
+ let recommendList = await getExpertsRecommendList(gLotteryCode, groupCode, ranking);
|
|
|
+ let expectList = [];
|
|
|
+ let expectItem = null;
|
|
|
+ for (let i = 0; i < recommendList.length; i++) {
|
|
|
+ const item = recommendList[i];
|
|
|
+ const recommendCount = item.recommendCount;
|
|
|
+ if (recommendCount <= 5) {
|
|
|
+ expectList.push(item);
|
|
|
+ if (item.userName.indexOf(userName) > -1) {
|
|
|
+ expectItem = item;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!expectItem) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let prValue = parseInt(expectItem.winningProbability);
|
|
|
+ if (prValue < 80) {
|
|
|
+ let indexKey = 'winningProbability';
|
|
|
+ expectList.sort((a, b) => {
|
|
|
+ if (a[indexKey] == b[indexKey]) {
|
|
|
+ return 0;
|
|
|
+ } else if (a[indexKey] < b[indexKey]) {
|
|
|
+ return 1;
|
|
|
+ } else {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ expectItem = expectList[0];
|
|
|
+ if (!expectItem) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ prValue = parseInt(expectItem.winningProbability);
|
|
|
+ if (prValue < 80) {
|
|
|
+ magicJS.data.read('168_PksExpertUserName', null);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ magicJS.data.write('168_PksExpertUserName', expectItem.userName);
|
|
|
+ let planDetail = await getExpertsRecommendDetail(expectItem.userId, gLotteryCode, groupCode, ranking);
|
|
|
+ if (!planDetail) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ updateRequestHeaders();
|
|
|
+ let latestItem = planDetail.head;
|
|
|
+ let tmpDrawIssue = magicJS.data.read('168_PksExpertsPreDrawIssue', '');
|
|
|
+ // 期号
|
|
|
+ let preDrawIssue = String(latestItem.preDrawIssue);
|
|
|
+ if (tmpDrawIssue == preDrawIssue) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ magicJS.data.write('168_PksExpertsPreDrawIssue', preDrawIssue);
|
|
|
+
|
|
|
+ let turnOneCost = Math.pow(2, latestItem.rank - 1);
|
|
|
+ let recommendCode = latestItem.recommendCode;
|
|
|
+ let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
|
|
|
-async function getExpertsRecommendList(lotCode, groupCode=1, ranking=1, field='winningProbability') {
|
|
|
+ let tipsMsg = `专家[${latestItem.userName}]推荐${latestItem.recommendTypeDesc}:${recommendCode} 准确率:${latestItem.winningProbability} 期数:${latestItem.rank} 期号:${preDrawIssue}`;
|
|
|
+ magicJS.logger.info(tipsMsg);
|
|
|
+
|
|
|
+ if (isPlanLotteryAutoBet()) {
|
|
|
+ let betRet = await tryDragonBetCommon(preDrawIssue, ranking, recommendCode, turnOneCost, maxBetAmount);
|
|
|
+ }
|
|
|
+ magicJS.notification.appendNotifyInfo(tipsMsg);
|
|
|
+}
|
|
|
+
|
|
|
+async function getExpertsRecommendList(lotCode, groupCode = 1, ranking = 1, field = 'winningProbability') {
|
|
|
+ /**
|
|
|
+ * type
|
|
|
+ * 0=定码
|
|
|
+ * 1=杀码
|
|
|
+ * 2=大小
|
|
|
+ * 3=单收
|
|
|
+ * 4=龙虎
|
|
|
+ */
|
|
|
+ /**
|
|
|
+ * field
|
|
|
+ * winningProbability=准确率
|
|
|
+ * continuousWin=当前连中
|
|
|
+ */
|
|
|
const reqData = {
|
|
|
- lotCode:lotCode,
|
|
|
+ lotCode: lotCode,
|
|
|
groupCode: groupCode,
|
|
|
ranking: ranking,
|
|
|
field: field,
|
|
|
@@ -938,10 +1105,10 @@ async function getExpertsRecommendList(lotCode, groupCode=1, ranking=1, field='w
|
|
|
return result.result.data;
|
|
|
}
|
|
|
|
|
|
-async function getExpertsRecommendDetail(userId, lotCode, groupCode=1, ranking=1) {
|
|
|
+async function getExpertsRecommendDetail(userId, lotCode, groupCode = 1, ranking = 1) {
|
|
|
const reqData = {
|
|
|
userId: userId,
|
|
|
- lotCode:lotCode,
|
|
|
+ lotCode: lotCode,
|
|
|
groupCode: groupCode,
|
|
|
ranking: ranking,
|
|
|
type: 0,
|
|
|
@@ -990,12 +1157,12 @@ async function getExpertsRecommendDetail(userId, lotCode, groupCode=1, ranking=1
|
|
|
return result.result.data;
|
|
|
}
|
|
|
|
|
|
-async function getLotteryPksInfo(lotCode) {
|
|
|
+async function getLotteryPksInfo(lotCode, token = `tpM9v7lYiy0ctYv9AOlaztoyUcH9y/YR2Gt2jQT8dBd1edkFSV8Vuu%2BQ00/kNgeeksf`) {
|
|
|
const reqData = {
|
|
|
iOSVersion: '2.1.64',
|
|
|
lotCode: lotCode,
|
|
|
+ token: token,
|
|
|
s: '168noadv',
|
|
|
- token: `tpM9v7lYiy0ctYv9AOlaztoyUcH9y/YR2Gt2jQT8dBd1edkFSV8Vuu%2BQ00/kNgeeksf`,
|
|
|
};
|
|
|
const queryStr = magicJS.objToQueryStr(reqData);
|
|
|
const url = `https://${gExpertsRecommendHost}/pks/getLotteryPksInfo.do?${queryStr}`;
|
|
|
@@ -1063,7 +1230,7 @@ async function getPksKillNumListFirst(lotCode, date, rows = 30) {
|
|
|
}
|
|
|
|
|
|
async function getPksKillNumAllList(lotCode, date, rows = 30) {
|
|
|
- const url = `https://${gHost}/api/KillNum/getPksKillNumList.do?lotCode=${lotCode}&rows=${rows}&date=${date}`;
|
|
|
+ const url = `https://${gBuyPlanHost}/api/KillNum/getPksKillNumList.do?lotCode=${lotCode}&rows=${rows}&date=${date}`;
|
|
|
magicJS.logger.info(url);
|
|
|
let cacheData = magicJS.data.read('168_PksKillNumListCache', null);
|
|
|
// magicJS.logger.info(`cacheData=${JSON.stringify(cacheData)}`);
|
|
|
@@ -1078,7 +1245,7 @@ async function getPksKillNumAllList(lotCode, date, rows = 30) {
|
|
|
}
|
|
|
const myRequest = {
|
|
|
url: url,
|
|
|
- headers: gCommonHeaders,
|
|
|
+ headers: gBuyPlanHeaders,
|
|
|
body: ``
|
|
|
};
|
|
|
let result = await magicJS.http.get(myRequest).then(response => {
|
|
|
@@ -1125,7 +1292,7 @@ function updateRequestHeaders() {
|
|
|
}
|
|
|
|
|
|
|
|
|
-async function tryDragonBet(drawIssue, planStr, betAmount, maxBetAmount = 96) {
|
|
|
+async function tryDragonBetPoor(drawIssue, ranking, planStr, betAmount, maxBetAmount = 96) {
|
|
|
let numArr = planStr.split(',');
|
|
|
let numCount = numArr.length;
|
|
|
if (numCount >= 5) {
|
|
|
@@ -1140,13 +1307,46 @@ async function tryDragonBet(drawIssue, planStr, betAmount, maxBetAmount = 96) {
|
|
|
} else if (betAmount > maxBetAmount) {
|
|
|
betAmount = maxBetAmount;
|
|
|
}
|
|
|
- let result = await doDragonBet(drawIssue, planStr, betAmount);
|
|
|
+ let result = await doDragonBet(drawIssue, ranking, planStr, betAmount);
|
|
|
+ if (!result) {
|
|
|
+ let loginRet = await tryReLogin();
|
|
|
+ if (!loginRet) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ result = await doDragonBet(drawIssue, ranking, planStr, betAmount);
|
|
|
+ }
|
|
|
+ if (result && result.statusCode == 200) {
|
|
|
+ if (checkBetResult(result)) {
|
|
|
+ magicJS.notification.post(magicJS.scriptName, `🎉下注成功 号码:${planStr} 单注:${betAmount}`);
|
|
|
+ } else {
|
|
|
+ magicJS.notification.post(magicJS.scriptName, `⚠️下注失败 号码:${planStr} 单注:${betAmount}`);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+async function tryDragonBetCommon(drawIssue, ranking, planStr, betAmount, maxBetAmount = 96) {
|
|
|
+ let numArr = planStr.split(',');
|
|
|
+ let numCount = numArr.length;
|
|
|
+ if (numCount >= 5) {
|
|
|
+ betAmount = Math.floor(betAmount);
|
|
|
+ } else if (numCount >= 4) {
|
|
|
+ betAmount = Math.floor(betAmount);
|
|
|
+ } else {
|
|
|
+ betAmount = Math.floor(betAmount);
|
|
|
+ }
|
|
|
+ if (betAmount < 1) {
|
|
|
+ betAmount = 1;
|
|
|
+ } else if (betAmount > maxBetAmount) {
|
|
|
+ betAmount = maxBetAmount;
|
|
|
+ }
|
|
|
+ let result = await doDragonBet(drawIssue, ranking, planStr, betAmount);
|
|
|
if (!result) {
|
|
|
let loginRet = await tryReLogin();
|
|
|
if (!loginRet) {
|
|
|
return;
|
|
|
}
|
|
|
- result = await doDragonBet(drawIssue, planStr, betAmount);
|
|
|
+ result = await doDragonBet(drawIssue, ranking, planStr, betAmount);
|
|
|
}
|
|
|
if (result && result.statusCode == 200) {
|
|
|
if (checkBetResult(result)) {
|
|
|
@@ -1175,7 +1375,20 @@ function checkBetResult(data) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-async function doDragonBet(drawIssue, planStr, betAmount) {
|
|
|
+async function doDragonBet(drawIssue, ranking, planStr, betAmount) {
|
|
|
+ let rowTextArr = [
|
|
|
+ '',
|
|
|
+ '冠军',
|
|
|
+ '亚军',
|
|
|
+ '第三名',
|
|
|
+ '第四名',
|
|
|
+ '第五名',
|
|
|
+ '第六名',
|
|
|
+ '第七名',
|
|
|
+ '第八名',
|
|
|
+ '第九名',
|
|
|
+ '第十名',
|
|
|
+ ];
|
|
|
let lotteryType = 'SGFT';
|
|
|
let numArr = planStr.split(',');
|
|
|
let bets = [];
|
|
|
@@ -1186,12 +1399,12 @@ async function doDragonBet(drawIssue, planStr, betAmount) {
|
|
|
contentText: numStr,
|
|
|
contents: numStr,
|
|
|
drawNumber: String(drawIssue),
|
|
|
- game: "B1",
|
|
|
+ game: `B${ranking}`,
|
|
|
groupText: "1 ~ 10名",
|
|
|
ignore: "false",
|
|
|
lottery: lotteryType,
|
|
|
odds: 9.91,
|
|
|
- rowText: "冠军"
|
|
|
+ rowText: rowTextArr[ranking],
|
|
|
};
|
|
|
bets.push(element);
|
|
|
}
|