mirror of https://github.com/yuxian158/check.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
3.7 KiB
101 lines
3.7 KiB
3 years ago
|
# -*- coding: utf-8 -*-
|
||
|
import json
|
||
|
import requests
|
||
|
from getENV import getENv
|
||
|
from checksendNotify import send
|
||
|
|
||
|
|
||
|
class FMAPPCheckIn:
|
||
|
def __init__(self, check_item):
|
||
|
self.check_item = check_item
|
||
|
|
||
|
@staticmethod
|
||
|
def sign(headers):
|
||
|
try:
|
||
|
url = "https://fmapp.chinafamilymart.com.cn/api/app/market/member/signin/sign"
|
||
|
response = requests.post(url=url, headers=headers).json()
|
||
|
code = response.get("code")
|
||
|
if code == "200":
|
||
|
data = response.get("data", {})
|
||
|
msg = (
|
||
|
f"在坚持{data.get('nextDay')}天即可获得{data.get('nextNumber')}个发米粒\n"
|
||
|
f"签到{data.get('lastDay')}天可获得{data.get('lastNumber')}个发米粒"
|
||
|
)
|
||
|
else:
|
||
|
msg = response.get("message")
|
||
|
except Exception as e:
|
||
|
print("错误信息", str(e))
|
||
|
msg = "未知错误,检查日志"
|
||
|
return msg
|
||
|
|
||
|
@staticmethod
|
||
|
def user_info(headers):
|
||
|
try:
|
||
|
url = "https://fmapp.chinafamilymart.com.cn/api/app/member/info"
|
||
|
response = requests.post(url=url, headers=headers).json()
|
||
|
code = response.get("code")
|
||
|
if code == "200":
|
||
|
data = response.get("data", {})
|
||
|
msg = data.get("nickName")
|
||
|
else:
|
||
|
msg = response.get("message")
|
||
|
except Exception as e:
|
||
|
print("错误信息", str(e))
|
||
|
msg = "未知错误,检查日志"
|
||
|
return msg
|
||
|
|
||
|
@staticmethod
|
||
|
def mili_count(headers):
|
||
|
try:
|
||
|
url = "https://fmapp.chinafamilymart.com.cn/api/app/member/v1/mili/service/detail"
|
||
|
response = requests.post(url=url, headers=headers, data=json.dumps({"pageSize": 10, "pageNo": 1})).json()
|
||
|
code = response.get("code")
|
||
|
if code == "200":
|
||
|
data = response.get("data", {})
|
||
|
msg = data.get("miliNum")
|
||
|
else:
|
||
|
msg = response.get("message")
|
||
|
except Exception as e:
|
||
|
print("错误信息", str(e))
|
||
|
msg = "未知错误,检查日志"
|
||
|
return msg
|
||
|
|
||
|
def main(self):
|
||
|
fmapp_token = self.check_item.get("fmapp_token")
|
||
|
fmapp_cookie = self.check_item.get("fmapp_cookie")
|
||
|
fmapp_blackbox = self.check_item.get("fmapp_blackbox")
|
||
|
fmapp_device_id = self.check_item.get("fmapp_device_id")
|
||
|
fmapp_fmversion = self.check_item.get("fmapp_fmversion", "2.2.3")
|
||
|
fmapp_os = self.check_item.get("fmapp_os", "ios")
|
||
|
fmapp_useragent = self.check_item.get("fmapp_useragent", "Fa")
|
||
|
headers = {
|
||
|
"Accept": "*/*",
|
||
|
"Accept-Language": "zh-Hans;q=1.0",
|
||
|
"Accept-Encoding": "br;q=1.0, gzip;q=0.9, deflate;q=0.8",
|
||
|
"Host": "fmapp.chinafamilymart.com.cn",
|
||
|
"Content-Type": "application/json",
|
||
|
"loginChannel": "app",
|
||
|
"token": fmapp_token,
|
||
|
"fmVersion": fmapp_fmversion,
|
||
|
"deviceId": fmapp_device_id,
|
||
|
"User-Agent": fmapp_useragent,
|
||
|
"os": fmapp_os,
|
||
|
"cookie": fmapp_cookie,
|
||
|
"blackBox": fmapp_blackbox,
|
||
|
}
|
||
|
sign_msg = self.sign(headers=headers)
|
||
|
name_msg = self.user_info(headers=headers)
|
||
|
mili_msg = self.mili_count(headers=headers)
|
||
|
msg = f"帐号信息: {name_msg}\n签到状态: {sign_msg}\n米粒数量: {mili_msg}"
|
||
|
return msg
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
getENv()
|
||
|
with open("/ql/config/check.json", "r", encoding="utf-8") as f:
|
||
|
datas = json.loads(f.read())
|
||
|
_check_item = datas.get("FMAPP_ACCOUNT_LIST", [])[0]
|
||
|
res = FMAPPCheckIn(check_item=_check_item).main()
|
||
|
print(res)
|
||
|
send("米家APP", res)
|