shawenguan 1 년 전
부모
커밋
55bddb6491
4개의 변경된 파일544개의 추가작업 그리고 73개의 파일을 삭제
  1. 83 0
      Scripts/wubian/wubianDelisting.js
  2. 12 8
      Scripts/wubian/wubianFastGrab.js
  3. 196 65
      Scripts/wubian/wubianHelper.js
  4. 253 0
      Scripts/wubian/wubianRevokeEntrust.js

+ 83 - 0
Scripts/wubian/wubianDelisting.js

@@ -0,0 +1,83 @@
+/*
+无边星链一键下架
+*/
+
+
+const scriptName = `无边星链一键下架`;
+const magicJS = MagicJS(scriptName, "INFO");
+
+const WuBianConstKey = {
+    // 基础数据
+    UserInfo: 'WubianUserInfo',
+    Token: 'WubianProToken',
+    ActivityListData: 'WubianActivityListData',
+    ActivityGoodsList: 'WubianActivityGoodsList',
+    ActivityTaskCaptureEnabled: 'WubianActivityTaskCaptureEnabled',
+    ActivityTagName: 'WubianActivityActivityTagName',
+    ActivityIndexName: 'WubianActivityIndexName',
+    ActivityId: 'WubianActivityId',
+    TenantId: 'WubianTenantId',
+    FirstOrderCaptureEnabled: 'WubianFirstOrderCaptureEnabled',
+    FirstArtListData: 'WubianFirstArtListData',
+    FirstGoodsId: 'WubianFirstGoodsId',
+    FirstGoodsName: 'WubianFirstGoodsName',
+    CreateFirstOrderData: 'WubianCreateFirstOrderData',
+    FirstGrabConcurrentMode: 'WubianFirstGrabConcurrentMode',
+    FirstGrabRunsPerSecond: 'WubianFirstGrabRunsPerSecond',
+
+    ConsignmentCaptureEnabled: 'WubianConsignmentCaptureEnabled',
+    MyCollectListData: 'WubianMyCollectListData',
+    ConsignmentArtName: 'WubianConsignmentArtName',
+    ConsignmentArtId: 'WubianConsignmentArtId',
+    ConsignmentArtPrice: 'WubianConsignmentArtPrice',
+    ConsignmentArtAmount: 'WubianConsignmentArtAmount',
+};
+
+const gUserAgent = `Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Html5Plus/1.0 (Immersed/20) uni-app`;
+const gHost = `api.wubian.pro`;
+let gToken = magicJS.data.read(WuBianConstKey.Token, '');
+const gCommonHeaders = {
+    'Accept': `*/*`,
+    'Accept-Encoding': `gzip, deflate, br`,
+    'Connection': `keep-alive`,
+    'Content-Type': `application/json`,
+    'Cookie': `token=${gToken}`,
+    'Host': gHost,
+    'User-Agent': gUserAgent,
+    'CLIENT-TYPE': `APP`,
+    'token': gToken,
+    'Accept-Language': `zh-CN,zh-Hans;q=0.9`
+};
+
+let gRetBody;
+
+async function Main() {
+    if (magicJS.isStrictRequest) {
+        magicJS.checkRecordRequestBody();
+    }
+    if (magicJS.isRequest) {
+        checkHandleRequest();
+    } else {
+        updateHeaders();
+        await tryToSale();
+    }
+    magicJS.notification.msg('');
+    if (gRetBody) {
+        magicJS.done({
+            body: JSON.stringify(gRetBody)
+        });
+    } else {
+        magicJS.done();
+    }
+}
+
+
+
+function checkHandleRequest() {
+}
+
+function updateHeaders() {
+    gToken = magicJS.data.read(WuBianConstKey.Token, '');
+    gCommonHeaders['token'] = gToken;
+    gCommonHeaders['cookie'] = `token=${gToken}`;
+}

+ 12 - 8
Scripts/wubian/wubianFastGrab.js

