From 859f4c089c1aac7e8219096f10aa9fd454a7ec60 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 08 三月 2019 17:32:13 +0800
Subject: [PATCH] 6328 【后端】优化代码eval -还原部分cPickle 无法应用与数据库存储,保留部分传输解析

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
index 3da6842..ae14d3b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
@@ -32,7 +32,6 @@
 import ChConfig
 
 import time
-import cPickle
 import json
 
 ViewCacheMgr = GameWorld.GameWorldData.GetPlayerViewCacheMgr()
@@ -86,7 +85,7 @@
     
     # 同步更新助战信息
     if PlayerFBHelpBattle.IsInHelpBattleCheckInList(PlayerID):
-        PropDataDict = cPickle.loads(PropData)
+        PropDataDict = eval(PropData)
         fightPower = PropDataDict.get("FightPower", 0)
         familyID = PropDataDict.get("FamilyID", 0)
         playerName = PropDataDict.get("Name", "")
@@ -215,11 +214,11 @@
         sendPack.PlusDataSize = len(sendPack.PlusData)
     else:
         #成功回包 缓存数据
-        sendPack.PropData = json.dumps(cPickle.loads(curCache.GetPropData()), ensure_ascii=False)
+        sendPack.PropData = curCache.GetPropData()
         sendPack.PropDataSize = len(sendPack.PropData)
-        sendPack.ItemData = json.dumps(cPickle.loads(GetItemData(curCache)), ensure_ascii=False)
+        sendPack.ItemData = GetItemData(curCache)
         sendPack.ItemDataSize = len(sendPack.ItemData)
-        sendPack.PlusData = json.dumps(cPickle.loads(GetPlusData(curCache)), ensure_ascii=False)
+        sendPack.PlusData = GetPlusData(curCache)
         sendPack.PlusDataSize = len(sendPack.PlusData)
         
     NetPackCommon.SendFakePack(curPlayer, sendPack)
@@ -237,7 +236,7 @@
         return
     
     playerEquipList = []
-    equipItemList = cPickle.loads(itemData)
+    equipItemList = eval(itemData)
     for equipItemDict in equipItemList:
         equipIndex = equipItemDict["ItemIndex"]
         if equipIndex not in ShareDefine.RoleEquipType:
@@ -277,7 +276,7 @@
             answerPack.OnlineType = ChConfig.Def_Offline
             answerPack.ServerGroupID = 0
         else:
-            cacheDict = cPickle.loads(curCache.GetPropData())
+            cacheDict = eval(curCache.GetPropData())
     
             answerPack.PlayerID = clientPack.PlayerID
             answerPack.PlayerName = cacheDict["Name"]
@@ -306,12 +305,12 @@
     curCache = ViewCacheMgr.FindCache(playerID)
     if not curCache:
         return
-    PropData = cPickle.loads(curCache.GetPropData())
+    PropData = eval(curCache.GetPropData())
     PropData["FamilyID"] = familyID
     PropData["FamilyName"] = familyName
     playerLV = PropData["LV"]
     
-    PropData = cPickle.dumps(PropData, 2)
+    PropData = json.dumps(PropData, ensure_ascii=False)
     ItemData = GetItemData(curCache)
     PlusData = GetPlusData(curCache)
     UpdatePlayerCache(playerID, PropData, ItemData, PlusData, True if playerLV > 150 else False)  

--
Gitblit v1.8.0