コード例 #1
0
    def Level_Info(self) -> Tuple[int, str, int]:
        """
        Level -> int
        等级、段位、全国排名

        :return: Tuple[int, str, int]
        """
        self.Get.Get_Level()
        return (USER_INFO().Level, USER_INFO().Level_Name,
                USER_INFO().Rank_Accumulate_In_Country)
コード例 #2
0
    def __init__(self, token: str):
        """
        GET_INFO(token: str)
        初始化

        :param token: 令牌
        """
        self.__cookie = {'token': token}
        self.__info = USER_INFO()
        self._Init_Info()
コード例 #3
0
    def Id(self) -> int:
        """
        Id - > int
        用户ID

        :return: int
        """
        return USER_INFO().User_Id
コード例 #4
0
    def Task_Bar(self) -> Dict[int, TASK_INFO]:
        """
        Task_Bar -> Dict[int, TASK_INFO]
        任务进度

        :return: Dict[int, TASK_INFO]
        """
        self.Get.Get_Task_Bar()
        return USER_INFO().Task_Bar
コード例 #5
0
    def Daily_Score(self) -> float:
        """
        Daily_Score -> float
        每日积分

        :return: float
        """
        self.Get.Get_Daily_Score()
        return USER_INFO().Daily_Score
コード例 #6
0
    def Aggregate_Score(self) -> float:
        """
        Aggregate_Score -> float
        总积分

        :return: float
        """
        self.Get.Get_Aggregate_Score()
        return USER_INFO().Aggregate_Score
コード例 #7
0
class GET_INFO(metaclass=SINGLETON):
    """获取信息类"""
    def __init__(self, token: str):
        """
        GET_INFO(token: str)
        初始化

        :param token: 令牌
        """
        self.__cookie = {'token': token}
        self.__info = USER_INFO()
        self._Init_Info()

    def _Init_Info(self) -> None:
        """
        _Init_Info() -> None
        初始化用户id

        :return: None
        """
        while True:
            try:
                html = REQUESTS().Get(url=API().Aggregate_Score.geturl(),
                                      cookies=self.__cookie)
                data = html.json()
                self.__info.User_Id = data['data']['userId']
                break
            except TypeError:
                continue

    def Get_Aggregate_Score(self) -> None:
        """
        Get_Aggregate_Score() -> None
        获取总积分

        :return: None
        """
        while True:
            try:
                html = REQUESTS().Get(url=API().Aggregate_Score.geturl(),
                                      cookies=self.__cookie)
                data = html.json()
                self.__info.Aggregate_Score = data['data']['score']
                break
            except TypeError:
                continue

    def Get_Level(self) -> None:
        """
        Get_Level() -> None
        获取等级

        :return: None
        """
        while True:
            try:
                html = REQUESTS().Get(url=API().Level.geturl(),
                                      cookies=self.__cookie)
                data = html.json()
                self.__info.Level = data['data']['level']
                self.__info.Level_Name = data['data']['levelName']
                self.__info.Rank_Accumulate_In_Country = \
                    data['data']['rankAccumulateInCountry']
                break
            except TypeError:
                continue

    def Get_Daily_Score(self) -> None:
        """
        Get_Daily_Score() -> None
        获取每日积分

        :return: None
        """
        while True:
            try:
                html = REQUESTS().Get(url=API().Daily_Score.geturl(),
                                      cookies=self.__cookie)
                data = html.json()
                self.__info.Daily_Score = data['data']['score']
                break
            except TypeError:
                continue

    def Get_Task_Bar(self) -> None:
        """
        Get_Task_Bar() -> None
        获取任务进度

        :return: None
        """
        while True:
            try:
                html = REQUESTS().Get(url=API().Task_Bar.geturl(),
                                      cookies=self.__cookie)
                data = html.json()
                for rule in data['data']['dayScoreDtos']:
                    task = self.__info.Task_Bar.get(rule['ruleId'])
                    if not task:
                        ruleId = rule['ruleId']
                        name = rule['name']
                        desc = rule['desc']
                        currentScore = rule['currentScore']
                        dayMaxScore = rule['dayMaxScore']
                        task = TASK_INFO(ruleId=ruleId,
                                         name=name,
                                         desc=desc,
                                         currentScore=currentScore,
                                         dayMaxScore=dayMaxScore)
                    else:
                        task.Current_Score = rule['currentScore']
                    self.__info.Update_Task_Bar_Info(task_info=task)
                break
            except TypeError:
                continue