shawenguan 1 год назад
Родитель
Сommit
cd7305f4f2
1 измененных файлов с 241 добавлено и 54 удалено
  1. 241 54
      Scripts/hbcpre/hbcpreHelper.js

+ 241 - 54
Scripts/hbcpre/hbcpreHelper.js

@@ -26,6 +26,7 @@ const HbcpreConstKey = {
     token: 'HbcpreUserToken',
     userInfo: 'HbcpreUserInfo',
     collectionClassList: 'HbcpreCollectionClassList',
+    collectionClassDetail: 'HbcpreCollectionClassDetail',
     collectionMaxNumLimit: 'HbcpreCollectionMaxNumLimit',
     collectionLockMaxNum: 'HbcpreCollectionLockMaxNum',
     castingId: 'HbcpreCastingId',
@@ -183,26 +184,58 @@ function checkHandleRequest() {
     printResponseData();
     if ($request && $request.method != 'OPTIONS') {
         switch (path) {
-            case '/api/app/blackOrWhite':
-                handleBlackOrWhite();
+            case '/mall/collector/checkAuthority':
+                handleAuthority();
                 break;
-            case '/api/login/index':
-                handleLoginIndex();
-                break;
-            case '/api/user/userinfo':
+            case '/mall/collector/getCollectorInfo':
                 handleUserInfo();
                 break;
-            case '':
+            case '/mall/user/series':
+                // 个人资产-所有产品类别列表
                 handlerMySeriesList();
                 break;
-            case '/api/index/getbanner':
-                // 首页banner轮播图
-                break
-            case '/api/index/getnewnotices':
-                // 公告
+            case '/mall/user/works':
+                // 个人资产-单一类别产品列表
+                handlerMyWorksList();
+                break;
+            case '/mall/order/menu':
+                // 我的订单分类标签页
+                handlerOrederMenu();
+                break;
+            case '/mall/order/page':
+                // 我的订单数据
+                handlerOrederPage();
+                break;
+            case '/mall/works/category':
+                // 产品排序类别以及分类类别等
+                break;
+            case '/mall/resale/focus':
+                // 关注收藏产品
                 break
-            case '/api/index/getnoticesclass':
-                // 公告类别
+            case '/mall/sell/quickOrder':
+                // 快速下单
+                break;
+            case '/mall/works/fee':
+                // 寄售相关手续费
+                break;
+            case '/mall/collector/checkPassword':
+                // 寄售密码验证换取凭据
+                break;
+            case '/mall/works/sell':
+                // 使用密码凭据进行寄售
+                break;
+            case '/mall/works/cancel':
+                // 取消寄售
+                // post {
+                //     "worksId": 4214461
+                // }
+                break;
+            case '/mall/works/batchCancel':
+                // 批量取消寄售
+                // post {
+                //     "seriesId": 2988,
+                //     "seriesType": 5
+                // }
                 break;
             case '/api/randomcompound/indexdetail':
                 // 好运合成 post= {id:189}
@@ -231,20 +264,30 @@ function checkHandleRequest() {
                 if (path.indexOf('/api/collection/indexdetail') > -1) {
                     // 个人资产-单个产品类别详情
                     // handleCollectionIdxDetail();
-                }else if (path.indexOf('/mall/user/series') > -1) {
-                    // 个人资产-所有产品类别列表
-                    handlerMySeriesList();
-                }else if (path.indexOf('/api/market/packlistdetail') > -1) {
-                    // 产品详情
-                    // handlePacklistDetail();
+                }else if (path.indexOf('/mall/order/detail') > -1) {
+                    // 订单详情
+                    handleOrderDetail();
+                }else if (path.indexOf('/mall/works/info') > -1) {
+                    // 我的产品详情或在售产品详情
+                    handlerWorksInfo();
+                }else if (path.indexOf('/mall/works/page') > -1) {
+                    // 产品在售列表
+                    handlerMarketWorksList();
                 }else if (path.indexOf('/mall/series/seriesInfo') > -1) {
-                    // 产品列表
+                    // 产品在售简要
                     handleSeriesInfo();
                 }else if (path.indexOf('/mall/resale/getSeriesList') > -1) {
                     // 产品类别
                     handleMarketSeriesList();
+                }else if (path.indexOf('/mall/home/series')){//无需登录
+                    //首页数字资产和盲盒推荐
+                }else if (path.indexOf('/mall/homepage/info')){//无需登录
+                    //首页信息,包括广告喇叭、banner上多个入口配置
+                }else if (path.indexOf('/mall/application/getBasicInfo')){//无需登录
+                    //应用基础信息
                 }else if (path.indexOf('/mall/collector/password/login')){
                     //登录
+                    handleLoginIndex();
                 }
                 break;
         }
@@ -253,15 +296,21 @@ function checkHandleRequest() {
 
 function handleHeaders() {
     let headers = $request.headers;
-    if(headers['Authorization']){
-        let newToken = headers['Authorization'].replace('Bearer ', '');
-        let oldToken = magicJS.data.read(HbcpreConstKey.token, null);
-        if(newToken != oldToken){
-            magicJS.data.write(HbcpreConstKey.token, newToken);
-            magicJS.logger.info(`当前token刷新到最新`);
-            magicJS.notification.appendNotifyInfo(`🎉当前token刷新到最新`);
-        } else {
-            magicJS.logger.info(`当前token已经是最新无需更新`);
+    if(headers['App-Token']){
+        let newToken = headers['App-Token'];
+        if(!newToken){
+            let cookieDict = magicJS.parseCookies(headers['Cookie']);
+            newToken = cookieDict['app-token'];
+        }
+        if(newToken != void 0){
+            let oldToken = magicJS.data.read(HbcpreConstKey.token, null);
+            if(newToken != oldToken){
+                magicJS.data.write(HbcpreConstKey.token, newToken);
+                magicJS.logger.info(`当前token刷新到最新`);
+                magicJS.notification.appendNotifyInfo(`🎉当前token刷新到最新`);
+            } else {
+                magicJS.logger.info(`当前token已经是最新无需更新`);
+            }
         }
     }
 }
@@ -301,21 +350,28 @@ function getQueryPlainData(){
     return params;
 }
 
-function handleBlackOrWhite() {
+function handleAuthority() {
     let rspData = getResponsePlainData();
     if (!rspData) {
         return;
     }
-    if (rspData.code != 1000) {
+    if (rspData.code != 200) {
         return;
     }
-    // rspData = { code: 1000, message: '获取成功', data: { value: '0' } };
-    rspData.data.value = '0';
-    const baseConfig = getBaseConfig();
-    if (baseConfig.encrypt) {
-        gRetBody = encryptAES(JSON.stringify(rspData), baseConfig.k, baseConfig.v);
+    if (rspData.data?.isLogin == 1){
+        let reqData = getRequestPlainData();
+        let newToken = reqData.address;
+        let oldToken = magicJS.data.read(HbcpreConstKey.token, null);
+        if(newToken != oldToken){
+            magicJS.data.write(HbcpreConstKey.token, newToken);
+            magicJS.logger.info(`当前token刷新到最新`);
+            magicJS.notification.appendNotifyInfo(`🎉当前token刷新到最新`);
+        } else {
+            magicJS.logger.info(`当前token已经是最新无需更新`);
+        }
     } else {
-        gRetBody = rspData;
+        magicJS.data.write(HbcpreConstKey.token, '');
+        magicJS.logger.info(`当前token已失效`);
     }
 }
 
@@ -324,7 +380,7 @@ function handleLoginIndex() {
     if (!rspData) {
         return;
     }
-    if (rspData.code == 1000) {
+    if (rspData.code == 200) {
         magicJS.data.write(HbcpreConstKey.token, rspData.data.token);
     }
 }
@@ -334,7 +390,7 @@ function handleUserInfo() {
     if (!rspData) {
         return;
     }
-    if (rspData.code == 1000) {
+    if (rspData.code == 200) {
         magicJS.data.write(HbcpreConstKey.userInfo, JSON.stringify(rspData.data));
     }
 }
@@ -419,6 +475,40 @@ function handleSeriesInfo(){
     gRetBody = rspData;
 }
 
+function handlerMarketWorksList(){
+    let rspData = getResponsePlainData();
+    if (!rspData) {
+        return;
+    }
+    if (rspData.code != 200) {
+        return;
+    }
+
+    let currPage = rspData.data.currPage;
+    let list = rspData.data.list;
+    for (let i = list.length - 1; i >= 0; i--) {
+        const item = list[i];
+        // worksStatus 6=寄售中 13=锁定中,待支付 16=已完成
+    }
+}
+
+function handlerWorksInfo(){
+    let rspData = getResponsePlainData();
+    if (!rspData) {
+        return;
+    }
+    if (rspData.code != 200) {
+        return;
+    }
+    let data = rspData.data;
+    // status 1=未上架 6=寄售中 13=锁定中,待支付 16=已完成
+    // ownerId 用户UID
+    // minPrice-maxPrice 允许的最低价-最高价
+    // price priceCny 当前在售价
+    data.worksName = `${data.worksName}\n${data.contractAddress}`;
+    gRetBody = rspData;
+}
+
 function formatNumberWithKAndW(n) {
     if (n < 1000) {
         return n.toString();
@@ -441,24 +531,121 @@ function handlerMySeriesList(){
         return;
     }
     let reqData = getRequestPlainData();
-    // reqData.type 0=数字资产 1=盲盒
-    let itemList = rspData.data.list;
-    let cntDict = readItemCntRwDict();
-    for(let i=0; i < itemList.length; i++){
-        const item = itemList[i];
-        const seriesId = item.seriesId;
-        const seriesName = item.seriesName;
-        if(cntDict[seriesId]){
-            item.total = cntDict[seriesId];
-        }else if(cntDict[seriesName]){
-            item.total = cntDict[seriesName];
+    let currPage = rspData.data.currPage;
+    let mySeriesData = {};
+    if(currPage > 1){
+        mySeriesData = magicJS.data.read(HbcpreConstKey.collectionClassList, {});
+    }
+    // reqData.type 0=数字资产 1=盲盒 5=我的寄售 4=已卖出
+    if(reqData.type == 0 || reqData.type == 1){
+        let itemList = rspData.data.list;
+        let cntDict = readItemCntRwDict();
+        for(let i=0; i < itemList.length; i++){
+            const item = itemList[i];
+            const seriesId = item.seriesId;
+            mySeriesData[seriesId] = item;
+
+            const seriesName = item.seriesName;
+            if(cntDict[seriesId]){
+                item.total = cntDict[seriesId];
+            }else if(cntDict[seriesName]){
+                item.total = cntDict[seriesName];
+            }
+            item.seriesName = `${seriesName}#¥${parseFloat(item.avgPrice).toFixed(2)}`;
+            item.authorName = `$存量(${formatNumberWithKAndW(item.soldNum)}/${formatNumberWithKAndW(item.issueNum)})`;
         }
-        item.seriesName = `${seriesName}#¥${parseFloat(item.avgPrice).toFixed(2)}`;
-        item.authorName = `${item.authorName}(${formatNumberWithKAndW(item.soldNum)}/${formatNumberWithKAndW(item.issueNum)})`;
+        magicJS.data.write(HbcpreConstKey.collectionClassList, mySeriesData);
+        gRetBody = rspData;  
     }
-    gRetBody = rspData;
 }
 
+function handlerMyWorksList(){
+    let rspData = getResponsePlainData();
+    if (!rspData) {
+        return;
+    }
+    if (rspData.code != 200) {
+        return;
+    }
+    let reqData = getRequestPlainData();
+    let seriesId = reqData.seriesId;
+    let currPage = rspData.data.currPage;
+    let myWorksData = {};
+    let storeKey = `${HbcpreConstKey.collectionClassDetail}#${seriesId}`;
+    if(currPage > 1){
+        myWorksData = magicJS.data.read(+, {});
+    }
+    let list = rspData.data.list;
+    if(list.length == 0){
+        magicJS.data.write(storeKey, myWorksData);
+        return;
+    } 
+    seriesId = list[0].seriesId;
+    for(let i=0; i < list.length; i++){
+        const item = itemList[i];
+        const sId = item.seriesId;
+        myWorksData[sId] = item;
+    }
+    magicJS.data.write(storeKey, myWorksData);
+}
+
+function handlerOrederMenu(){
+    let rspData = getResponsePlainData();
+    if (!rspData) {
+        return;
+    }
+    if (rspData.code != 200) {
+        return;
+    }
+    // rspData = {
+    //     "code": 200,
+    //     "data": [
+    //         {
+    //             "menuId": 5,
+    //             "name": "全部"
+    //         },
+    //         {
+    //             "menuId": 2,
+    //             "name": "待支付"
+    //         },
+    //         {
+    //             "menuId": 3,
+    //             "name": "进行中"
+    //         },
+    //         {
+    //             "menuId": 1,
+    //             "name": "已完成"
+    //         },
+    //         {
+    //             "menuId": 4,
+    //             "name": "已取消"
+    //         },
+    //         {
+    //             "menuId": 7,
+    //             "name": "已卖出"
+    //         }
+    //     ],
+    //     "message": "操作成功",
+    //     "success": true
+    // }
+}
+
+function handlerOrederPage(){
+    let rspData = getResponsePlainData();
+    if (!rspData) {
+        return;
+    }
+    if (rspData.code != 200) {
+        return;
+    }
+    // rspData.status 6=取消
+}
+
+function handleOrderDetail(){
+
+}
+
+
 function handlerCompoundData(){
     let rspData = getResponsePlainData();
     if (!rspData) {