xiongzhu hace 3 años
padre
commit
518856d203
Se han modificado 4 ficheros con 155 adiciones y 10 borrados
  1. 2 1
      .gitignore
  2. 142 0
      create.js
  3. 3 2
      notify.js
  4. 8 7
      order.js

+ 2 - 1
.gitignore

@@ -1,4 +1,5 @@
 .DS_Store
 node_modules
 .vscode
-orders.json
+orders.json
+config.json

+ 142 - 0
create.js

@@ -0,0 +1,142 @@
+const axios = require("axios");
+const qs = require("qs");
+const encryptUtil = require("./encryptUtil");
+const fs = require("fs");
+const queue = require("queue");
+const config = require("./config.json");
+
+axios.defaults.baseURL = config.baseUrl;
+axios.interceptors.request.use(
+    function (config) {
+        config.metadata = { startTime: new Date() };
+        return config;
+    },
+    function (error) {
+        return Promise.reject(error);
+    }
+);
+axios.interceptors.response.use(
+    function (response) {
+        response.config.metadata.endTime = new Date();
+        response.duration =
+            response.config.metadata.endTime -
+            response.config.metadata.startTime;
+        return response;
+    },
+    function (error) {
+        error.config.metadata.endTime = new Date();
+        error.duration =
+            error.config.metadata.endTime - error.config.metadata.startTime;
+        return Promise.reject(error);
+    }
+);
+
+axios
+    .post("/auth/login", qs.stringify(config.admin))
+    .then((res) => {
+        axios.defaults.headers["Authorization"] = "Bearer " + res.data;
+
+        let d1 = {
+            onShelf: false,
+            salable: true,
+            properties: [],
+            type: "DEFAULT",
+            source: "OFFICIAL",
+            pic: [
+                {
+                    name: "test.jpeg",
+                    url: "https://raex-meta.oss-cn-shenzhen.aliyuncs.com/nft/2022-02-17-16-24-20TavTRVFG.jpg",
+                    thumb: null,
+                    type: "image/jpeg",
+                },
+            ],
+            scheduleSale: false,
+            sort: 0,
+            privileges: [],
+            maxCount: 0,
+            countId: null,
+            canResale: true,
+            scanCode: false,
+            noSoldOut: true,
+            assignment: 0,
+            coupoPayment: false,
+            price: 1,
+            originalPrice: 1,
+            royalties: 1,
+            serviceCharge: 1,
+            total: 1000,
+            name: "test",
+            minterId: "7150",
+            minter: "RAEX绿洲数字藏品中心",
+            minterAvatar:
+                "https://raex-meta.oss-cn-shenzhen.aliyuncs.com/image/2021-12-17-19-03-38BNAlEhlJ.png",
+            category: "勋章",
+            detail: "<p>1</p>",
+            couponPayment: false,
+        };
+
+        Promise.all([
+            axios.post("/collection/create", d1).then((res) => {
+                return Promise.resolve(res.data.id);
+            }),
+            axios.post("/collection/create", d1).then((res) => {
+                return Promise.resolve(res.data.id);
+            }),
+            axios.post("/collection/create", d1).then((res) => {
+                return Promise.resolve(res.data.id);
+            }),
+            axios.post("/collection/create", d1).then((res) => {
+                return Promise.resolve(res.data.id);
+            }),
+        ]).then((res) => {
+            console.log(res);
+            let d2 = {
+                blindBox: {
+                    onShelf: true,
+                    salable: true,
+                    properties: [],
+                    type: "BLIND_BOX",
+                    source: "OFFICIAL",
+                    pic: [
+                        {
+                            name: "test.jpeg",
+                            url: "https://raex-meta.oss-cn-shenzhen.aliyuncs.com/nft/2022-02-17-16-26-52yiLHxKRQ.jpg",
+                            thumb: null,
+                            type: "image/jpeg",
+                        },
+                    ],
+                    scheduleSale: false,
+                    privileges: [],
+                    sort: 0,
+                    maxCount: 0,
+                    countId: null,
+                    scanCode: false,
+                    noSoldOut: true,
+                    assignment: 0,
+                    couponPayment: false,
+                    price: 0.01,
+                    total: 200,
+                    name: "盲盒",
+                    minterId: "7150",
+                    minter: "RAEX绿洲数字藏品中心",
+                    minterAvatar:
+                        "https://raex-meta.oss-cn-shenzhen.aliyuncs.com/image/2021-12-17-19-03-38BNAlEhlJ.png",
+                    category: "勋章",
+                    detail: "<p>1</p>",
+                },
+                items: res.map((i, index) => {
+                    return {
+                        rare: false,
+                        total: 100 * (index + 3),
+                        collectionId: i,
+                    };
+                }),
+            };
+            axios.post("/collection/createBlindBox", d2).then((res) => {
+                console.log(res.data.id);
+            });
+        });
+    })
+    .catch((e) => {
+        console.log(e.response);
+    });

+ 3 - 2
notify.js

@@ -2,9 +2,10 @@ const axios = require("axios");
 const qs = require("qs");
 const fs = require("fs");
 const queue = require("queue");
+const config = require("./config.json");
 
-axios.defaults.baseURL = "https://testorder.raex.vip";
-const q = queue({ results: [], concurrency: 500 });
+axios.defaults.baseURL = config.baseUrl;
+const q = queue({ results: [], concurrency: 5000 });
 JSON.parse(fs.readFileSync("orders.json").toString()).forEach((orderId) => {
     q.push((cb) => {
         axios

+ 8 - 7
order.js

@@ -3,8 +3,9 @@ const qs = require("qs");
 const encryptUtil = require("./encryptUtil");
 const fs = require("fs");
 const queue = require("queue");
+const config = require("./config.json");
 
-axios.defaults.baseURL = "https://test.raex.vip";
+axios.defaults.baseURL = config.baseUrl;
 axios.interceptors.request.use(
     function (config) {
         config.metadata = { startTime: new Date() };
@@ -31,10 +32,7 @@ axios.interceptors.response.use(
 );
 
 axios
-    .post(
-        "/auth/phonePwdLogin",
-        qs.stringify({ phone: 15077886171, password: "123456" })
-    )
+    .post("/auth/phonePwdLogin", qs.stringify(config.user))
     .then((res) => {
         axios.defaults.headers["Authorization"] = "Bearer " + res.data;
         start();
@@ -69,8 +67,8 @@ const queryResult = (id, i, cb) => {
 };
 
 function start() {
-    const q = queue({ results: [], concurrency: 100 });
-    for (let i = 0; i < 1000; i++) {
+    const q = queue({ results: [], concurrency: 3000 });
+    for (let i = 0; i < 3000; i++) {
         q.push((cb) => {
             let params = {
                 collectionId: 151602,
@@ -91,6 +89,9 @@ function start() {
                 });
         });
     }
+    console.log(
+        "count: " + q.results.map((i) => i[0]).filter((i) => !!i).length
+    );
     q.start((err) => {
         console.log("all done", q.results);
         fs.writeFileSync(