shawenguan 1 жил өмнө
parent
commit
eaae6b66f6

+ 15 - 0
BoxJsSub/hbcpre.json

@@ -24,6 +24,14 @@
                 {
                     "name": "首发抢购",
                     "script": "https://git.jojo21.top/shawenguan/Quantumult-X/raw/master/Scripts/hbcpre/hbcpreGrab.js"
+                },
+                {
+                    "name": "合成活动",
+                    "script": "https://git.jojo21.top/shawenguan/Quantumult-X/raw/master/Scripts/hbcpre/hbcpreComposite.js"
+                },
+                {
+                    "name": "上新兑换",
+                    "script": "https://git.jojo21.top/shawenguan/Quantumult-X/raw/master/Scripts/hbcpre/hbcpreExchange.js"
                 }
             ],
             "keys": [
@@ -154,6 +162,13 @@
                     "desc": "默认开启"
                 },
                 {
+                    "id": "marketOrderAutoPayPriceLimit",
+                    "name": "低于价格钱包余额自动支付",
+                    "val": 100,
+                    "type": "number",
+                    "desc": "低于价格钱包余额自动支付"
+                },
+                {
                     "id": "HbcpreCastingId",
                     "name": "当前下单监控Id",
                     "val": "",

+ 44 - 20
Scripts/hbcpre/hbcpreOrder.js

@@ -29,6 +29,7 @@ const HbcpreConstKey = {
     marketSeriesName: 'HbcpreCollectionName',
     marketOrderLimitPrice: 'HbcpreOrderLimitPrice',
     marketOrderPriceInterval: 'HbcpreFloatPriceIntaval',
+    marketOrderAutoPayPriceLimit: 'HbcpreMarketOrderAutoPayPriceLimit',
 };
 
 const gUserAgent = `Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1`;
@@ -157,6 +158,16 @@ async function tryQuickOrder() {
     }
 }
 
+function checkAllowAutoPay(seriesInfo, willPrice){
+    let limitPrice = magicJS.data.read(HbcpreConstKey.marketOrderAutoPayPriceLimit, 0);
+    if(willPrice <= limitPrice){
+        magicJS.logger.info(`符合自动支付设置限制 ${willPrice}<=${limitPrice}`);
+        return true;
+    }
+    magicJS.logger.info(`不符合自动支付设置限制 ${willPrice}>${limitPrice}`);
+    return false
+}
+
 async function doQuickOrder(iData, willPrice, priceFloatInterval){
     magicJS.logger.info(`开始进行【${iData.seriesName}#${iData.amount}】快捷下单,期望价格:${willPrice}`);
     let buyRet = await quickOrder(iData.seriesId, willPrice, iData.seriesType);
@@ -171,16 +182,20 @@ async function doQuickOrder(iData, willPrice, priceFloatInterval){
                     payRet = await doOrderPay(walletPayInfo.payType,buyRet.data.orderId);
                 }
                 if (payRet) {
-                    let paymentInfo = encodeURI(payRet.paymentInfo);
-                    let browserRet = await openUrlByRemoteBrowser(paymentInfo);
-                    // let queryData = magicJS.parseQueryStr(paymentInfo);
-                    // let cashierInit1 = await yeepayWapRequest(queryData.token, queryData.merchantNo, 'BDbiAXHCpS5A*VlA7eDbTg%3D%3D');
-                        // let cashierInit2 = await yeepayNewWap(queryData.token);
-                    if(browserRet && browserRet.code == 200){
-                        let queryData = magicJS.parseQueryStr(browserRet.data.url);
-                        let paySuccFlag = await doYeepay(queryData.token, parseFloat(iData.pay_price) + priceFloatInterval);
-                        if (paySuccFlag) {
-                            magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】快捷下单成功,并支付成功!`);
+                    if(checkAllowAutoPay(iData, willPrice)){
+                        let paymentInfo = encodeURI(payRet.paymentInfo);
+                        let browserRet = await openUrlByRemoteBrowser(paymentInfo);
+                        // let queryData = magicJS.parseQueryStr(paymentInfo);
+                        // let cashierInit1 = await yeepayWapRequest(queryData.token, queryData.merchantNo, 'BDbiAXHCpS5A*VlA7eDbTg%3D%3D');
+                            // let cashierInit2 = await yeepayNewWap(queryData.token);
+                        if(browserRet && browserRet.code == 200){
+                            let queryData = magicJS.parseQueryStr(browserRet.data.url);
+                            let paySuccFlag = await doYeepay(queryData.token, parseFloat(iData.pay_price) + priceFloatInterval);
+                            if (paySuccFlag) {
+                                magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】快捷下单成功,并支付成功!`);
+                            } else {
+                                magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】快捷下单成功,需前往支付!`, paymentInfo);
+                            }
                         } else {
                             magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】快捷下单成功,需前往支付!`, paymentInfo);
                         }
@@ -262,19 +277,28 @@ async function doNormalOrder(iData, willPrice, priceFloatInterval){
                         payRet = await doOrderPay(walletPayInfo.payType,buyRet.data.orderId);
                     }
                     if (payRet) {
-                        let paymentInfo = encodeURI(payRet.paymentInfo);
-                        let bOpenRet = await openUrlByRemoteBrowser(paymentInfo);
-                        let queryData = magicJS.parseQueryStr(paymentInfo);
-                        let cashierInit1 = await yeepayWapRequest(queryData.token, queryData.merchantNo, 'BDbiAXHCpS5A*VlA7eDbTg%3D%3D');
-                        let cashierInit2 = await yeepayNewWap(queryData.token);
-                        let paySuccFlag = await doYeepay(queryData.token, parseFloat(iData.pay_price) + priceFloatInterval);
-                        if (paySuccFlag) {
-                            magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】快捷下单成功,并支付成功!`);
+                        if(checkAllowAutoPay(iData, willPrice)){
+                            let paymentInfo = encodeURI(payRet.paymentInfo);
+                            let browserRet = await openUrlByRemoteBrowser(paymentInfo);
+                            // let queryData = magicJS.parseQueryStr(paymentInfo);
+                            // let cashierInit1 = await yeepayWapRequest(queryData.token, queryData.merchantNo, 'BDbiAXHCpS5A*VlA7eDbTg%3D%3D');
+                                // let cashierInit2 = await yeepayNewWap(queryData.token);
+                            if(browserRet && browserRet.code == 200){
+                                let queryData = magicJS.parseQueryStr(browserRet.data.url);
+                                let paySuccFlag = await doYeepay(queryData.token, parseFloat(iData.pay_price) + priceFloatInterval);
+                                if (paySuccFlag) {
+                                    magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】普通下单成功,并支付成功!`);
+                                } else {
+                                    magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】普通下单成功,需前往支付!`, paymentInfo);
+                                }
+                            } else {
+                                magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】普通下单成功,需前往支付!`, paymentInfo);
+                            }
                         } else {
-                            magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】快捷下单成功,需前往支付!`, paymentInfo);
+                            magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】普通下单成功,需前往支付!`, paymentInfo);
                         }
                     } else {
-                        magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】快捷下单成功,需前往支付!`, 'https://luanshu.hbcpre.com/order/ls/?id=2');
+                        magicJS.notification.post(scriptName, "", `🎉产品【${iData.seriesName}】普通下单成功,需前往支付!`, 'https://luanshu.hbcpre.com/order/ls/?id=2');
                     }
                     await checkAuthority();
                 }