@@ -172,7 +172,8 @@ async function tryToBuy() {
                 // magicJS.logger.info(`${JSON.stringify(retPayMethod.data.payMethodList)}`);
                 let retPayUrl = await getPayUrl(orderSn, 'YOP_WALLET_PAY');
                 if (retPayUrl && retPayUrl.code == 200) {
-                    let jumpUrl = await getUrlLocation(retPayUrl.data);
+                    magicJS.logger.info(`支付链接:${retPayUrl.data}`);
+                    let jumpUrl = await openUrlByRemoteBrowser(retPayUrl.data);
                     if (jumpUrl) {
                         magicJS.notification.post(scriptName, "", `快捷订单创建成功,请自行浏览器打开链接完成支付`, jumpUrl);
                     } else {
@@ -205,7 +206,7 @@ async function tryToBuy() {
                     // magicJS.logger.info(`${JSON.stringify(retPayMethod.data.payMethodList)}`);
                     let retPayUrl = await getPayUrl(orderSn, 'YOP_WALLET_PAY');
                     if (retPayUrl && retPayUrl.code == 200) {
-                        let jumpUrl = await getUrlLocation(retPayUrl.data);
+                        let jumpUrl = await openUrlByRemoteBrowser(retPayUrl.data);
                         if (jumpUrl) {
                             magicJS.notification.post(scriptName, "", `一般订单创建成功,请自行浏览器打开链接完成支付`, jumpUrl);
                         } else {
@@ -576,17 +577,20 @@ async function openUrlByRemoteBrowser(url) {
     };
     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;
+            // magicJS.logger.info(JSON.stringify(response));
+            // const body = response.body;
+            // magicJS.logger.info(body);
+            // return body;
         } catch (e) {
             magicJS.logger.error(e);
         }
+        return response;
     }).catch(err => {
-        const msg = `请求代理浏览器异常\n${JSON.stringify(err)}`;
-        magicJS.logger.error(msg);
+        // const msg = `请求代理浏览器异常\n${JSON.stringify(err)}`;
+        // magicJS.logger.error(msg);
+        return err.response;
     });
+    magicJS.logger.info(JSON.stringify(result));
     return result;
 }
 

+ 196 - 65
Scripts/wubian/wubianHelper.js

@@ -147,6 +147,10 @@ function checkHandleRequest() {
                 // 公告列表
                 handleNoticeList();
                 break;
+            case '/vmf/app/article/info':
+                // 公告详情
+                handleNoticeInfo();
+                break;
             case '/vmf/app/article/selectArticleByType':
                 // 产品相关的历史公告
                 break;
@@ -180,6 +184,9 @@ function checkHandleRequest() {
             case '/vmf/app/order/createEntrustOrder':
                 // 创建委托订单
                 break;
+            case '/vmf/app/order/cancelEntrustOrder':
+                // 取消委托订单
+                break;
             case '/vmf/app/pay/cashier':
                 // 支付收银台钱包选择列表
                 break;
@@ -201,6 +208,14 @@ function checkHandleRequest() {
                 break;
             case '/vmf/app/synthesis/createCompositeOrder':
                 break;
+            case 'vmf/app/order/list':
+                // 订单列表
+                handleOrderList();
+                break;
+            case '/vmf/app/order/info':
+                // 订单详情
+                handleOrderInfo();
+                break;
             default:
                 if (path.indexOf('/vmf/app/order/createFirstOrder') != -1) {
                     handleCreateFirstOrder();
@@ -375,6 +390,109 @@ function handleNoticeList() {
     let reqData = getRequestPlainData();
     let tenantId = reqData.tenantId;
     magicJS.data.write(WuBianConstKey.TenantId, tenantId);
+    if (reqData.page == 1) {
+        let oneNotice = {
+            "hashId": "468xab6e",
+            "category": "系统公告",
+            "icon": "/uploads/icon/系统公告.png",
+            "title": "暗黑市场",
+            "image": "",
+            "createdTime": magicJS.formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss'),
+            "type": 0,
+            "categoryType": 6,
+            "url": ""
+        };
+        rspData.data.list.splice(0, 1, oneNotice);
+        gRetBody = rspData;
+    }
+}
+
+function handleNoticeInfo() {
+    let rspData = getResponsePlainData();
+    if (!rspData) {
+        return;
+    }
+    let reqData = getRequestPlainData();
+    let hashId = reqData.hashId;
+    if (hashId == '468xab6e') {
+        let dataArr = [
+            {
+                "hash_id": "6oekb1b5",
+                "id": 19, "image": "/uploads/20240909/ec090658021483753c9cacb2c917e4ce.png",
+                "title": "机械齿轮",
+                "event": "art",
+                "type": { "syn": "合成兑换", "act": "空投", "art": "藏品", "pri": "抽奖", "article": "公告" }
+            },
+            {
+                "hash_id": "3oe8bev8",
+                "id": 18,
+                "image": "/uploads/20240909/0c5d20baa4c00a3390b131b84bf8d592.jpg",
+                "title": "星链计划",
+                "event": "art",
+                "type": { "syn": "合成兑换", "act": "空投", "art": "藏品", "pri": "抽奖", "article": "公告" }
+            }
+        ];
+        let relationList = [
+            {
+                "jumpType": "",
+                "url": "",
+                "timeList": [
+
+                ],
+                "title": "机械齿轮",
+                "image": "/uploads/20240909/ec090658021483753c9cacb2c917e4ce.png",
+                "activityType": "",
+                "authorName": "无边星链",
+                "type": "art",
+                "typeName": "",
+                "categoryType": "",
+                "relationId": "6oekb1b5"
+            },
+            {
+                "jumpType": "",
+                "url": "",
+                "timeList": [
+
+                ],
+                "title": "星链计划",
+                "image": "/uploads/20240909/0c5d20baa4c00a3390b131b84bf8d592.jpg",
+                "activityType": "",
+                "authorName": "无边星链",
+                "type": "art",
+                "typeName": "",
+                "categoryType": "",
+                "relationId": "3oe8bev8"
+            }
+        ];
+        let artLstText = ``;
+        for (let i = 0; i < dataArr.length; ++i) {
+            let element = dataArr[i];
+            let dataStr = JSON.stringify(element);
+            dataStr = dataStr.replace(/"/g, "&quot;");
+            let inputStr = `<input style="align-content:center;width:80%;height:35px;background:#18bc9c;color:#FFFFFF;" readonly="readonly" disabled="disabled" name="relation['art'][]" value="[显示]藏品:${element.title}" data-event="art" data-id="${element.hash_id}" data-show="1" data="${dataStr}" />`;
+            artLstText += inputStr;
+        }
+        let content = `
+            <p><br /></p>
+            <p style="white-space:normal;"><strong>尊敬的无边星链用户:</strong></p>
+            <p style="white-space:normal;"><strong>您好!</strong></p>
+            <p><br /></p>
+            <p>&nbsp; &nbsp;&nbsp;</p>
+            <p><strong><span style="color:#E53333;">&nbsp; &nbsp; <span style="color:#000000;">以下所有开放过的藏品:</span></span></strong></p>
+            <p><strong><span style="color:#E53333;">${artLstText}<br /></span></strong></p>
+            <p><strong><span style="color:#E53333;"><br /></span></strong></p>
+            <p><strong><span style="color:#E53333;"><br /></span></strong></p>
+            <p><strong><span style="color:#E53333;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></strong></p>
+            <p style="white-space:normal;text-align:right;"><strong><b>无边星链运营团队</b></strong></p>
+            <p style="white-space:normal;text-align:right;"><strong><b><br /></b></strong></p>
+            <p style="white-space:normal;text-align:right;"><strong><b>2024年9月10日</b></strong></p>
+            <p><br /></p>
+        `;
+        rspData.data.content = content;
+        rspData.data.relationList = relationList;
+
+        gRetBody = rspData;
+    }
 }
 
 function hadnleMarketGroupList() {
@@ -712,71 +830,23 @@ function handleGoodsInfo() {
 
     let buttons = rspData.data.button;
     if (buttons[0].disable == 1) {
-        // let map = [
-        //     [
-        //         "DESTROY",
-        //         "已销毁"
-        //     ],
-        //     [
-        //         "LOCKING",
-        //         "锁定中"
-        //     ],
-        //     [
-        //         "OPENED",
-        //         "已开启"
-        //     ],
-        //     [
-        //         "SOLD",
-        //         "已售出"
-        //     ],
-        //     [
-        //         "PAY",
-        //         "立即购买"
-        //     ],
-        //     [
-        //         "DRIVE",
-        //         "车辆试驾"
-        //     ],
-        //     [
-        //         "AVATAR",
-        //         "设为头像"
-        //     ],
-        //     [
-        //         "CLOSE_SALE",
-        //         "取消寄售"
-        //     ],
-        //     [
-        //         "SALE",
-        //         "平台寄售"
-        //     ],
-        //     [
-        //         "GIVE",
-        //         "转赠好友"
-        //     ],
-        //     [
-        //         "OPEN_BOX",
-        //         "打开宝箱"
-        //     ],
-        //     [
-        //         "SYNTHESISING",
-        //         "合成中"
-        //     ],
-        //     [
-        //         "NONE",
-        //         "暂未开放"
-        //     ],
-        //     [
-        //         "CONVERT",
-        //         "兑换"
-        //     ],
-        //     [
-        //         "SHARE",
-        //         "分享"
-        //     ],
-        //     [
-        //         "RESELL",
-        //         "转售"
-        //     ]
+        // let mapList = [
+        //     ["DESTROY", "已销毁"],
+        //     ["LOCKING", "锁定中"],
+        //     ["OPENED", "已开启"],
+        //     ["SOLD", "已售出"],
+        //     ["PAY", "立即购买"],
+        //     ["DRIVE", "车辆试驾"],
+        //     ["AVATAR", "设为头像"],
+        //     ["CLOSE_SALE", "取消寄售"],
+        //     ["SALE", "平台寄售"],
+        //     ["GIVE", "转赠好友"],
+        //     ["OPEN_BOX", "打开宝箱"],
+        //     ["SYNTHESISING", "合成中"],
+        //     ["NONE", "暂未开放"],
+        //     ["CONVERT", "兑换"],
+        //     ["SHARE", "分享"],
+        //     ["RESELL", "转售"],
         // ];
         buttons[0].disable = 0;
         buttons[0].key = 'SALE';
@@ -917,6 +987,67 @@ function handleCreateFirstOrder() {
     }
 }
 
+function handleOrderList() {
+    let rspData = getResponsePlainData();
+    if (!rspData) {
+        return;
+    }
+    /**
+     *
+    结果示例:
+        {
+            "code": 200,
+            "data": {
+                "total": 283,
+                "next": 1,
+                "list": [
+                    {
+                        "state": 8,
+                        "orderTypeName": "兑换订单",
+                        "orderSn": "20240919200738282206032433",
+                        "createdTime": "2024-09-19 20:07:38",
+                        "count": 82781,
+                        "authorName": "无边星链",
+                        "title": "玉兔捣药分解活动!",
+                        "price": 0,
+                        "image": "/uploads/20240919/ca5a67f98ed6396fd548752caa3d8974.png",
+                        "ver": "#22314/82781",
+                        "orderType": 6,
+                        "num": 6,
+                        "lockTime": 0,
+                        "stateDesc": "已兑换",
+                        "buttonList": []
+                    }
+                ]
+            },
+            "msg": "成功",
+            "fail": false
+        }
+
+
+     */
+    // let mapList = [
+    //     ["CANCEL_CONSIGNMENT", "取消寄售"],
+    //     ["VIEW_GOODS", "查看藏品"],
+    //     ["CANCEL_ORDER", "取消订单"],
+    //     ["PAY", "去支付"],
+    //     ["GOODS_LIBRARY", "藏品库"],
+    //     ["BUY_ANOTHER", "继续购买"],
+    //     ["ORDER_CONFIRM", "订单确认中"],
+    //     ["INVOICE", "申请发票"],
+    //     ["UPDATE_PRICE", "修改价格"],
+    //     ["CANCEL_COMPETE", "取消竞价"],
+    //     ["CANCEL_ENTRUST", "取消委托"]
+    // ];
+}
+
+function handleOrderInfo() {
+    let rspData = getResponsePlainData();
+    if (!rspData) {
+        return;
+    }
+}
+
 Main().catch((e) => magicJS.logger.log(`-\n ${e}`)).finally(() => magicJS.done());
 
 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 253 - 0
Scripts/wubian/wubianRevokeEntrust.js


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.