MCPcopy
hub / github.com/smallfawn/QLScriptPublic / wocare_api

Method wocare_api

daily/chinaUnicom.py:1002–1046  ·  view source on GitHub ↗
(self, apiCode, requestData={})

Source from the content-addressed store, hash-verified

1000 return body
1001
1002 def wocare_api(self, apiCode, requestData={}):
1003 try:
1004 url = f"https://wocare.unisk.cn/api/v1/{apiCode}"
1005 body = self.get_wocare_body(apiCode, requestData)
1006 res = self.request("post", url, data=body)
1007 if not res: return None
1008 result = res.json()
1009 if result.get("messageContent"):
1010 try:
1011 content = result["messageContent"]
1012 content = content.replace('\n', '').replace('\r', '').replace(' ', '')
1013 content = content.replace('-', '+').replace('_', '/')
1014 missing_padding = len(content) % 4
1015 if missing_padding:
1016 content += '=' * (4 - missing_padding)
1017 try:
1018 decoded_bytes = base64.b64decode(content)
1019 decoded_str = decoded_bytes.decode('utf-8')
1020 except UnicodeDecodeError:
1021 decoded_str = decoded_bytes.decode('utf-8', errors='replace')
1022 except Exception as e:
1023 decoded_str = "{}"
1024 try:
1025 decoded = json.loads(decoded_str, strict=False)
1026 except:
1027 decoded_str = re.sub(r'[\x00-\x1f\x7f]', '', decoded_str)
1028 try:
1029 decoded = json.loads(decoded_str, strict=False)
1030 except:
1031 decoded = {}
1032 if isinstance(decoded, dict):
1033 if "data" in decoded:
1034 result["data"] = decoded["data"]
1035 else:
1036 result["data"] = decoded
1037 if "resultMsg" in decoded:
1038 result["resultMsg"] = decoded["resultMsg"]
1039 if "resultCode" in decoded:
1040 result["resultCode"] = decoded["resultCode"]
1041 except Exception as e:
1042 self.log(f"联通祝福: 解析返回失败: {str(e)}")
1043 return result
1044 except Exception as e:
1045 self.log(f"wocare_api 异常: {str(e)}")
1046 return None
1047
1048 def wocare_getToken(self, ticket):
1049 try:

Callers 6

wocare_loginmbhMethod · 0.95
wocare_getDrawTaskMethod · 0.95
wocare_completeTaskMethod · 0.95
wocare_loadInitMethod · 0.95
wocare_luckDrawMethod · 0.95

Calls 4

get_wocare_bodyMethod · 0.95
requestMethod · 0.95
logMethod · 0.95
getMethod · 0.45

Tested by

no test coverage detected