shawenguan 1 год назад
Родитель
Сommit
1b2109f1a6
1 измененных файлов с 185 добавлено и 15 удалено
  1. 185 15
      Scripts/168/pksPlanHelper.js

+ 185 - 15
Scripts/168/pksPlanHelper.js

@@ -73,15 +73,15 @@ const magicJS = MagicJS(scriptName, "INFO");
 
 let gLotteryCode = 10058;
 let gUserAgent = `Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148`;
-let gHost = `e7i.16890269.com`;
+let gBuyPlanHost = `e7i.16890269.com`;
 
-const gCommonHeaders = {
+const gBuyPlanHeaders = {
 	'Accept': `*/*`,
 	'Accept-Encoding': `gzip, deflate, br`,
 	'Connection': `keep-alive`,
 	'Sec-Fetch-Mode': `cors`,
-	'Referer': `https://${gHost}/v1/html/buy_plan/buy_plan.html`,
-	'Host': gHost,
+	'Referer': `https://${gBuyPlanHost}/v1/html/buy_plan/buy_plan.html`,
+	'Host': gBuyPlanHost,
 	'User-Agent': gUserAgent,
 	'Sec-Fetch-Site': `same-origin`,
 	'Accept-Language': `zh-CN,zh-Hans;q=0.9`,
@@ -115,6 +115,20 @@ const gCaiLeHeaders = {
 };
 
 
+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
+};
+
 const formatNow = () => {
 	return magicJS.formatDate(new Date(), 'yyyy-MM-dd');
 }
@@ -124,9 +138,9 @@ async function Main() {
 	if (magicJS.isRequest) {
 		checkHandleRequest();
 	} else {
-		gHost = magicJS.data.read('168_PksPlanAPIHost', 'e7i.16890269.com');
-		gCommonHeaders.Host = gHost;
-		gCommonHeaders.Referer = `https://${gHost}/v1/html/buy_plan/buy_plan.html`;
+		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();
@@ -286,8 +300,8 @@ async function getHtmlContent(url, headers) {
 }
 
 async function checkLotteryResult() {
-	// let htmlUrl = `https://${gHost}/v1/html/buy_plan/buy_plan.html`;
-	// let htmlContent = await getHtmlContent(htmlUrl, gCommonHeaders);
+	// let htmlUrl = `https://${gBuyPlanHost}/v1/html/buy_plan/buy_plan.html`;
+	// let htmlContent = await getHtmlContent(htmlUrl, gBuyPlanHeaders);
 
 	let nowDate = formatNow();
 	let pksPlanListData = await getPksPlanList(gLotteryCode, nowDate);
@@ -683,7 +697,7 @@ async function checkPlanABuyNotify(pksPlanItemData, pksPlanListData) {
 }
 
 async function getPksPlanList(lotCode, date, rows = 30) {
-	const url = `https://${gHost}/api/LotteryPlan/getPksPlanList.do?lotCode=${lotCode}&rows=${rows}&date=${date}`;
+	const url = `https://${gBuyPlanHost}/api/LotteryPlan/getPksPlanList.do?lotCode=${lotCode}&rows=${rows}&date=${date}`;
 	magicJS.logger.info(url);
 	let cacheData = magicJS.data.read('168_PksPlanListDataCache', null);
 	// magicJS.logger.info(`cacheData=${JSON.stringify(cacheData)}`);
@@ -698,7 +712,7 @@ async function getPksPlanList(lotCode, date, rows = 30) {
 	}
 	const myRequest = {
 		url: url,
-		headers: gCommonHeaders,
+		headers: gBuyPlanHeaders,
 		body: ``
 	};
 	let result = await magicJS.http.get(myRequest).then(response => {
@@ -739,11 +753,11 @@ async function getPksPlanList(lotCode, date, rows = 30) {
 }
 
 async function pingPksPlan(date, rows = 30) {
-	const url = `https://${gHost}/api/?rows=${rows}&date=${date}`;
+	const url = `https://${gBuyPlanHost}/api/?rows=${rows}&date=${date}`;
 	magicJS.logger.info(url);
 	const myRequest = {
 		url: url,
-		headers: gCommonHeaders,
+		headers: gBuyPlanHeaders,
 		body: ``
 	};
 	let result = await magicJS.http.get(myRequest).then(response => {
@@ -759,11 +773,165 @@ async function pingPksPlan(date, rows = 30) {
 }
 
 async function getPksPlanItem(lotCode) {
-	const url = `https://${gHost}/api/LotteryPlan/getPksPlan.do?lotCode=${lotCode}`;
+	const url = `https://${gBuyPlanHost}/api/LotteryPlan/getPksPlan.do?lotCode=${lotCode}`;
 	magicJS.logger.info(url);
 	const myRequest = {
 		url: url,
-		headers: gCommonHeaders,
+		headers: gBuyPlanHeaders,
+		body: ``
+	};
+	let result = await magicJS.http.get(myRequest).then(response => {
+		try {
+			const body = response.body;
+			// magicJS.logger.info(JSON.stringify(body));
+			let rspData;
+			if (typeof body === "string") {
+				return {
+					errorCode: -1,
+					message: '操作失败',
+					result: null,
+				};
+			} else if (typeof body === "object") {
+				rspData = body;
+			}
+			return rspData;
+		} catch (e) {
+			magicJS.logger.error(e);
+		}
+	}).catch(err => {
+		const msg = `请求发生异常\n${JSON.stringify(err)}`;
+		magicJS.logger.error(msg);
+	});
+	if (!result) {
+		return;
+	}
+	if (result.errorCode != 0 || result.result == void 0) {
+		return;
+	}
+	if (result.result.businessCode != 0) {
+		return;
+	}
+	return result.result.data;
+}
+
+
+async function getExpertsRecommendList(lotCode, groupCode=1, ranking=1, field='winningProbability') {
+	const reqData = {
+		lotCode:lotCode,
+		groupCode: groupCode,
+		ranking: ranking,
+		field: field,
+		type: 0,
+		sort: 'desc',
+		s: '168noadv',
+	};
+	const queryStr = magicJS.objToQueryStr(reqData);
+	const url = `https://${gExpertsRecommendHost}/expertsRecommend/list.do?${queryStr}`;
+	magicJS.logger.info(url);
+	const myRequest = {
+		url: url,
+		headers: gExpertsRecommendHeaders,
+		body: ``
+	};
+	let result = await magicJS.http.get(myRequest).then(response => {
+		try {
+			const body = response.body;
+			// magicJS.logger.info(JSON.stringify(body));
+			let rspData;
+			if (typeof body === "string") {
+				return {
+					errorCode: -1,
+					message: '操作失败',
+					result: null,
+				};
+			} else if (typeof body === "object") {
+				rspData = body;
+			}
+			return rspData;
+		} catch (e) {
+			magicJS.logger.error(e);
+		}
+	}).catch(err => {
+		const msg = `请求发生异常\n${JSON.stringify(err)}`;
+		magicJS.logger.error(msg);
+	});
+	if (!result) {
+		return;
+	}
+	if (result.errorCode != 0 || result.result == void 0) {
+		return;
+	}
+	if (result.result.businessCode != 0) {
+		return;
+	}
+	return result.result.data;
+}
+
+async function getExpertsRecommendDetail(userId, lotCode, groupCode=1, ranking=1) {
+	const reqData = {
+		userId: userId,
+		lotCode:lotCode,
+		groupCode: groupCode,
+		ranking: ranking,
+		type: 0,
+		sort: 'desc',
+		s: '168noadv',
+	};
+	const queryStr = magicJS.objToQueryStr(reqData);
+	const url = `https://${gExpertsRecommendHost}/expertsRecommend/detail.do?${queryStr}`;
+	magicJS.logger.info(url);
+	const myRequest = {
+		url: url,
+		headers: gExpertsRecommendHeaders,
+		body: ``
+	};
+	let result = await magicJS.http.get(myRequest).then(response => {
+		try {
+			const body = response.body;
+			// magicJS.logger.info(JSON.stringify(body));
+			let rspData;
+			if (typeof body === "string") {
+				return {
+					errorCode: -1,
+					message: '操作失败',
+					result: null,
+				};
+			} else if (typeof body === "object") {
+				rspData = body;
+			}
+			return rspData;
+		} catch (e) {
+			magicJS.logger.error(e);
+		}
+	}).catch(err => {
+		const msg = `请求发生异常\n${JSON.stringify(err)}`;
+		magicJS.logger.error(msg);
+	});
+	if (!result) {
+		return;
+	}
+	if (result.errorCode != 0 || result.result == void 0) {
+		return;
+	}
+	if (result.result.businessCode != 0) {
+		return;
+	}
+	return result.result.data;
+}
+
+async function getLotteryPksInfo(lotCode) {
+	const reqData = {
+		iOSVersion: '2.1.64',
+		lotCode: lotCode,
+		s: '168noadv',
+		token: `tpM9v7lYiy0ctYv9AOlaztoyUcH9y/YR2Gt2jQT8dBd1edkFSV8Vuu%2BQ00/kNgeeksf`,
+	};
+	const queryStr = magicJS.objToQueryStr(reqData);
+	const url = `https://${gExpertsRecommendHost}/pks/getLotteryPksInfo.do?${queryStr}`;
+	magicJS.logger.info(url);
+	const myRequest = {
+		url: url,
+		headers: gExpertsRecommendHeaders,
 		body: ``
 	};
 	let result = await magicJS.http.get(myRequest).then(response => {
@@ -1032,6 +1200,8 @@ async function recognizeCaptchaByDdddocr(captchaInfo) {
     return null;
 }
 
+
+
 function randomFloat(min, max) {
     return Math.random() * (max - min) + min;
 }