From ba52d7ac92a36f413eacaa686f8535e859664ec6 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 28 八月 2023 09:45:11 +0800
Subject: [PATCH] bug修改

---
 third_data/kpl_api.py |  122 +++++++++++++++++++++++++++++-----------
 1 files changed, 87 insertions(+), 35 deletions(-)

diff --git a/third_data/kpl_api.py b/third_data/kpl_api.py
index ea86177..b6625e4 100644
--- a/third_data/kpl_api.py
+++ b/third_data/kpl_api.py
@@ -2,66 +2,118 @@
 
 import requests
 
+from utils import middle_api_protocol
+
+
+# 绔炰环
+DABAN_TYPE_BIDDING = 8
+# 娑ㄥ仠
+DABAN_TYPE_LIMIT_UP = 1
+# 鐐告澘
+DABAN_TYPE_OPEN_LIMIT_UP = 2
+# 璺屽仠
+DABAN_TYPE_LIMIT_DOWN = 3
+# 鏇捐穼鍋�
+DABAN_TYPE_EVER_LIMIT_DOWN = 5
+
 
 def __base_request(url, data):
-    headers = {
-        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
-        "User-Agent": "Dalvik / 2.1.0(Linux;U;Android 6.0.1;MuMu Build/V417IR)"
-    }
-    # proxies={'https': '192.168.3.251:9002'}
-    # 绂佹浠g悊锛屼笉鐒朵細璧版湰鍦颁唬鐞�
-    response = requests.post(url, data=data, headers=headers, proxies={"http": None, "https": None})
-    return response
+    DELEGATE = True
+    if not DELEGATE:
+        headers = {
+            "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
+            "User-Agent": "Dalvik / 2.1.0(Linux;U;Android 6.0.1;MuMu Build/V417IR)"
+        }
+        # proxies={'https': '192.168.3.251:9002'}
+        # 绂佹浠g悊锛屼笉鐒朵細璧版湰鍦颁唬鐞�
+        response = requests.post(url, data=data, headers=headers, proxies={"http": None, "https": None})
+        if response.status_code != 200:
+            raise Exception("璇锋眰鍑洪敊")
+        return response.text
+    else:
+        fdata = middle_api_protocol.load_kpl(url, data)
+        return middle_api_protocol.request(fdata)
+
+
+def daBanList(pidType):
+    data = "Order=1&a=DaBanList&st=100&c=HomeDingPan&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23" \
+           f"&VerSion=5.8.0.2&Index=0&Is_st=1&PidType={pidType}&apiv=w32&Type=4&FilterMotherboard=0&Filter=0&FilterTIB=0" \
+           "&FilterGem=0 "
+    result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
+    return result
+
+
+# 甯傚満琛屾儏-琛屼笟
+def getMarketIndustryRealRankingInfo(orderJingE_DESC=True):
+    data = f"Order={1 if orderJingE_DESC else 0}&a=RealRankingInfo&st=20&apiv=w32&Type=5&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index=0&ZSType=4&"
+    result = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
+                            data=data)
+    return result
+
+
+# 甯傚満琛屾儏-绮鹃��
+def getMarketJingXuanRealRankingInfo(orderJingE_DESC=True):
+    data = f"Order={1 if orderJingE_DESC else 0}&a=RealRankingInfo&st=20&apiv=w32&Type=5&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index=0&ZSType=7&"
+    result = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
+                            data=data)
+    return result
 
 
 # 鑾峰彇浠g爜鐨勬澘鍧�
 def getStockIDPlate(code):
     data = f"a=GetStockIDPlate_New&apiv=w32&c=StockL2Data&StockID={code}&PhoneOSNew=1&UserID=0&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Token=0&"
-    response = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
-                              data=data)
-    if response.status_code != 200:
-        raise Exception("璇锋眰鍑洪敊")
-    result = response.text
+    result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
     result = json.loads(result)
     if int(result["errcode"]) != 0:
         return None
-    return result["ListJX"]
+    return result["ListJX"] if result["ListJX"] else result["List"]
+
 
 # 鑾峰彇姒傚康浠g爜
 def getCodesByPlate(plate_code):
     data = f"Order=1&a=ZhiShuStockList_W8&st=30&c=ZhiShuRanking&PhoneOSNew=1&old=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&IsZZ=0&Token=0&Index=0&apiv=w32&Type=6&IsKZZType=0&UserID=0&PlateID={plate_code}&"
-    response = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
-                              data=data)
-    if response.status_code != 200:
-        raise Exception("璇锋眰鍑洪敊")
-    return response.text
+    return __base_request("https://apphq.longhuvip.com/w1/api/index.php",
+                          data=data)
 
 
 # 鑾峰彇姒傚康涓殑鏉垮潡寮哄害
 def getSonPlate(plate_code):
     data = f"a=SonPlate_Info&apiv=w32&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&PlateID={plate_code}&"
-    response = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
-    if response.status_code != 200:
-        raise Exception("璇锋眰鍑洪敊")
-    return response.text
+    return __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
 
 
 # 甯傚満琛屾儏-琛屼笟
 def getMarketIndustryRealRankingInfo(orderJingE_DESC=True):
-    data = f"Order={ 1 if orderJingE_DESC else 0}&a=RealRankingInfo&st=80&apiv=w32&Type=5&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index=0&ZSType=4&"
-    response = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
-                              data=data)
-    if response.status_code != 200:
-        raise Exception("璇锋眰鍑洪敊")
-    return response.text
+    data = f"Order={1 if orderJingE_DESC else 0}&a=RealRankingInfo&st=80&apiv=w32&Type=5&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index=0&ZSType=4&"
+    return __base_request("https://apphq.longhuvip.com/w1/api/index.php",
+                          data=data)
 
 
 # 甯傚満琛屾儏-绮鹃��
 def getMarketJingXuanRealRankingInfo(orderJingE_DESC=True):
-    data = f"Order={ 1 if orderJingE_DESC else 0}&a=RealRankingInfo&st=80&apiv=w32&Type=5&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index=0&ZSType=7&"
-    response = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
-                              data=data)
-    if response.status_code != 200:
-        raise Exception("璇锋眰鍑洪敊")
-    return response.text
+    data = f"Order={1 if orderJingE_DESC else 0}&a=RealRankingInfo&st=80&apiv=w32&Type=5&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index=0&ZSType=7&"
+    return __base_request("https://apphq.longhuvip.com/w1/api/index.php",
+                          data=data)
 
+
+# 鑾峰彇浠g爜鐨勭簿閫夋澘鍧�
+# 杩斿洖鏍煎紡锛歔(鏉垮潡浠g爜,鏉垮潡鍚嶇О,娑ㄥ箙鐧惧垎姣�)]
+def getCodeJingXuanBlocks(code):
+    data = f"a=GetStockIDPlate&apiv=w32&Type=2&c=StockL2Data&StockID={code}&PhoneOSNew=1&UserID=0&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Token=0&"
+    result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
+    result = json.loads(result)
+    return result.get("ListJX")
+
+
+# 鑾峰彇鑷敱娴侀�氬競鍊�
+def getZYLTAmount(code):
+    data = f"a=GetStockPanKou_Narrow&apiv=w32&c=StockL2Data&VerSion=5.8.0.2&State=1&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&StockID={code}&"
+    result = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
+    result = json.loads(result)
+    if "real" in result:
+        return result["real"].get("actualcirculation_value")
+    return None
+
+
+if __name__ == "__main__":
+    print(getStockIDPlate("000333"))

--
Gitblit v1.8.0