|
|
@@ -56,8 +56,8 @@ class BishengService:
|
|
|
data = self._check_response(response)
|
|
|
return data.get('public_key')
|
|
|
|
|
|
- async def get_chat_sessions(self, token: str) -> list:
|
|
|
- url = f"{self.base_url}/api/v1/chat/list?page=1&limit=40"
|
|
|
+ async def get_chat_sessions(self, token: str, page: int = 1, limit: int=100) -> list:
|
|
|
+ url = f"{self.base_url}/api/v1/chat/list?page={page}&limit={limit}"
|
|
|
headers = {'cookie': f"access_token_cookie={token};"}
|
|
|
async with httpx.AsyncClient() as client:
|
|
|
response = await client.get(url, headers=headers)
|
|
|
@@ -70,6 +70,8 @@ class BishengService:
|
|
|
"updated_time": int(datetime.strptime(item["update_time"], "%Y-%m-%dT%H:%M:%S").timestamp() * 1000)
|
|
|
}
|
|
|
for item in data
|
|
|
+ if
|
|
|
+ "latest_message" in item and "message" in item["latest_message"] and item["latest_message"]["message"]
|
|
|
]
|
|
|
return result
|
|
|
|
|
|
@@ -85,13 +87,13 @@ class BishengService:
|
|
|
response.raise_for_status()
|
|
|
data = self._check_response(response)
|
|
|
session_log = [
|
|
|
- {
|
|
|
- "message": message.get("message"),
|
|
|
- "role": message.get("category"),
|
|
|
- "ts": message.get("create_time")
|
|
|
- }
|
|
|
- for message in data
|
|
|
- ]
|
|
|
+ {
|
|
|
+ "message": message.get("message"),
|
|
|
+ "role": message.get("category"),
|
|
|
+ "ts": message.get("create_time")
|
|
|
+ }
|
|
|
+ for message in data
|
|
|
+ ]
|
|
|
|
|
|
# 把session_log 按ts 升序排序
|
|
|
session_log.sort(key=lambda x: x['ts'])
|