浏览代码

Merge branch 'TheHolyFarmer' of http://81.70.224.233:10080/yichael/FragrantTown into TheHolyFarmer

Sunny 3 年之前
父节点
当前提交
5cb2e155d3

+ 216 - 8
assets/Prefabs/NBuildings/Labour/Labour_205_Holy_Farmland.prefab

@@ -43,26 +43,29 @@
       },
       {
         "__id__": 108
+      },
+      {
+        "__id__": 115
       }
     ],
     "_active": true,
     "_level": 1,
     "_components": [
       {
-        "__id__": 115
+        "__id__": 122
       },
       {
-        "__id__": 119
+        "__id__": 126
       },
       {
-        "__id__": 120
+        "__id__": 127
       },
       {
-        "__id__": 121
+        "__id__": 128
       }
     ],
     "_prefab": {
-      "__id__": 122
+      "__id__": 129
     },
     "_opacity": 255,
     "_color": {
@@ -3977,6 +3980,207 @@
     "fileId": "10eYfTgmlDrYHFLQ0B235Y",
     "sync": false
   },
+  {
+    "__type__": "cc.Node",
+    "_name": "stealHarvest",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 116
+      }
+    ],
+    "_active": false,
+    "_level": 2,
+    "_components": [
+      {
+        "__id__": 119
+      },
+      {
+        "__id__": 120
+      }
+    ],
+    "_prefab": {
+      "__id__": 121
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_position": {
+      "__type__": "cc.Vec3",
+      "x": 7.17,
+      "y": 62.377,
+      "z": 0
+    },
+    "_scale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "harvest",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 115
+    },
+    "_children": [],
+    "_active": true,
+    "_level": 3,
+    "_components": [
+      {
+        "__id__": 117
+      }
+    ],
+    "_prefab": {
+      "__id__": 118
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 52,
+      "height": 79
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_position": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_scale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 116
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a429132a-73bd-4b1e-9eed-0e9004be21b9"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "4456b7c3-3442-48da-aad3-369482e0172a"
+    },
+    "fileId": "f9hhHiP25A5aqjht7ce2bj",
+    "sync": false
+  },
+  {
+    "__type__": "8e86bCCFq1H259acLru40nd",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 115
+    },
+    "_enabled": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.BlockInputEvents",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 115
+    },
+    "_enabled": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "4456b7c3-3442-48da-aad3-369482e0172a"
+    },
+    "fileId": "09MdlfwCpPBICJl3LbcuO3",
+    "sync": false
+  },
   {
     "__type__": "665c9OT2R1OgqpO6W6onlaQ",
     "_name": "",
@@ -3989,7 +4193,7 @@
       "__id__": 19
     },
     "buildInfo": {
-      "__id__": 116
+      "__id__": 123
     },
     "buildZone": {
       "__id__": 2
@@ -4042,7 +4246,7 @@
     "totalInventory": 10,
     "goodsArray": [
       {
-        "__id__": 117
+        "__id__": 124
       }
     ],
     "_goods": null,
@@ -4062,7 +4266,7 @@
     "goodsPrice": 20,
     "goodsSalesRate": 50,
     "goodsMaterial": {
-      "__id__": 118
+      "__id__": 125
     }
   },
   {
@@ -4160,6 +4364,7 @@
     "notLeased": {
       "__id__": 94
     },
+    "initConfigLandId": -1,
     "leaseLandInfo": null,
     "configLandInfo": null,
     "showLandInfo": {
@@ -4178,6 +4383,9 @@
     "harvestNode": {
       "__id__": 108
     },
+    "stealHarvestNode": {
+      "__id__": 115
+    },
     "isHarvest": false,
     "harvestSprite": null,
     "_workingBuilding": null,

+ 1 - 1
assets/Script/Lease/LeaseGrantInfo.js

@@ -114,7 +114,7 @@ cc.Class({
         if (GlobalD.GameData.isOnGrantFruit) return;
         GlobalD.GameData.showToast(cc.find('Canvas/UICamera'), "赠送果实中...", 5);
         //赠送一部分果实
-        GlobalD.GameData.onGrantFruit({ fruitId: this.fruitInfo.id, amount: this.inputAmountValue, address: this.inputAddressValue }, (res, value) => {
+        GlobalD.GameData.onGrantFruit({ fruitId: this.fruitInfo.id, amount: this.inputAmountValue, address: this.inputAddressValue }, (value) => {
             // console.log(value);
             if (value.code === 0) {
                 // let NumLabel = this.upTarget.getComponent("Content_Button").NumLabel.getComponent(cc.Label);

+ 1 - 1
assets/Script/Lease/LeaseInfo.js

@@ -183,7 +183,7 @@ cc.Class({
                 this.AutoGetLandData = () => {
                     GlobalD.GameData.getLandState({
                         landId: _configLandInfo.id,
-                        callback: (res, value) => {
+                        callback: (value) => {
                             console.log("轮询土地数据:" + JSON.stringify(value.msg));
                             if (0 === value.code) {
                                 let _landData = value.data;

+ 2 - 2
assets/Script/Lease/LeaseSaleInfo.js

@@ -92,7 +92,7 @@ cc.Class({
 
         if (GlobalD.GameData.isOnSaleFruit) return;
         GlobalD.GameData.showToast(cc.find('Canvas/UICamera'), "销售果实中...", 5);
-        GlobalD.GameData.onSaleFruit({ fruitId: this.fruitInfo.id, amount: this.inputInviteValue }, (res, value) => {
+        GlobalD.GameData.onSaleFruit({ fruitId: this.fruitInfo.id, amount: this.inputInviteValue }, (value) => {
             // this.isPlayingSnb = false;
             // console.log(value);
             if (value.code === 0) {
@@ -108,7 +108,7 @@ cc.Class({
                 BuildingView.onUpdateList();
 
                 //更新ui snb
-                GlobalD.GameData.onGetUserSnb((res, value) => {
+                GlobalD.GameData.onGetUserSnb((value) => {
                     this.saleAmount.string = parseInt(this.saleAmount.string) - this.inputInviteValue;
                 });
                 // GlobalD.GameData.SetSNB(GlobalD.GameData.GetSNB() + (this.inputInviteValue * this.fruitInfo.priceSnb));

+ 0 - 32
assets/Script/Login/Login.js

@@ -26,7 +26,6 @@ cc.Class({
         //如果不是微信环境
         if (typeof wx === 'undefined') {
             // console.log('cc.sys.platform:', cc.sys.platform);
-            // this.getNetworkUserInfo();
             this.h5();
             return;
         }
@@ -51,37 +50,6 @@ cc.Class({
             // }.bind(this));
         });
     },
-    /**
-     * 获取用户信息
-     */
-    getNetworkUserInfo() {
-
-        //获取公钥和是否开启验证的开关
-        // utils.get(utils.api.publicKeyAndSys, {}, (res, data) => {
-        //     console.log("data:", data);
-        //     utils.setJavaPublicKeyAndSysApiEncrypt(data.data.publicKey, data.data.sysApiEncrypt);
-        // })
-        //第一步需要操作token
-        utils.get(utils.api.loginToken, { loginId: 1 }, (res, value) => {
-            if (value.code == 0) {
-                /** 登录成功获取token */
-                utils.setToken(value.data.token);
-                /** 获取用户数据 */
-                utils.get(utils.api.userInfo, {}, (res, userInfoTemp) => {
-                    // dataManage.setUserInfo(userInfoTemp.data);
-                    console.log("userInfo:", userInfoTemp);
-                    // this.gotoNextScene();
-                })
-                /** 获取角色信息 */
-                utils.get(utils.api.playerInfo, { name: "曹英俊", avatar: "" }, (res, playerInfoTemp) => {
-                    // dataManage.setPlayerInfo(playerInfoTemp.data);
-                    // console.log("playerInfo:", dataManage.playerInfo);
-                    // this.gotoNextScene();
-                })
-            }
-        })
-    },
-
 
     loginButton() {
         let self = this;

+ 11 - 93
assets/Script/Network/dapp.js

@@ -45,7 +45,7 @@ cc.Class({
                         dappInit();
                     }.bind(this));
                 })
-            
+
                 // 获取用户信息 
                 const { err, res } = await dapp.userInfo()
                 if (err === null) {
@@ -74,37 +74,32 @@ cc.Class({
                     //     "timestamp": 1641279989 // 签名时间戳,需要在1分钟内完成验签,否则本次签名失效
                     // };
 
-                    utils.post(utils.api.loginTokenAndVerification, dappLoginData, (res, value) => {
+                    utils.post(utils.api.loginTokenAndVerification, dappLoginData, (flag, value) => {
                         console.log("loginTokenAndVerification========>", value);
-                        if (value.code == 0) {
+                        if (flag && 0 === value.code) {
                             /** 登录成功获取token */
                             utils.setToken(value.data.token);
                             /** 登录时候会获取一次游戏端的 userInfo ,后续可以通过userInfo接口获取 */
                             GlobalD.UserInfo = value.data.userInfo;
                             /** 推送信息 */
-                            utils.get(utils.api.playerPullInfo, {}, (res, playerPullInfoTemp) => {
+                            utils.get(utils.api.playerPullInfo, {}, (flag, playerPullInfoTemp) => {
+                                if(!flag)return;
                                 let _playerData = JSON.parse(playerPullInfoTemp.data.playerData);
                                 //记录读取的数据到内存里面
                                 // 正常游戏
                                 userData.readData = _playerData;
-
                                 // utils.init(GlobalD.Dapp.UserInfo.id, (data) => {
                                 //     console.log('utils ws:' + data);
                                 // }, _self);
-
                                 //需要提前拉取一下土地配置,用于初始化地图土地
-                                utils.get(utils.api.landConfig, {}, (res, value) => {
-                                    if (0 === value.code) {
+                                utils.get(utils.api.landConfig, {}, (flag, value) => {
+                                    if (flag && 0 === value.code) {
                                         GlobalD.ConfigLand = value.data;
-
-                                        utils.get(utils.api.userLandList, {}, (res, value) => {
-                                            // console.log(value.data);
-                                            if (0 === value.code) {
+                                        utils.get(utils.api.userLandList, {}, (flag, value) => {
+                                            if (flag && 0 === value.code) {
                                                 GlobalD.UserLeaseLand = value.data;
-
                                                 //跳转游戏
                                                 cc.find("Canvas").getComponent("Login").loginButton();
-
                                             } else {
                                                 console.warn("读取到用户的土地错误?");
                                             }
@@ -115,40 +110,11 @@ cc.Class({
                                 })
                             })
 
-
-
-
-
                         } else {
-                            console.log(res, value);
+                            console.log(flag, value);
                         }
                     })
 
-                    // utils.get(utils.api.loginToken, { loginId: GlobalD.Dapp.UserInfo.id }, (res, value) => {
-                    //     if (value.code == 0) {
-                    //         /** 登录成功获取token */
-                    //         utils.setToken(value.data.token);
-                    //         /** 推送信息 */
-                    //         utils.get(utils.api.playerPullInfo, {}, (res, playerPullInfoTemp) => {
-                    //             let _playerData = JSON.parse(playerPullInfoTemp.data.playerData);
-                    //             //记录读取的数据到内存里面
-                    //             // 正常游戏
-                    //             userData.readData = _playerData;
-                    //             //跳转游戏
-                    //             cc.find("Canvas").getComponent("Login").loginButton();
-
-                    //             // GameNet.getInstance().init(GlobalD.Dapp.UserInfo.id, (data) => {
-                    //             //     console.log('GameNet:' + data);
-                    //             // }, _self);
-                    //             utils.init(GlobalD.Dapp.UserInfo.id, (data) => {
-                    //                 console.log('utils ws:' + data);
-                    //             }, _self);
-                    //         })
-                    //     } else {
-                    //         console.log(res, value);
-                    //     }
-                    // })
-
                 } else {
                     //TODO 服务错误
                     console.log("dappInit userInfo 错误");
@@ -170,53 +136,5 @@ cc.Class({
         }
         //初始化调用 dappInit;
         dappInit();
-
-        // utils.get(utils.api.loginToken, { loginId: 4 }, (res, value) => {
-        //     console.log(res, value);
-        //     if (value.code == 0) {
-        //         /** 登录成功获取token */
-        //         utils.setToken(value.data.token);
-        //         /** 登录时候会获取一次游戏端的 userInfo ,后续可以通过userInfo接口获取 */
-        //         GlobalD.UserInfo = value.data.userInfo;
-        //         /** 推送信息 */
-        //         utils.get(utils.api.playerPullInfo, {}, (res, playerPullInfoTemp) => {
-        //             let _playerData = JSON.parse(playerPullInfoTemp.data.playerData);
-        //             //记录读取的数据到内存里面
-        //             // 正常游戏
-        //             userData.readData = _playerData;
-        //             //跳转游戏
-        //             cc.find("Canvas").getComponent("Login").loginButton();
-
-        //             // utils.init(4, (data) => {
-        //             //     console.log('utils ws:' + data);
-        //             // }, _self);
-        //         })
-        //         //需要提前拉取一下土地配置,用于初始化地图土地
-        //         utils.get(utils.api.landConfig, {}, (res, value) => {
-        //             if(0 === value.code){
-        //                 GlobalD.ConfigLand = value.data;
-        //             }else{
-        //                 console.warn("未能读取到config土地?");
-        //             }
-        //         })
-
-        //         utils.get(utils.api.userLandList, {}, (res, value) => {
-        //             if(0 === value.code){
-        //                 GlobalD.UserLeaseLand = value.data;
-        //             }else{
-        //                 console.warn("读取到用户的土地错误?");
-        //             }
-        //         })
-
-        //     } else {
-        //         console.log(res, value);
-        //     }
-        // })
-    },
-
-    start() {
-
-    },
-
-    // update (dt) {},
+    }
 });

+ 52 - 6
assets/Script/Network/netUtils.ts

@@ -38,7 +38,7 @@ var utils = {
         landConfig: 'configLand/getList',
         //获取用户已经租赁的土地
         userLandList: 'comPlayerLand/getList',
-        //新增 获取用户可以偷取的列表信息
+        //获取用户可以偷取的列表信息
         canStealUserList: 'comPlayerLand/getCanStealUserList',
 
         //获取土地信息
@@ -59,6 +59,12 @@ var utils = {
         getSeedState: 'comPlayerGoods/getSeedState',
         //收取果实
         addFruit: 'comPlayerGoods/addFruit',
+
+        /**
+         * 偷菜时候,收取对方用户果实
+         */
+        stealFruit: 'comPlayerGoods/stealFruit',
+
         //出售果实
         saleFruit: 'comPlayerGoods/saleFruit',
         //赠送果实
@@ -154,10 +160,30 @@ var utils = {
                         callback(true, _response);
                     notifyCenter.emit("netSuccess", _response);
                 } else {
-                    let _response = response == null?null:JSON.parse(response);
+                    console.error("访问:" + url + "失败!");
+                    let _response = null;
+                    if (typeof response.value == 'string' && !response.value) {
+                        _response = JSON.parse(response);
+                    }
                     if (callback)
                         callback(false, _response);
                     notifyCenter.emit("netError", _response);
+
+                    if (window['GlobalD'].GameData.getToast()) {
+                        GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "网络请求失败!", 1);
+                    } else {
+                        cc.loader.loadRes("prefab/gameToast", (err, texture) => {
+                            let _pause = cc.instantiate(texture);
+                            let _uiCamera = cc.find("Canvas/UICamera");
+                            _pause.parent = _uiCamera ? _uiCamera : cc.find("Canvas");
+                            _pause.zIndex = 999;
+                            let DetailLabel = _pause.getChildByName('DetailLabel');
+                            DetailLabel.getComponent(cc.Label).string = "网络请求失败!";
+                            setTimeout(() => {
+                                _pause.destroy();
+                            }, 1000)
+                        });
+                    }
                 }
             }
         };
@@ -224,12 +250,32 @@ var utils = {
                     notifyCenter.emit("netSuccess", _response);
 
                 } else {
-                    // callback(false, response);
-                    // notifyCenter.emit("netError", JSON.parse(response));
-                    let _response = response == null?null:JSON.parse(response);
+                    console.error("访问:" + url + "失败!");
+                    let _response = null;
+                    if (typeof response.value == 'string' && !response.value) {
+                        _response = JSON.parse(response);
+                    }
                     if (callback)
-                        callback(true, _response);
+                        callback(false, _response);
                     notifyCenter.emit("netError", _response);
+
+                    if (window['GlobalD'].GameData.getToast()) {
+                        GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "网络请求失败!", 1);
+                    } else {
+                        cc.loader.loadRes("prefab/gameToast", (err, texture) => {
+                            let _pause = cc.instantiate(texture);
+                            let _uiCamera = cc.find("Canvas/UICamera");
+                            _pause.parent = _uiCamera ? _uiCamera : cc.find("Canvas");
+                            _pause.zIndex = 999;
+                            let DetailLabel = _pause.getChildByName('DetailLabel');
+                            DetailLabel.getComponent(cc.Label).string = "网络请求失败!";
+                            setTimeout(() => {
+                                _pause.destroy();
+                            }, 1000)
+                        });
+                    }
+
+
                 }
             }
         };

+ 1 - 1
assets/Script/UI/BuildingView.js

@@ -140,7 +140,7 @@ cc.Class({
         // console.log("this.Seed.children2:", this.Seed.children);
 
         //获取种子和果实
-        GlobalD.GameData.getWarehouseSeedAndFruit((res, vaule) => {
+        GlobalD.GameData.getWarehouseSeedAndFruit((vaule) => {
             this.mySeedList = vaule.data.seed;
             this.myFruitList = vaule.data.fruit;
 

+ 1 - 1
assets/Script/UI/ManageSeedNode.js

@@ -186,7 +186,7 @@ cc.Class({
 
         let data = { landId: leaseLandInfo.configLandId, seedId: this.goodsSeedInfo.id };
 
-        GlobalD.GameData.onPlant(data, (res, value) => {
+        GlobalD.GameData.onPlant(data, (value) => {
             //面板种子消耗减少1  
             if (0 === value.code) {
                 console.log('种子减少的类型名字', this.seedName);

+ 6 - 11
assets/Script/UI/StoreView.js

@@ -125,21 +125,17 @@ cc.Class({
         // console.log('SNB=======', GlobalD.GameData.SNB)
         this.snbAmountLabel.string = GlobalD.GameData.SNB;
         //这里也初始化获取一个数据
-        GlobalD.GameData.getWarehouseSeedAndFruit((res, vaule) => {
+        GlobalD.GameData.getWarehouseSeedAndFruit((vaule) => {
             this.myWareHouseSeedList = vaule.data.seed;
         });
         //获取种子和果实
-        GlobalD.GameData.getMallSeed((res, vaule) => {
-            //console.log('vaule111111111=', vaule)
+        GlobalD.GameData.getMallSeed((vaule) => {
             this.mySeedList = vaule.data;
-
-            console.log('this.mySeedList[i]=', this.mySeedList);
+            // console.log('this.mySeedList[i]=', this.mySeedList);
             for (let i = 0; i < this.mySeedList.length; i++) {
                 //没有种子数量不显示 todo 看看后续需不需要处理删除
                 //if (this.mySeedList[i].amount < 1) continue;
-                
                 let _seed = cc.instantiate(this.seedPrefab);
-
                 //if (this.mySeedList[i].amount < 1)
                 if (this.mySeedList[i].amount < 1)
                 {
@@ -148,7 +144,6 @@ cc.Class({
                 else{
                     _seed.getChildByName("SellOut").active = false;
                 }
-
                 // _seed.getChildByName("buy_button").active = true;
                 // _seed.getChildByName("Name").active = false;
                 // _seed.getChildByName("Name").getChildByName("Num").getComponent(cc.Label).strng = '';//'x'+this.mySeedList[i].amount;
@@ -361,7 +356,7 @@ cc.Class({
                             seedId: this.mySeedList[this.buySeedIndex].id,
                             currentAmount: currentAmount //把当前背包的数据传进去
                         },
-                        (res, value) => {
+                        (value) => {
                             console.log("轮询种子:" + JSON.stringify(value));
                             if (0 === value.code) {
                                 this.unschedule(this.AutoGetSeedsData);
@@ -401,10 +396,10 @@ cc.Class({
         GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "支付处理中...", 10);
 
         this.isPlaying = true;
-        GlobalD.GameData.onBuySeedsWithSNB(playAmount, this.mySeedList[this.buySeedIndex].id, (res, value) => {
+        GlobalD.GameData.onBuySeedsWithSNB(playAmount, this.mySeedList[this.buySeedIndex].id, (flag, value) => {
             // console.log("SNB购买后", value);
             this.isPlaying = false;
-            if (0 === value.code) {
+            if (flag && 0 === value.code) {
                 //todo 种子
                 GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "种子购买成功!", 1);
                 // this.PayCNTPopView.active = false;

+ 1 - 7
assets/Script/adpp/userListInfo.js

@@ -76,13 +76,7 @@ cc.Class({
             //处理item
             let _infoScript = this.opt_item_set[i].getComponent("userListInfoItem");
             let _item = this.value_set[i];
-
-            let _temp = {
-                address: _item.address,
-                amount: 0,
-                otherUserId: _item.userId
-            }
-            _infoScript.setInfo(_temp);
+            _infoScript.setInfo({item:_item});
         }
     },
 

+ 15 - 11
assets/Script/adpp/userListInfoItem.js

@@ -16,27 +16,31 @@ cc.Class({
             serializable: true,
         },
 
-        otherUserId: {
-            default: '',
-            visible: false
-        }
+    
+        
+        otherUserItem: {
+            default: null,
+            serializable: false,
+        },
     },
 
     setInfo(context) {
-        let { address, amount, otherUserId } = context;
-        this.listItemAddress.string = address;
-        this.amount.string = amount;
-        this.otherUserId = otherUserId;
+        let { item } = context;
+        this.otherUserItem = item;
+        this.listItemAddress.string = item.address;
+        this.amount.string = 0;
     },
 
     /**
      * 进入其他用户的农场偷菜
      */
     onEnterOtherFarm() {
-        if (this.otherUserId.length <= 0) {
-            console.log('没有用户', this.otherUserId);
+        GlobalD.GameData.OtherUserInfo = this.otherUserItem;
+        if (GlobalD.GameData.OtherUserInfo.length <= 0) {
+            console.log('没有用户', GlobalD.GameData.OtherUserInfo);
         }
-        GlobalD.GameData.getOtherUserLandList(this.otherUserId);
+        GlobalD.GameData.getOtherUserLandList(GlobalD.GameData.OtherUserInfo.userId);
+        
     }
 
 

+ 90 - 43
assets/Script/build/LeaseFarmlandInfo.js

@@ -146,6 +146,12 @@ cc.Class({
             serializable: true,
         },
 
+        stealHarvestNode: {
+            default: null,
+            type: cc.Node,
+            serializable: true,
+        },
+
         isHarvest: false,
 
         /**
@@ -176,11 +182,80 @@ cc.Class({
     onLoad() {
         this._workingBuilding = this.node.getComponent("WorkingBuilding");
         this._buildingView = cc.find("Canvas/UICamera/BuildingContainer/BuildingView").getComponent("BuildingView");
+
     },
 
-    // start() {
+    start() {
+        this.harvestNode.on(cc.Node.EventType.TOUCH_START, () => {
+            if (GlobalD.GameData.isOnAddFruit) return;
+            console.log("点击收获");
+            GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "收获中..", 5);
+            let data = { landId: this.leaseLandInfo.configLandId };
+            //果实收入仓库,重置土地种植信息
+            GlobalD.GameData.onAddFruit(data, (value) => {
+                // console.log(value);
+                if (0 === value.code) {
+                    //收成后处理相关状态
+                    this.harvestNode.active = false;
+                    this.midSliderNode.active = false
+                    this._workingBuilding.onSetGrow(0, null);
+                    //更新仓库列表
+                    this._buildingView.onUpdateList();
+                    // "收获成功!"
+                    GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "收获成功!", 1);
 
-    // },
+                    this.isShowHarvest = false;
+                    this.isShowIndex = 0;
+                    if (this.timeInterval) {
+                        clearInterval(this.timeInterval);
+                        this.timeInterval = null;
+                    }
+                } else if (706 === value.code) {
+                    //土地到期,没有更新刷新的处理刷新
+                    GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), value.msg, 1);
+                    //重置锁定状态显示
+                    this.onLockLand();
+
+                } else {
+                    GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), value.msg, 1);
+                }
+            });
+        })
+
+        this.stealHarvestNode.on(cc.Node.EventType.TOUCH_START, () => {
+            if (GlobalD.GameData.isOnAddFruit) return;
+            console.log("点击收获");
+            GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "收获中..", 5);
+            let data = { otherLandId: this.leaseLandInfo.configLandId, otherUserId: GlobalD.GameData.OtherUserInfo.userId };
+            //果实收入仓库,重置土地种植信息
+            GlobalD.GameData.onStealFruit(data, (value) => {
+                console.log(value);
+                if (0 === value.code) {
+                    //收成后处理相关状态
+                    this.stealHarvestNode.active = false;
+                    //更新仓库列表
+                    this._buildingView.onUpdateList();
+                    // "收获成功!"
+                    GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "收获成功!", 1);
+
+                    this.isShowHarvest = false;
+                    this.isShowIndex = 0;
+                    if (this.timeInterval) {
+                        clearInterval(this.timeInterval);
+                        this.timeInterval = null;
+                    }
+                } else if (706 === value.code) {
+                    //土地到期,没有更新刷新的处理刷新
+                    GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), value.msg, 1);
+                    //重置锁定状态显示
+                    this.onLockLand();
+
+                } else {
+                    GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), value.msg, 1);
+                }
+            });
+        })
+    },
 
     onSpawnLeasePanel() {
 
@@ -257,6 +332,8 @@ cc.Class({
         this.midSliderNode.active = false;
         this.harvestNode.active = false;
 
+        this.stealHarvestNode.active = false;
+
         //重置土地图片
         this._workingBuilding.onSetGrow(0, null);
     },
@@ -420,6 +497,8 @@ cc.Class({
                             //如果是自己的,显示收成
                             if (bSelf) {
                                 this.onShowHarvest();
+                            }else{
+                                this.onShowStealHarvest();
                             }
                         } else {
                             let _maturityHour = this.leaseLandInfo.seedInfo.maturity * 24
@@ -500,7 +579,7 @@ cc.Class({
     onCheckLand(configLandId) {
         GlobalD.GameData.getLandState({
             landId: configLandId,
-            callback: (res, value) => {
+            callback: (value) => {
                 console.log("检查土地数据:" + JSON.stringify(value.msg));
                 //这里只判断土地是否过期
                 if (706 === value.code) {
@@ -522,48 +601,16 @@ cc.Class({
     onShowHarvest() {
         this.harvestNode.active = true;
 
-        this.harvestNode.on(cc.Node.EventType.TOUCH_START, () => {
-            //限制点击多次
-            // if (this.isHarvest) return;
-            // this.isHarvest = true;
-            if (GlobalD.GameData.isOnAddFruit) return;
-            console.log("点击收获");
-            GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "收获中..", 5);
-            let data = { landId: this.leaseLandInfo.configLandId };
-            //果实收入仓库,重置土地种植信息
-            GlobalD.GameData.onAddFruit(data, (res, value) => {
-                // console.log(value);
-                if (0 === value.code) {
-                    //收成后处理相关状态
-                    this.harvestNode.active = false;
-                    this.midSliderNode.active = false
-                    this._workingBuilding.onSetGrow(0, null);
-                    //更新仓库列表
-                    this._buildingView.onUpdateList();
-                    // "收获成功!"
-                    GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "收获成功!", 1);
-
-                    this.isShowHarvest = false;
-                    this.isShowIndex = 0;
-                    if (this.timeInterval) {
-                        clearInterval(this.timeInterval);
-                        this.timeInterval = null;
-                    }
-                } else if (706 === value.code) {
-                    //土地到期,没有更新刷新的处理刷新
-                    GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), value.msg, 1);
-                    //重置锁定状态显示
-                    this.onLockLand();
-
-                } else {
-                    GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), value.msg, 1);
-                }
-                //处理信息后开放
-                // this.isHarvest = false;
-            });
-        })
+    },
 
 
+    /**
+     * 场景有多个收获预制时候,用GameData限制
+     * 点击之后,偷取果实
+     * 需要防多次触发
+     */
+    onShowStealHarvest() {
+        this.stealHarvestNode.active = true;
     },
 
     onDestroy() {

+ 81 - 48
assets/Script/public/GameData.js

@@ -969,7 +969,7 @@ cc.Class({
             data["playerData"] = JSON.stringify(datas);
 
             /** 推送信息 */
-            utils.post(utils.api.playerPushInfo, data, (res, playerPushInfoTemp) => {
+            utils.post(utils.api.playerPushInfo, data, (flag, playerPushInfoTemp) => {
                 // console.log('playerPushInfoTemp');
             })
         } else {
@@ -994,18 +994,22 @@ cc.Class({
         //先暂停存储
         this.unschedule(this.AutoSaveData);
 
-        utils.post(utils.api.exchangeSeeds, { diamondAmount: diamondAmount, seedId: 8 }, (res, value) => {
-            console.log("兑换种子", value.code, value.msg);
-            //兑换成功后
-            if (0 === value.code) {
-                //更新一次数据
-                let _playerData = JSON.parse(value.data.playerData);
-                console.log("兑换后的钻石:", _playerData.Diamond);
-                //更新本地钻石数据
-                this.SetDiamond(_playerData.Diamond, false);
+        utils.post(utils.api.exchangeSeeds, { diamondAmount: diamondAmount, seedId: 8 }, (flag, value) => {
+            console.log("兑换flag", flag);
+            if (flag) {
+                console.log("兑换种子", value.code, value.msg);
+                //兑换成功后
+                if (0 === value.code) {
+                    //更新一次数据
+                    let _playerData = JSON.parse(value.data.playerData);
+                    console.log("兑换后的钻石:", _playerData.Diamond);
+                    //更新本地钻石数据
+                    this.SetDiamond(_playerData.Diamond, false);
 
+                }
+                callback(value);
             }
-            callback(res, value);
+
             this.isExchangeSeed = false;
             //重新开启存储
             this.schedule(this.AutoSaveData, 15);
@@ -1015,9 +1019,10 @@ cc.Class({
      * 获取是否租赁过的状态
      */
     getPlayerExchangeState(callback) {
-        utils.get(utils.api.playerExchangeState, {}, (res, value) => {
+        utils.get(utils.api.playerExchangeState, {}, (flag, value) => {
             console.log("租赁状态:", value);
-            callback(res, value);
+            if (flag)
+                callback(flag, value);
         })
     },
 
@@ -1025,8 +1030,8 @@ cc.Class({
      * 暂时不需要从这里读取
      */
     getLandConfig() {
-        utils.get(utils.api.landConfig, {}, (res, value) => {
-            if (0 === value.code) {
+        utils.get(utils.api.landConfig, {}, (flag, value) => {
+            if (flag && 0 === value.code) {
                 this.ConfigLand = value.data;
             } else {
                 console.warn("未能读取到config土地?");
@@ -1035,8 +1040,8 @@ cc.Class({
     },
     //获取自己全部租赁土地
     getSelfUserLandList(callback) {
-        utils.get(utils.api.userLandList, {}, (res, value) => {
-            if (0 === value.code) {
+        utils.get(utils.api.userLandList, {}, (flag, value) => {
+            if (flag && 0 === value.code) {
                 GlobalD.UserLeaseLand = value.data;
                 if (callback)
                     callback();
@@ -1047,9 +1052,9 @@ cc.Class({
     },
     //获取用户全部租赁土地
     getOtherUserLandList(otherUserId, callback) {
-        utils.get(utils.api.userLandList, { otherUserId: otherUserId }, (res, value) => {
+        utils.get(utils.api.userLandList, { otherUserId: otherUserId }, (flag, value) => {
             console.log(otherUserId + ",获取其他用户土地数据:", value);
-            if (0 === value.code) {
+            if (flag && 0 === value.code) {
                 GlobalD.OtherLeaseland = value.data;
                 //todo 获取数据成功,进入切换流程,设置 false,处理其他用户对应的土地
                 this.ManageUI.getComponent('ManageBuildings').spawnConfigLand(GlobalD.OtherLeaseland, false);
@@ -1071,8 +1076,8 @@ cc.Class({
     },
     //获取用户可以偷取的列表
     onGetCanStealUserList(page, limit, callback) {
-        utils.get(utils.api.canStealUserList, { page: page, limit: limit }, (res, value) => {
-            if (0 === value.code) {
+        utils.get(utils.api.canStealUserList, { page: page, limit: limit }, (flag, value) => {
+            if (flag && 0 === value.code) {
                 if (callback)
                     callback(value.data);
             } else {
@@ -1086,9 +1091,9 @@ cc.Class({
 
     onGetSnbInfoList(page, limit, callback) {
 
-        utils.get(utils.api.snbList, { page: page, limit: limit }, (res, value) => {
+        utils.get(utils.api.snbList, { page: page, limit: limit }, (flag, value) => {
             // console.log("snb操作日志", value);
-            if (0 === value.code) {
+            if (flag && 0 === value.code) {
                 if (callback)
                     callback(value.data);
             } else {
@@ -1103,34 +1108,39 @@ cc.Class({
     //获取用户已租赁土地的状态
     getLandState(context) {
         let { landId, callback } = context;
-        utils.get(utils.api.landState, { landId: landId }, (res, vaule) => {
-            callback(res, vaule);
+        utils.get(utils.api.landState, { landId: landId }, (flag, value) => {
+            if (flag)
+                callback(value);
         })
     },
     //获取商城种子
     getMallSeed(callback) {
-        utils.get(utils.api.mallSeed, {}, (res, vaule) => {
-            callback(res, vaule);
+        utils.get(utils.api.mallSeed, {}, (flag, value) => {
+            if (flag)
+                callback(value);
         })
     },
 
     getWarehouseSeedAndFruit(callback) {
-        utils.get(utils.api.getSeedAndFruit, {}, (res, vaule) => {
-            callback(res, vaule);
+        utils.get(utils.api.getSeedAndFruit, {}, (flag, value) => {
+            if (flag)
+                callback(value);
         })
     },
     //获取种子状态
     onGetSeedState(data, callback) {
-        utils.get(utils.api.getSeedState, data, (res, vaule) => {
-            callback(res, vaule);
+        utils.get(utils.api.getSeedState, data, (flag, value) => {
+            if (flag)
+                callback(value);
         })
     },
 
     //种植种子
     // data:{landId:1,seedId:1}
     onPlant(data, callback) {
-        utils.get(utils.api.plant, data, (res, vaule) => {
-            callback(res, vaule);
+        utils.get(utils.api.plant, data, (flag, value) => {
+            if (flag)
+                callback(value);
         })
     },
 
@@ -1141,9 +1151,24 @@ cc.Class({
             return;
         }
         this.isOnAddFruit = true;
-        utils.post(utils.api.addFruit, data, (res, vaule) => {
+        utils.post(utils.api.addFruit, data, (flag, value) => {
             this.isOnAddFruit = false;
-            callback(res, vaule);
+            if (flag)
+                callback(value);
+        })
+    },
+
+    //偷取用户果实
+    onStealFruit(data, callback) {
+        if (this.isOnAddFruit) {
+            console.log("偷取果实过快!");
+            return;
+        }
+        this.isOnAddFruit = true;
+        utils.post(utils.api.stealFruit, data, (flag, value) => {
+            this.isOnAddFruit = false;
+            if (flag)
+                callback(value);
         })
     },
 
@@ -1154,9 +1179,10 @@ cc.Class({
             return;
         }
         this.isOnSaleFruit = true;
-        utils.post(utils.api.saleFruit, data, (res, vaule) => {
+        utils.post(utils.api.saleFruit, data, (flag, value) => {
             this.isOnSaleFruit = false;
-            callback(res, vaule);
+            if (flag)
+                callback(value);
         })
     },
 
@@ -1167,25 +1193,29 @@ cc.Class({
             return;
         }
         this.isOnGrantFruit = true;
-        utils.post(utils.api.grantFruit, data, (res, vaule) => {
+        utils.post(utils.api.grantFruit, data, (flag, value) => {
             this.isOnGrantFruit = false;
-            callback(res, vaule);
+            if (flag)
+                callback(value);
         })
     },
 
     //神农呗购买种子
     onBuySeedsWithSNB(snbAmount, seedId, callback) {
-        utils.post(utils.api.snbBuySeeds, { payAmount: snbAmount, seedId: seedId }, (res, vaule) => {
-            callback(res, vaule);
+        utils.post(utils.api.snbBuySeeds, { payAmount: snbAmount, seedId: seedId }, (flag, value) => {
+            //callback里面处理flag判断
+            callback(flag, value);
         })
     },
 
     //获取用户的snb
     onGetUserSnb(callback) {
-        utils.get(utils.api.userSnbInfo, {}, (res, value) => {
-            GlobalD.GameData.SetSNB(value.data.SNB);
-            if (callback)
-                callback(res, value);
+        utils.get(utils.api.userSnbInfo, {}, (flag, value) => {
+            if (flag) {
+                GlobalD.GameData.SetSNB(value.data.SNB);
+            }
+            if (flag && callback)
+                callback(value);
         })
     },
 
@@ -1396,9 +1426,9 @@ cc.Class({
     //获取 snb 流水日志
     onGetSnbInfoList(page, limit, callback) {
 
-        utils.get(utils.api.snbList, { page: page, limit: limit }, (res, value) => {
+        utils.get(utils.api.snbList, { page: page, limit: limit }, (flag, value) => {
             // console.log("snb操作日志", value);
-            if (0 === value.code) {
+            if (flag && 0 === value.code) {
                 if (callback)
                     callback(value.data);
             } else {
@@ -1426,7 +1456,10 @@ cc.Class({
         }
         this.toastEndTime--;
     },
-
+    //获取一个toast
+    getToast(){
+        return this.toast;
+    },
     showToast(parent, content, time, callback) {
         if (callback) {
             this.toastCallback = callback;

+ 2 - 0
assets/Script/public/Globals.js

@@ -17,6 +17,8 @@ window.GlobalD = {
     UserLeaseLand:null,
     //其他用户已租赁的土地
     OtherLeaseland:null,
+    //其他用户信息
+    OtherUserInfo:null,
 
     //保存数据的脚本
     GameData: null,

+ 1 - 1
assets/Script/public/ManageUI.js

@@ -617,7 +617,7 @@ cc.Class({
   onButtonEvent_ExchangeChili() {
     let diamonAmount = 30000
     //调用兑换接口
-    GlobalD.GameData.exchangeSeed(diamonAmount, (res, value) => {
+    GlobalD.GameData.exchangeSeed(diamonAmount, (value) => {
       //兑换成功
       if (0 === value.code) {
         var BuildingView = cc