|
|
@@ -18,6 +18,7 @@ const HbcpreConstKey = {
|
|
|
myOwnSeriesCntFakeData: 'HbcpreMyOwnSeriesCntFakeData', // 资产的伪装数据
|
|
|
myOwnSeriesListDict: 'HbcpreMyOwnSeriesList',
|
|
|
myOwnSeriesDetail: 'HbcpreMyOwnSeriesDetail',
|
|
|
+ browserProxyUrl: 'HbcpreBrowserOpenUrl',
|
|
|
|
|
|
// 下单相关的
|
|
|
marketSeriesDataGrabEnabled: 'HbcpreOrderItemDataGrabEnabled',
|
|
|
@@ -171,13 +172,18 @@ async function doQuickOrder(iData, willPrice, priceFloatInterval){
|
|
|
}
|
|
|
if (payRet) {
|
|
|
let paymentInfo = encodeURI(payRet.paymentInfo);
|
|
|
- let bOpenRet = await browserOpenUrl(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}】快捷下单成功,并支付成功!`);
|
|
|
+ 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.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);
|
|
|
}
|
|
|
@@ -257,7 +263,7 @@ async function doNormalOrder(iData, willPrice, priceFloatInterval){
|
|
|
}
|
|
|
if (payRet) {
|
|
|
let paymentInfo = encodeURI(payRet.paymentInfo);
|
|
|
- let bOpenRet = await browserOpenUrl(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);
|
|
|
@@ -467,7 +473,49 @@ async function checkAuthority(){
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-async function browserOpenUrl(url, headers) {
|
|
|
+async function openUrlByRemoteBrowser(url) {
|
|
|
+ let headers = = {
|
|
|
+ 'Sec-Fetch-Dest': `empty`,
|
|
|
+ 'Connection': `keep-alive`,
|
|
|
+ 'Accept-Encoding': `gzip, deflate, br`,
|
|
|
+ 'Content-Type': `application/json;charset=UTF-8`,
|
|
|
+ 'Sec-Fetch-Site': `same-origin`,
|
|
|
+ 'Origin': `https://cash.yeepay.com`,
|
|
|
+ 'User-Agent': `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`,
|
|
|
+ 'Sec-Fetch-Mode': `cors`,
|
|
|
+ 'Cookie': `aliyungf_tc=deb5a0bf09b2b2914456330284da78f4dd6625813acc42b992eb59069c342eed`,
|
|
|
+ 'Host': `cash.yeepay.com`,
|
|
|
+ 'Referer': `https://cash.yeepay.com/newwap/mobile-cashier/index.html`,
|
|
|
+ 'Accept-Language': `zh-CN,zh-Hans;q=0.9`,
|
|
|
+ 'Accept': `application/json, text/plain, */*`
|
|
|
+ };
|
|
|
+ let data = {
|
|
|
+ url: url,
|
|
|
+ headers: headers,
|
|
|
+ };
|
|
|
+ let proxyUrl = magicJS.data.read(HbcpreConstKey.browserProxyUrl, 'http://127.0.0.1:5000/proxy');
|
|
|
+ let options = {
|
|
|
+ url: proxyUrl,
|
|
|
+ headers: headers,
|
|
|
+ body: JSON.stringify(data),
|
|
|
+ };
|
|
|
+ let result = await magicJS.http.post(options).then(response => {
|
|
|
+ try {
|
|
|
+ magicJS.logger.info(JSON.stringify(response));
|
|
|
+ const body = response.body;
|
|
|
+ magicJS.logger.info(body);
|
|
|
+ return body;
|
|
|
+ } catch (e) {
|
|
|
+ magicJS.logger.error(e);
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ const msg = `请求代理浏览器异常\n${JSON.stringify(err)}`;
|
|
|
+ magicJS.logger.error(msg);
|
|
|
+ });
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+async function getHtmlContent(url, headers) {
|
|
|
let options = {
|
|
|
url: `${url}`,
|
|
|
headers: headers,
|
|
|
@@ -483,7 +531,7 @@ async function browserOpenUrl(url, headers) {
|
|
|
magicJS.logger.error(e);
|
|
|
}
|
|
|
}).catch(err => {
|
|
|
- const msg = `打开网页异常\n${JSON.stringify(err)}`;
|
|
|
+ const msg = `获取网页异常\n${JSON.stringify(err)}`;
|
|
|
magicJS.logger.error(msg);
|
|
|
});
|
|
|
return result;
|