shawenguan hace 1 año
padre
commit
142ce96b51

+ 220 - 0
Scripts/wubian/wubianCloseSale.js

@@ -0,0 +1,220 @@
+/*
+无边星链一键下架
+*/
+
+
+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',
+
+    CloseSaleArtName: 'WubianCloseSaleArtName',
+};
+
+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 tryCloseSale();
+    }
+    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}`;
+}
+
+function getTenantId() {
+    let tenantId = magicJS.data.read(WuBianConstKey.TenantId, '238bw8l9n5');
+    return tenantId;
+}
+
+function getCloseSaleName() {
+    return magicJS.data.read(WuBianConstKey.CloseSaleArtName, '');
+}
+
+async function tryCloseSale() {
+    let tenantId = getTenantId();
+    let name = getCloseSaleName();
+    let page = 1;
+    while (page < 100) {
+        let retCollectList = await queryUserCollectList(tenantId, 1, 2, page);
+        if (retCollectList && retCollectList.code == 200) {
+            let collectList = retCollectList.data.list;
+            for (let i = 0; i < collectList.length; ++i) {
+                let goodsItem = collectList[i];
+                magicJS.logger.info(`[${goodsItem.title}#${goodsItem.ver}]¥${goodsItem.price}寄售单状态:${goodsItem.status}`);
+                // if (goodsItem.status == -1) {//锁定中
+                //     continue;
+                // }
+                if (goodsItem.status == -2) {//寄售中
+                }
+                if (goodsItem.title.indexOf(name) > -1) {
+                    let retGoodsDetail = await getMarketGoodsInfo(goodsItem.goodsId, 1);
+                    let goodsBaseInfo = retGoodsDetail.data?.info;
+                    let retCancelOpt = await cancelConsignmentOrder(goodsItem.artId, goodsItem.goodsId);
+                    if (retCancelOpt && retCancelOpt.code == 200) {
+                        magicJS.notification.appendNotifyInfo(`[${goodsItem.title}#${goodsItem.ver}]¥${goodsItem.price}寄售单取消成功!`);
+                    } else {
+                        magicJS.notification.appendNotifyInfo(`[${goodsItem.title}#${goodsItem.ver}]¥${goodsItem.price}寄售单取消失败,原因:${retCancelOpt?.msg}!`);
+                    }
+                }
+            }
+            if (retCollectList.data.next == 1) {
+                page++;
+            } else {
+                break;
+            }
+        }
+    }
+}
+
+/**
+ * 
+ * @param {*} type 
+ * @param {*} state 1=收藏中 2=转让中 3=已转让
+ * @param {*} page 
+ * @returns 
+ */
+async function queryUserCollectList(tenantId, type, state, page) {
+    const url = `https://api.wubian.pro/vmf/app/user/collect/list`;
+    const reqData = {
+        type: type,
+        state: state,
+        page: page,
+        tenantId: tenantId,
+    };
+    let options = {
+        url: url,
+        headers: gCommonHeaders,
+        body: JSON.stringify(reqData),
+    };
+    let result = await magicJS.http.post(options).then(response => {
+        try {
+            let rspData = response.body;
+            // magicJS.logger.info(`rspData=${JSON.stringify(rspData)}`);
+            return rspData;
+        } catch (e) {
+            magicJS.logger.error(e);
+        }
+    }).catch(err => {
+        const msg = `获取个人拥有的产品列表数据异常\n${JSON.stringify(err)}`;
+        magicJS.logger.error(msg);
+    });
+    return result;
+}
+
+
+
+
+async function getMarketGoodsInfo(goodsId, type) {
+    const url = `https://api.wubian.pro/vmf/app/market/goodsInfo`;
+    const reqData = {
+        goodsId: goodsId,
+        type: String(type),
+    };
+    let options = {
+        url: url,
+        headers: gCommonHeaders,
+        body: JSON.stringify(reqData),
+    };
+    let result = await magicJS.http.post(options).then(response => {
+        try {
+            let rspData = response.body;
+            // magicJS.logger.info(`rspData=${JSON.stringify(rspData)}`);
+            return rspData;
+        } catch (e) {
+            magicJS.logger.error(e);
+        }
+    }).catch(err => {
+        const msg = `请求产品信息异常\n${JSON.stringify(err)}`;
+        magicJS.logger.error(msg);
+    });
+    return result;
+}
+
+async function cancelConsignmentOrder(artHashId, goodsHashId) {
+    const url = `https://api.wubian.pro/vmf/app/order/cancelConsignmentOrder`;
+    const reqData = {
+        artHashId: artHashId,
+        goodsHashId: goodsHashId,
+    };
+    let options = {
+        url: url,
+        headers: gCommonHeaders,
+        body: JSON.stringify(reqData),
+    };
+    let result = await magicJS.http.post(options).then(response => {
+        try {
+            let rspData = response.body;
+            magicJS.logger.info(`rspData=${JSON.stringify(rspData)}`);
+            return rspData;
+        } catch (e) {
+            magicJS.logger.error(e);
+        }
+    }).catch(err => {
+        const msg = `请求取消寄售异常\n${JSON.stringify(err)}`;
+        magicJS.logger.error(msg);
+    });
+    return result;
+}

