刷新Token余额 Returns: credits
(self, token_id: int)
| 1058 | # ========== 余额刷新 ========== |
| 1059 | |
| 1060 | async def refresh_credits(self, token_id: int) -> int: |
| 1061 | """刷新Token余额 |
| 1062 | |
| 1063 | Returns: |
| 1064 | credits |
| 1065 | """ |
| 1066 | token = await self.db.get_token(token_id) |
| 1067 | if not token: |
| 1068 | return 0 |
| 1069 | |
| 1070 | # 确保AT有效 |
| 1071 | token = await self.ensure_valid_token(token) |
| 1072 | if not token: |
| 1073 | return 0 |
| 1074 | |
| 1075 | try: |
| 1076 | result = await self.flow_client.get_credits(token.at) |
| 1077 | credits = result.get("credits", 0) |
| 1078 | user_paygate_tier = result.get("userPaygateTier") |
| 1079 | |
| 1080 | # 更新数据库 |
| 1081 | await self.db.update_token( |
| 1082 | token_id, |
| 1083 | credits=credits, |
| 1084 | user_paygate_tier=user_paygate_tier, |
| 1085 | ) |
| 1086 | |
| 1087 | return credits |
| 1088 | except Exception as e: |
| 1089 | debug_logger.log_error(f"Failed to refresh credits for token {token_id}: {str(e)}") |
| 1090 | return 0 |
no test coverage detected