Issues (4)

ck_fmapp.py (2 issues)

1
# -*- coding: utf-8 -*-
2
"""
3
cron: 30 14 * * *
4
new Env('Fa米家');
5
"""
6
7
import requests
8
9
from notify_mtr import send
10
from utils import get_data
11
12
13
class FMAPP:
14
    def __init__(self, check_items):
15
        self.check_items = check_items
16
17 View Code Duplication
    @staticmethod
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
18
    def sign(headers):
19
        try:
20
            url = (
21
                "https://fmapp.chinafamilymart.com.cn/api/app/market/member/signin/sign"
22
            )
23
            res = requests.post(url, headers=headers).json()
24
            if res.get("code") == "200":
25
                data = res.get("data", {})
26
                msg = (
27
                    f"再坚持 {data.get('nextDay')} 天即可获得 {data.get('nextNumber')} 个发米粒\n"
28
                    f"签到 {data.get('lastDay')} 天可获得 {data.get('lastNumber')} 个发米粒"
29
                )
30
            else:
31
                msg = res.get("message")
32
        except Exception as e:
33
            print("错误信息", e)
34
            msg = f"未知错误:{e}"
35
        return msg
36
37 View Code Duplication
    @staticmethod
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
38
    def user_info(headers):
39
        try:
40
            url = "https://fmapp.chinafamilymart.com.cn/api/app/member/info"
41
            res = requests.post(url, headers=headers).json()
42
            if res.get("code") == "200":
43
                msg = res.get("data", {}).get("nickName")
44
            else:
45
                msg = res.get("message")
46
        except Exception as e:
47
            print("错误信息", e)
48
            msg = "未知错误,检查日志"
49
        return msg
50
51
    @staticmethod
52
    def mili_count(headers):
53
        try:
54
            url = "https://fmapp.chinafamilymart.com.cn/api/app/member/v1/mili/service/detail"
55
            res = requests.post(
56
                url, headers=headers, json={"pageSize": 10, "pageNo": 1}
57
            ).json()
58
            if res.get("code") == "200":
59
                msg = res.get("data", {}).get("miliNum")
60
            else:
61
                msg = res.get("message")
62
        except Exception as e:
63
            print("错误信息", e)
64
            msg = "未知错误,检查日志"
65
        return msg
66
67
    def main(self):
68
        msg_all = ""
69
        for check_item in self.check_items:
70
            token = check_item.get("token")
71
            cookie = check_item.get("cookie")
72
            blackbox = check_item.get("blackbox")
73
            device_id = check_item.get("device_id")
74
            fmversion = check_item.get("fmversion", "2.2.3")
75
            os = check_item.get("os", "ios")
76
            useragent = check_item.get("useragent", "Fa")
77
            headers = {
78
                "Accept": "*/*",
79
                "Accept-Language": "zh-Hans;q=1.0",
80
                "Accept-Encoding": "br;q=1.0, gzip;q=0.9, deflate;q=0.8",
81
                "Host": "fmapp.chinafamilymart.com.cn",
82
                "Content-Type": "application/json",
83
                "loginChannel": "app",
84
                "token": token,
85
                "fmVersion": fmversion,
86
                "deviceId": device_id,
87
                "User-Agent": useragent,
88
                "os": os,
89
                "cookie": cookie,
90
                "blackBox": blackbox,
91
            }
92
            sign_msg = self.sign(headers)
93
            name_msg = self.user_info(headers)
94
            mili_msg = self.mili_count(headers)
95
            msg = f"帐号信息: {name_msg}\n签到状态: {sign_msg}\n米粒数量: {mili_msg}"
96
            msg_all += msg + "\n\n"
97
        return msg_all
98
99
100
if __name__ == "__main__":
101
    _data = get_data()
102
    _check_items = _data.get("FMAPP", [])
103
    result = FMAPP(check_items=_check_items).main()
104
    send("Fa米家", result)
105