+ 0 - 0
Scripts/wubian/wubianConsignment.js → Scripts/wubian/wubianConsignSale.js


+ 0 - 83
Scripts/wubian/wubianDelisting.js

@@ -1,83 +0,0 @@
-/*
-无边星链一键下架
-*/
-
-
-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}`;
-}

+ 5 - 4
Scripts/wubian/wubianRevokeEntrust.js

@@ -122,7 +122,7 @@ async function tryRevokeEntrust() {
                 // 13=委托订单
                 if (orderInfo.orderType == 13 && orderInfo.title.indexOf(name) > -1) {
                     entrustOrderTotal += 1;
-                    magicJS.logger.info(`找到[${orderInfo.title}]${orderInfo.createdTime}的一个委托单,状态:${orderInfo.state}`);
+                    magicJS.logger.info(`找到[${orderInfo.title}]${orderInfo.createdTime}的一个委托单,状态:${orderInfo.state}`);
                     if (orderInfo.state == -1) {//已取消
                         continue;
                     }
@@ -135,7 +135,7 @@ async function tryRevokeEntrust() {
                     if (orderInfo.state == 9) {//已支付
 
                     }
-                    magicJS.logger.info(`正在撤销[${orderInfo.title}x${orderInfo.num}]¥${orderInfo.price}委托单...`);
+                    magicJS.logger.info(`正在取消[${orderInfo.title}x${orderInfo.num}]¥${orderInfo.price}委托单...`);
                     let retDetail = await getOrderInfo(orderInfo.orderSn);
                     if (retDetail && retDetail.code == 200) {
                         optOrderNum += 1;
@@ -144,9 +144,9 @@ async function tryRevokeEntrust() {
                         magicJS.logger.info(`[${orderInfo.title}委托购买数量:${orderInfo.num},已完成:${artInfo.num}`);
                         let retOpt = await cancelEntrustOrder(baseInfo.orderSn);
                         if (retOpt && retOpt.code == 200) {
-                            magicJS.notification.appendNotifyInfo(`[${orderInfo.title}x${orderInfo.num}]¥${orderInfo.price}委托单撤销成功!`);
+                            magicJS.notification.appendNotifyInfo(`[${orderInfo.title}x${orderInfo.num}]¥${orderInfo.price}委托单取消成功!`);
                         } else {
-                            magicJS.notification.appendNotifyInfo(`[${orderInfo.title}x${orderInfo.num}]¥${orderInfo.price}委托单撤销失败,原因:${retOpt.msg}!`);
+                            magicJS.notification.appendNotifyInfo(`[${orderInfo.title}x${orderInfo.num}]¥${orderInfo.price}委托单取消失败,原因:${retOpt?.msg}!`);
                         }
                     }
                 }
@@ -228,6 +228,7 @@ async function getOrderList(state, page) {
     });
     return result;
 }
+
 async function getOrderInfo(orderSn) {
     const url = `https://api.wubian.pro/vmf/app/order/info`;
     const reqData = {